From 9d437e23e6252c501c1a8d130fa7b92a2e7ae9a5 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch Date: Wed, 3 Jan 2018 01:09:31 +0100 Subject: [PATCH 001/255] Set active class in mod_articles_categories when SEF is off (#19197) * Set active class in mod_articles_categories when SEF is off * Use a better approach * Remove redundant white character --- modules/mod_articles_categories/tmpl/default_items.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/mod_articles_categories/tmpl/default_items.php b/modules/mod_articles_categories/tmpl/default_items.php index fbae85902ef57..adc8eaa3346d5 100644 --- a/modules/mod_articles_categories/tmpl/default_items.php +++ b/modules/mod_articles_categories/tmpl/default_items.php @@ -9,8 +9,13 @@ defined('_JEXEC') or die; +$input = JFactory::getApplication()->input; +$option = $input->getCmd('option'); +$view = $input->getCmd('view'); +$id = $input->getInt('id'); + foreach ($list as $item) : ?> -
  • id))) echo ' class="active"'; ?>> level - $startLevel - 1; ?> + id && $view == 'category' && $option == 'com_content') echo ' class="active"'; ?>> level - $startLevel - 1; ?> get('item_heading') + $levelup; ?>> title; ?> From 671cdc24d4271ac695b3023a35fdef8750ffc09d Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc Date: Wed, 3 Jan 2018 07:09:55 +0700 Subject: [PATCH 002/255] Fix warning on JHtmlMenu::treerecurse method on PHP 7.2 (#19193) --- libraries/cms/html/menu.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libraries/cms/html/menu.php b/libraries/cms/html/menu.php index 27b982ebcc89e..5bd4d22de9a03 100644 --- a/libraries/cms/html/menu.php +++ b/libraries/cms/html/menu.php @@ -351,7 +351,7 @@ public static function linkOptions($all = false, $unassigned = false, $clientId */ public static function treerecurse($id, $indent, $list, &$children, $maxlevel = 9999, $level = 0, $type = 1) { - if ($level <= $maxlevel && @$children[$id]) + if ($level <= $maxlevel && isset($children[$id]) && is_array($children[$id])) { if ($type) { @@ -379,8 +379,16 @@ public static function treerecurse($id, $indent, $list, &$children, $maxlevel = $list[$id] = $v; $list[$id]->treename = $indent . $txt; - $list[$id]->children = count(@$children[$id]); - $list = static::treerecurse($id, $indent . $spacer, $list, $children, $maxlevel, $level + 1, $type); + + if (isset($children[$id]) && is_array($children[$id])) + { + $list[$id]->children = count($children[$id]); + $list = static::treerecurse($id, $indent . $spacer, $list, $children, $maxlevel, $level + 1, $type); + } + else + { + $list[$id]->children = 0; + } } } From 5e1d013eb0251f03fbd12c87370a8d19676bc4b2 Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Wed, 3 Jan 2018 01:10:24 +0100 Subject: [PATCH 003/255] [install] - remove Notice: Undefined property: stdClass::$class (#19164) maybe not the perfect fix --- layouts/joomla/form/field/radio.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/layouts/joomla/form/field/radio.php b/layouts/joomla/form/field/radio.php index 82f87fdb0c5ad..040a02dd14fe0 100644 --- a/layouts/joomla/form/field/radio.php +++ b/layouts/joomla/form/field/radio.php @@ -64,9 +64,10 @@ $option) : ?> value === $value) ? 'checked="checked"' : ''; - $disabled = !empty($option->disable) ? 'disabled' : ''; - $style = $disabled ? 'style="pointer-events: none"' : ''; + $checked = ((string) $option->value === $value) ? 'checked="checked"' : ''; + $disabled = !empty($option->disable) ? 'disabled' : ''; + $style = $disabled ? 'style="pointer-events: none"' : ''; + $option->class = !empty($option->class) ? $option->class : ''; $option->class = trim($option->class . ' ' . $disabled); $optionClass = !empty($option->class) ? 'class="' . $option->class . '"' : ''; From 0dc572cabcaa7d7bb9b5c4c467e9b105af82a6f4 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Wed, 3 Jan 2018 00:12:00 +0000 Subject: [PATCH 004/255] Profile plugin fields can be left empty when required on admin edit (#19141) * Profile plugin fields can be left empty when required on admin edit ## Steps to reproduce the issue Enable profile plugin. set fields to required for site and admin edit. We used Phone, Company, and website in our test. ## Expected result Profile plugin fields are required during admin edit. ## Actual result Can save profile during admin edit when profile plugin fields are empty. After this PR the fields set to required are marked with a * and have the class required PR for #14805 * tab * oops * oops (reverted from commit 3ec6bd05cf9e51acbdc9f7165cf3c692c4ecd908) --- plugins/user/profile/profile.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/user/profile/profile.php b/plugins/user/profile/profile.php index 3190fc9807064..ce937a32002ac 100644 --- a/plugins/user/profile/profile.php +++ b/plugins/user/profile/profile.php @@ -299,8 +299,13 @@ public function onContentPrepareForm($form, $data) // Case using the users manager in admin if ($name === 'com_users.user') { + // Toggle whether the field is required. + if ($this->params->get('profile-require_' . $field, 1) > 0) + { + $form->setFieldAttribute($field, 'required', ($this->params->get('profile-require_' . $field) == 2) ? 'required' : '', 'profile'); + } // Remove the field if it is disabled in registration and profile - if ($this->params->get('register-require_' . $field, 1) == 0 + elseif ($this->params->get('register-require_' . $field, 1) == 0 && $this->params->get('profile-require_' . $field, 1) == 0) { $form->removeField($field, 'profile'); From 20424c41baf86463f9263363f82beb2dbd849816 Mon Sep 17 00:00:00 2001 From: Ruud Date: Wed, 3 Jan 2018 01:12:56 +0100 Subject: [PATCH 005/255] com_redirect modal close button check in fix (#19116) * com_redirect modal close check in fix * Add corect button type to buttons --- .../com_redirect/views/links/tmpl/default.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_redirect/views/links/tmpl/default.php b/administrator/components/com_redirect/views/links/tmpl/default.php index 6e185baa2ce04..199d0a6d2f40f 100644 --- a/administrator/components/com_redirect/views/links/tmpl/default.php +++ b/administrator/components/com_redirect/views/links/tmpl/default.php @@ -29,8 +29,8 @@ 'bootstrap.renderModal', 'plugin' . $this->redirectPluginId . 'Modal', array( - 'url' => $link, - 'title' => JText::_('COM_REDIRECT_EDIT_PLUGIN_SETTINGS'), + 'url' => $link, + 'title' => JText::_('COM_REDIRECT_EDIT_PLUGIN_SETTINGS'), 'height' => '400px', 'width' => '800px', 'bodyHeight' => '70', @@ -38,11 +38,12 @@ 'closeButton' => false, 'backdrop' => 'static', 'keyboard' => false, - 'footer' => '' - . '' + . '' - . '' ) ); ?> @@ -169,4 +170,3 @@ - From d0688686669d344d8d0a4c87d55611eff4b74d4d Mon Sep 17 00:00:00 2001 From: Tomasz Narloch Date: Wed, 3 Jan 2018 01:14:24 +0100 Subject: [PATCH 006/255] Do not add default or active Itemid to every link without own menu item (#19099) * Do not add default or active Itemid to every link without own menu item * Allow to login when there is no menu item for login page and home page is restricted * Correctly redirect user to preferred site language association * Fix link for com_users login form --- .../src/Component/Router/Rules/MenuRules.php | 20 +++---- libraries/src/Router/SiteRouter.php | 18 +----- modules/mod_login/tmpl/default.php | 4 +- .../system/languagefilter/languagefilter.php | 55 +++++++++++-------- templates/beez3/html/mod_login/default.php | 4 +- templates/protostar/offline.php | 4 +- templates/system/offline.php | 4 +- .../rules/JComponentRouterRulesMenuTest.php | 8 +-- .../libraries/cms/router/JRouterSiteTest.php | 18 ------ 9 files changed, 50 insertions(+), 85 deletions(-) diff --git a/libraries/src/Component/Router/Rules/MenuRules.php b/libraries/src/Component/Router/Rules/MenuRules.php index 973d01095c252..467074704f72d 100644 --- a/libraries/src/Component/Router/Rules/MenuRules.php +++ b/libraries/src/Component/Router/Rules/MenuRules.php @@ -156,20 +156,16 @@ public function preprocess(&$query) } } - // Check if the active menuitem matches the requested language - if ($active && $active->component === 'com_' . $this->router->getName() - && ($language === '*' || in_array($active->language, array('*', $language)) || !\JLanguageMultilang::isEnabled())) + // If there is no view and task in query then add the default item id + if (!isset($query['view']) && !isset($query['task'])) { - $query['Itemid'] = $active->id; - return; - } - - // If not found, return language specific home link - $default = $this->router->menu->getDefault($language); + // If not found, return language specific home link + $default = $this->router->menu->getDefault($language); - if (!empty($default->id)) - { - $query['Itemid'] = $default->id; + if (!empty($default->id)) + { + $query['Itemid'] = $default->id; + } } } diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index 3653222cf0006..b9845fa92e253 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -707,26 +707,14 @@ protected function createUri($url) if ($itemid === null) { - if ($option = $uri->getVar('option')) + if (!$uri->getVar('option')) { - $item = $this->menu->getItem($this->getVar('Itemid')); + $option = $this->getVar('option'); - if ($item !== null && $item->component === $option) - { - $uri->setVar('Itemid', $item->id); - } - } - else - { - if ($option = $this->getVar('option')) + if ($option) { $uri->setVar('option', $option); } - - if ($itemid = $this->getVar('Itemid')) - { - $uri->setVar('Itemid', $itemid); - } } } else diff --git a/modules/mod_login/tmpl/default.php b/modules/mod_login/tmpl/default.php index fcd3b1c962c94..5ea82c8cbc019 100644 --- a/modules/mod_login/tmpl/default.php +++ b/modules/mod_login/tmpl/default.php @@ -15,7 +15,7 @@ JHtml::_('bootstrap.tooltip'); ?> -
    + get('pretext')) : ?>
  • - - diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 2019b139e1e98..a40de1d8faa50 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -597,7 +597,6 @@ public function onUserLogin($user, $options = array()) { if ($this->params->get('automatic_change', 1)) { - $assoc = JLanguageAssociations::isEnabled(); $lang_code = $user['language']; // If no language is specified for this user, we set it to the site default language @@ -617,11 +616,38 @@ public function onUserLogin($user, $options = array()) $lang_code = $this->current_lang; } + $foundAssociation = false; + + $assoc = JLanguageAssociations::isEnabled(); + + // If association is enabled + if ($assoc) + { + // Retrieves the Itemid from a login form. + $uri = new JUri($this->app->getUserState('users.login.form.return')); + + // Get Itemid from SEF or home page + $query = $this->app::getRouter()->parse($uri); + + // Check, if the login form contains a menu item redirection. + if (!empty($query['Itemid'])) + { + // Try to get associations from that menu item. + $associations = MenusHelper::getAssociations($query['Itemid']); + + // If any association set to the user preferred site language, redirect to that page. + if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) + { + $associationItemid = $associations[$lang_code]; + $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); + $foundAssociation = true; + } + } + } + // Try to get association from the current active menu item $active = $menu->getActive(); - $foundAssociation = false; - /** * Looking for associations. * If the login menu item form contains an internal URL redirection, @@ -629,33 +655,14 @@ public function onUserLogin($user, $options = array()) * In that case we use the redirect as defined in the menu item. * Otherwise we redirect, when available, to the user preferred site language. */ - if ($active && !$active->params['login_redirect_url']) + if (!$foundAssociation && $active && !$active->params['login_redirect_url']) { if ($assoc) { $associations = MenusHelper::getAssociations($active->id); } - // Retrieves the Itemid from a login form. - $uri = new JUri($this->app->getUserState('users.login.form.return')); - - if ($uri->getVar('Itemid')) - { - // The login form contains a menu item redirection. Try to get associations from that menu item. - // If any association set to the user preferred site language, redirect to that page. - if ($assoc) - { - $associations = MenusHelper::getAssociations($uri->getVar('Itemid')); - } - - if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) - { - $associationItemid = $associations[$lang_code]; - $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); - $foundAssociation = true; - } - } - elseif (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) + if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) { /** * The login form does not contain a menu item redirection. diff --git a/templates/beez3/html/mod_login/default.php b/templates/beez3/html/mod_login/default.php index 77af148d0d2af..9dcac1fe54983 100644 --- a/templates/beez3/html/mod_login/default.php +++ b/templates/beez3/html/mod_login/default.php @@ -12,7 +12,7 @@ JHtml::_('behavior.keepalive'); ?> - + get('pretext')) : ?>

    get('pretext'); ?>

    @@ -49,8 +49,6 @@

    - -
    - +
    @@ -131,8 +131,6 @@ - -
    diff --git a/templates/system/offline.php b/templates/system/offline.php index 80a03fa6d4b45..0988bc12aeda6 100644 --- a/templates/system/offline.php +++ b/templates/system/offline.php @@ -58,7 +58,7 @@

    - +

    @@ -77,8 +77,6 @@

    - -
    diff --git a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php index 5d0307b3d590b..4225cf0a11663 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php @@ -164,13 +164,13 @@ public function casesPreprocess() $cases[] = array(array('option' => 'com_content', 'view' => 'article', 'id' => '42', 'catid' => '22', 'lang' => 'en-GB'), array('option' => 'com_content', 'view' => 'article', 'id' => '42', 'catid' => '22', 'lang' => 'en-GB', 'Itemid' => '49')); - // Check non-existing menu link + // Check non-existing menu link with a key $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42'), - array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'Itemid' => '49')); + array('option' => 'com_content', 'view' => 'categories', 'id' => '42')); - // Check indirect link to a single view behind a nested view with a key and language + // Check non-existing menu link with a key and language $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB'), - array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB', 'Itemid' => '49')); + array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB')); // Check if a query with existing Itemid that is not the current active menu-item is not touched $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'Itemid' => '99'), diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index 3128233d2b795..a3f79af20de3d 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -1265,24 +1265,6 @@ public function casesCreateUri() 'preset' => array('option' => 'com_test'), 'expected' => 'index.php?var1=value1&option=com_test' ), - // Check if a URL with no Itemid and no option, but globally set Itemid is added the Itemid - array( - 'url' => 'index.php?var1=value1', - 'preset' => array('Itemid' => '42'), - 'expected' => 'index.php?var1=value1&Itemid=42' - ), - // Check if a URL without an Itemid, but with an option set and a global Itemid available, which fits the option of the menu item gets the Itemid appended - array( - 'url' => 'index.php?var1=value&option=com_test', - 'preset' => array('Itemid' => '42'), - 'expected' => 'index.php?var1=value&option=com_test&Itemid=42' - ), - // Check if a URL without an Itemid, but with an option set and a global Itemid available, which does not fit the option of the menu item gets returned identically - array( - 'url' => 'index.php?var1=value&option=com_test3', - 'preset' => array('Itemid' => '42'), - 'expected' => 'index.php?var1=value&option=com_test3' - ), ); } From 4660a36d3a20f1e1c6143ba9d2c3b458522371e1 Mon Sep 17 00:00:00 2001 From: Quy Date: Tue, 2 Jan 2018 16:15:13 -0800 Subject: [PATCH 007/255] Fix Undefined index: JHtmlBootstrap::startAccordion / JHtmlBootstrap::startTabSet (#18573) * Fix Undefined index: JHtmlBootstrap::startAccordion * coding style --- components/com_contact/views/contact/tmpl/default.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/components/com_contact/views/contact/tmpl/default.php b/components/com_contact/views/contact/tmpl/default.php index 5a7cf32f71e69..d3c5103a07753 100644 --- a/components/com_contact/views/contact/tmpl/default.php +++ b/components/com_contact/views/contact/tmpl/default.php @@ -143,6 +143,17 @@ get('show_links')) : ?> + + + 'display-links')); ?> + + + + + 'display-links')); ?> + + + loadTemplate('links'); ?> From b79a87abce18eb11a96807415d74139b2a801ae0 Mon Sep 17 00:00:00 2001 From: Tony Partridge Date: Wed, 3 Jan 2018 00:16:40 +0000 Subject: [PATCH 008/255] =?UTF-8?q?Fix=20Joomla!=20search=20highlighting?= =?UTF-8?q?=20when=20including=20chars=20like=20)=20(.=20Create=E2=80=A6?= =?UTF-8?q?=20(#18522)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix Joomla! search highlighting when including chars like ) (. Created an additional function based from the already working code for the description text * changed naming * removed silly content prepare copy/paste. * trying to make drone happy * trying to make drone happy * trying to make drone happy * trying to make drone happy * Update view.html.php * Update view.html.php * Update view.html.php Updated thanks to @quy and @ggppdk comments. * Tweaks to method doc block. thanks @Quy --- .../com_search/views/search/view.html.php | 227 ++++++++++-------- 1 file changed, 123 insertions(+), 104 deletions(-) diff --git a/components/com_search/views/search/view.html.php b/components/com_search/views/search/view.html.php index c58fbbc5b6b05..a69fe65968f22 100644 --- a/components/com_search/views/search/view.html.php +++ b/components/com_search/views/search/view.html.php @@ -138,11 +138,6 @@ public function display($tpl = null) $total = $this->get('total'); $pagination = $this->get('pagination'); - $hl1 = ''; - $hl2 = ''; - $mbString = extension_loaded('mbstring'); - $highlighterLen = strlen($hl1 . $hl2); - if ($state->get('match') === 'exact') { $searchWords = array($searchWord); @@ -162,103 +157,10 @@ public function display($tpl = null) for ($i = 0, $count = count($results); $i < $count; ++$i) { - $row = &$results[$i]->text; - - // Doing HTML entity decoding here, just in case we get any HTML entities here. - $quoteStyle = version_compare(PHP_VERSION, '5.4', '>=') ? ENT_NOQUOTES | ENT_HTML401 : ENT_NOQUOTES; - $row = html_entity_decode($row, $quoteStyle, 'UTF-8'); - $row = SearchHelper::prepareSearchContent($row, $needle); - $searchWords = array_values(array_unique($searchWords)); - $lowerCaseRow = $mbString ? mb_strtolower($row) : StringHelper::strtolower($row); - - $transliteratedLowerCaseRow = SearchHelper::remove_accents($lowerCaseRow); - - $posCollector = array(); - - foreach ($searchWords as $highlightWord) - { - $found = false; - - if ($mbString) - { - $lowerCaseHighlightWord = mb_strtolower($highlightWord); - - if (($pos = mb_strpos($lowerCaseRow, $lowerCaseHighlightWord)) !== false) - { - $found = true; - } - elseif (($pos = mb_strpos($transliteratedLowerCaseRow, $lowerCaseHighlightWord)) !== false) - { - $found = true; - } - } - else - { - $lowerCaseHighlightWord = StringHelper::strtolower($highlightWord); - - if (($pos = StringHelper::strpos($lowerCaseRow, $lowerCaseHighlightWord)) !== false) - { - $found = true; - } - elseif (($pos = StringHelper::strpos($transliteratedLowerCaseRow, $lowerCaseHighlightWord)) !== false) - { - $found = true; - } - } - - if ($found === true) - { - // Iconv transliterates '€' to 'EUR' - // TODO: add other expanding translations? - $eur_compensation = $pos > 0 ? substr_count($row, "\xE2\x82\xAC", 0, $pos) * 2 : 0; - $pos -= $eur_compensation; - - // Collect pos and search-word - $posCollector[$pos] = $highlightWord; - } - } - - if (count($posCollector)) - { - // Sort by pos. Easier to handle overlapping highlighter-spans - ksort($posCollector); - $cnt = 0; - $lastHighlighterEnd = -1; - - foreach ($posCollector as $pos => $highlightWord) - { - $pos += $cnt * $highlighterLen; - - /* - * Avoid overlapping/corrupted highlighter-spans - * TODO $chkOverlap could be used to highlight remaining part - * of search-word outside last highlighter-span. - * At the moment no additional highlighter is set. - */ - $chkOverlap = $pos - $lastHighlighterEnd; - - if ($chkOverlap >= 0) - { - // Set highlighter around search-word - if ($mbString) - { - $highlightWordLen = mb_strlen($highlightWord); - $row = mb_substr($row, 0, $pos) . $hl1 . mb_substr($row, $pos, $highlightWordLen) - . $hl2 . mb_substr($row, $pos + $highlightWordLen); - } - else - { - $highlightWordLen = StringHelper::strlen($highlightWord); - $row = StringHelper::substr($row, 0, $pos) - . $hl1 . StringHelper::substr($row, $pos, StringHelper::strlen($highlightWord)) - . $hl2 . StringHelper::substr($row, $pos + StringHelper::strlen($highlightWord)); - } - - $cnt++; - $lastHighlighterEnd = $pos + $highlightWordLen + $highlighterLen; - } - } - } + $rowTitle = &$results[$i]->title; + $rowTitleHighLighted = $this->highLight($rowTitle, $needle, $searchWords); + $rowText = &$results[$i]->text; + $rowTextHighLighted = $this->highLight($rowText, $needle, $searchWords); $result = &$results[$i]; $created = ''; @@ -268,8 +170,8 @@ public function display($tpl = null) $created = JHtml::_('date', $result->created, JText::_('DATE_FORMAT_LC3')); } - $result->title = preg_replace("/\b($needle)\b/ui", $hl1 . "$1" . $hl2, htmlspecialchars($result->title, ENT_COMPAT, 'UTF-8')); - $result->text = JHtml::_('content.prepare', $result->text, '', 'com_search.search'); + $result->title = $rowTitleHighLighted; + $result->text = JHtml::_('content.prepare', $rowTextHighLighted, '', 'com_search.search'); $result->created = $created; $result->count = $i + 1; } @@ -300,4 +202,121 @@ public function display($tpl = null) parent::display($tpl); } + + /** + * Method to control the highlighting of keywords + * + * @param string $string text to be searched + * @param string $needle text to search for + * @param string $searchWords words to be searched + * + * @return mixed A string. + * + * @since __DEPLOY_VERSION__ + */ + public function highLight($string, $needle, $searchWords) + { + $hl1 = ''; + $hl2 = ''; + $mbString = extension_loaded('mbstring'); + $highlighterLen = strlen($hl1 . $hl2); + + // Doing HTML entity decoding here, just in case we get any HTML entities here. + $quoteStyle = version_compare(PHP_VERSION, '5.4', '>=') ? ENT_NOQUOTES | ENT_HTML401 : ENT_NOQUOTES; + $row = html_entity_decode($string, $quoteStyle, 'UTF-8'); + $row = SearchHelper::prepareSearchContent($row, $needle); + $searchWords = array_values(array_unique($searchWords)); + $lowerCaseRow = $mbString ? mb_strtolower($row) : StringHelper::strtolower($row); + + $transliteratedLowerCaseRow = SearchHelper::remove_accents($lowerCaseRow); + + $posCollector = array(); + + foreach ($searchWords as $highlightWord) + { + $found = false; + + if ($mbString) + { + $lowerCaseHighlightWord = mb_strtolower($highlightWord); + + if (($pos = mb_strpos($lowerCaseRow, $lowerCaseHighlightWord)) !== false) + { + $found = true; + } + elseif (($pos = mb_strpos($transliteratedLowerCaseRow, $lowerCaseHighlightWord)) !== false) + { + $found = true; + } + } + else + { + $lowerCaseHighlightWord = StringHelper::strtolower($highlightWord); + + if (($pos = StringHelper::strpos($lowerCaseRow, $lowerCaseHighlightWord)) !== false) + { + $found = true; + } + elseif (($pos = StringHelper::strpos($transliteratedLowerCaseRow, $lowerCaseHighlightWord)) !== false) + { + $found = true; + } + } + + if ($found === true) + { + // Iconv transliterates '€' to 'EUR' + // TODO: add other expanding translations? + $eur_compensation = $pos > 0 ? substr_count($row, "\xE2\x82\xAC", 0, $pos) * 2 : 0; + $pos -= $eur_compensation; + + // Collect pos and search-word + $posCollector[$pos] = $highlightWord; + } + } + + if (count($posCollector)) + { + // Sort by pos. Easier to handle overlapping highlighter-spans + ksort($posCollector); + $cnt = 0; + $lastHighlighterEnd = -1; + + foreach ($posCollector as $pos => $highlightWord) + { + $pos += $cnt * $highlighterLen; + + /* + * Avoid overlapping/corrupted highlighter-spans + * TODO $chkOverlap could be used to highlight remaining part + * of search-word outside last highlighter-span. + * At the moment no additional highlighter is set. + */ + $chkOverlap = $pos - $lastHighlighterEnd; + + if ($chkOverlap >= 0) + { + // Set highlighter around search-word + if ($mbString) + { + $highlightWordLen = mb_strlen($highlightWord); + $row = mb_substr($row, 0, $pos) . $hl1 . mb_substr($row, $pos, $highlightWordLen) + . $hl2 . mb_substr($row, $pos + $highlightWordLen); + } + else + { + $highlightWordLen = StringHelper::strlen($highlightWord); + $row = StringHelper::substr($row, 0, $pos) + . $hl1 . StringHelper::substr($row, $pos, StringHelper::strlen($highlightWord)) + . $hl2 . StringHelper::substr($row, $pos + StringHelper::strlen($highlightWord)); + } + + $cnt++; + $lastHighlighterEnd = $pos + $highlightWordLen + $highlighterLen; + } + } + } + + return $row; + } } From cd1852cb1752005cfc2c09e19959d47851e9c493 Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Wed, 3 Jan 2018 01:17:34 +0100 Subject: [PATCH 009/255] [ChangeItem] - the check query should return array instead of object - PHP 7.2 (#18443) * [ChangeItem] - the check query shuold return array instead of object * add unique --- libraries/src/Schema/ChangeItem.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Schema/ChangeItem.php b/libraries/src/Schema/ChangeItem.php index 670dc23acbd0d..71c7eecb31202 100644 --- a/libraries/src/Schema/ChangeItem.php +++ b/libraries/src/Schema/ChangeItem.php @@ -196,7 +196,7 @@ public function check() try { - $rows = $this->db->loadObject(); + $rows = $this->db->loadRowList(0); } catch (\RuntimeException $e) { From 05fd1d9f12ea62960f1ea921663fa4877994e538 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch Date: Wed, 3 Jan 2018 14:01:56 +0100 Subject: [PATCH 010/255] Fix parser error in plugin languagefilter on php5 (#19268) * Fix parser error in plugin languagefilter on php5 * We don't need to explicitly call this statically --- plugins/system/languagefilter/languagefilter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index a40de1d8faa50..539e4b6fa6f2b 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -627,7 +627,7 @@ public function onUserLogin($user, $options = array()) $uri = new JUri($this->app->getUserState('users.login.form.return')); // Get Itemid from SEF or home page - $query = $this->app::getRouter()->parse($uri); + $query = $this->app->getRouter()->parse($uri); // Check, if the login form contains a menu item redirection. if (!empty($query['Itemid'])) From 30274531e18ff54bba3e650a9b4aee4d8947337a Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sat, 6 Jan 2018 08:40:05 +0000 Subject: [PATCH 011/255] Typo on comment (#19294) itterate should be iterate as can be seen in the unchanged comments Can be merged on review as its only a comment but fixing it does make finding the comments easier --- libraries/src/Filter/InputFilter.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/src/Filter/InputFilter.php b/libraries/src/Filter/InputFilter.php index 239712b65b702..bff39766445c6 100644 --- a/libraries/src/Filter/InputFilter.php +++ b/libraries/src/Filter/InputFilter.php @@ -156,7 +156,7 @@ public function clean($source, $type = 'string') { $result = array(); - // Itterate through the array + // Iterate through the array foreach ($source as $eachString) { preg_match($pattern, (string) $eachString, $matches); @@ -177,7 +177,7 @@ public function clean($source, $type = 'string') { $result = array(); - // Itterate through the array + // Iterate through the array foreach ($source as $eachString) { preg_match($pattern, (string) $eachString, $matches); @@ -199,7 +199,7 @@ public function clean($source, $type = 'string') { $result = array(); - // Itterate through the array + // Iterate through the array foreach ($source as $eachString) { preg_match($pattern, (string) $eachString, $matches); @@ -357,7 +357,7 @@ public function clean($source, $type = 'string') { $result = array(); - // Itterate through the array + // Iterate through the array foreach ($source as $eachString) { preg_match($pattern, (string) $eachString, $matches); From b8d6e90a482e039cf06ddcaa19556e6cd954aac7 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sat, 6 Jan 2018 20:57:58 +0000 Subject: [PATCH 012/255] helpTOC cli script (#19315) The CLI script was importing the namespace classes twice and therefore producing a fatal error --- build/helpTOC.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/helpTOC.php b/build/helpTOC.php index 9cc91153cbfe6..48617f731e829 100644 --- a/build/helpTOC.php +++ b/build/helpTOC.php @@ -40,9 +40,6 @@ // Load the admin en-GB.ini language file to get the JHELP language keys Factory::getLanguage()->load('joomla', JPATH_ADMINISTRATOR, null, false, false); -// Import namespaced classes -use Joomla\CMS\Version; -use Joomla\Registry\Registry; /** * Utility CLI to retrieve the list of help screens from the docs wiki and create an index for the admin help view. From 8801bc588902b48b0eb3c6d8442caecbfc040f21 Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Sun, 7 Jan 2018 15:48:31 -0600 Subject: [PATCH 013/255] Update license identifier per SPDX 3.0 list, autoload files were updated running composer update operation so included here --- composer.json | 2 +- libraries/vendor/composer/autoload_classmap.php | 2 -- libraries/vendor/composer/autoload_static.php | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 4e42f73fc2c24..503caf354f01b 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Joomla CMS", "keywords": ["joomla", "cms"], "homepage": "https://github.com/joomla/joomla-cms", - "license": "GPL-2.0+", + "license": "GPL-2.0-or-later", "config": { "optimize-autoloader": true, "platform": { diff --git a/libraries/vendor/composer/autoload_classmap.php b/libraries/vendor/composer/autoload_classmap.php index c769ac2a9cdde..c00b678d60467 100644 --- a/libraries/vendor/composer/autoload_classmap.php +++ b/libraries/vendor/composer/autoload_classmap.php @@ -118,7 +118,6 @@ 'Joomla\\Session\\Tests\\Handler\\NativeStorageTest' => $vendorDir . '/joomla/session/tests/Storage/NativeStorageTest.php', 'Joomla\\Session\\Tests\\Handler\\RedisHandlerTest' => $vendorDir . '/joomla/session/tests/Handler/RedisHandlerTest.php', 'Joomla\\Session\\Tests\\Handler\\WincacheHandlerTest' => $vendorDir . '/joomla/session/tests/Handler/WincacheHandlerTest.php', - 'Joomla\\Session\\Tests\\Handler\\XCacheHandlerTest' => $vendorDir . '/joomla/session/tests/Handler/XCacheHandlerTest.php', 'Joomla\\Session\\Tests\\SessionTest' => $vendorDir . '/joomla/session/tests/SessionTest.php', 'Joomla\\String\\Inflector' => $vendorDir . '/joomla/string/src/Inflector.php', 'Joomla\\String\\Normalise' => $vendorDir . '/joomla/string/src/Normalise.php', @@ -198,7 +197,6 @@ 'Symfony\\Polyfill\\Util\\Binary' => $vendorDir . '/symfony/polyfill-util/Binary.php', 'Symfony\\Polyfill\\Util\\BinaryNoFuncOverload' => $vendorDir . '/symfony/polyfill-util/BinaryNoFuncOverload.php', 'Symfony\\Polyfill\\Util\\BinaryOnFuncOverload' => $vendorDir . '/symfony/polyfill-util/BinaryOnFuncOverload.php', - 'Symfony\\Polyfill\\Util\\TestListener' => $vendorDir . '/symfony/polyfill-util/TestListener.php', 'lessc' => $vendorDir . '/leafo/lessphp/lessc.inc.php', 'lessc_formatter_classic' => $vendorDir . '/leafo/lessphp/lessc.inc.php', 'lessc_formatter_compressed' => $vendorDir . '/leafo/lessphp/lessc.inc.php', diff --git a/libraries/vendor/composer/autoload_static.php b/libraries/vendor/composer/autoload_static.php index 4d463ce3d9797..84a7666a66bdd 100644 --- a/libraries/vendor/composer/autoload_static.php +++ b/libraries/vendor/composer/autoload_static.php @@ -289,7 +289,6 @@ class ComposerStaticInit205c915b9c7d3e718e7c95793ee67ffe 'Joomla\\Session\\Tests\\Handler\\NativeStorageTest' => __DIR__ . '/..' . '/joomla/session/tests/Storage/NativeStorageTest.php', 'Joomla\\Session\\Tests\\Handler\\RedisHandlerTest' => __DIR__ . '/..' . '/joomla/session/tests/Handler/RedisHandlerTest.php', 'Joomla\\Session\\Tests\\Handler\\WincacheHandlerTest' => __DIR__ . '/..' . '/joomla/session/tests/Handler/WincacheHandlerTest.php', - 'Joomla\\Session\\Tests\\Handler\\XCacheHandlerTest' => __DIR__ . '/..' . '/joomla/session/tests/Handler/XCacheHandlerTest.php', 'Joomla\\Session\\Tests\\SessionTest' => __DIR__ . '/..' . '/joomla/session/tests/SessionTest.php', 'Joomla\\String\\Inflector' => __DIR__ . '/..' . '/joomla/string/src/Inflector.php', 'Joomla\\String\\Normalise' => __DIR__ . '/..' . '/joomla/string/src/Normalise.php', @@ -369,7 +368,6 @@ class ComposerStaticInit205c915b9c7d3e718e7c95793ee67ffe 'Symfony\\Polyfill\\Util\\Binary' => __DIR__ . '/..' . '/symfony/polyfill-util/Binary.php', 'Symfony\\Polyfill\\Util\\BinaryNoFuncOverload' => __DIR__ . '/..' . '/symfony/polyfill-util/BinaryNoFuncOverload.php', 'Symfony\\Polyfill\\Util\\BinaryOnFuncOverload' => __DIR__ . '/..' . '/symfony/polyfill-util/BinaryOnFuncOverload.php', - 'Symfony\\Polyfill\\Util\\TestListener' => __DIR__ . '/..' . '/symfony/polyfill-util/TestListener.php', 'lessc' => __DIR__ . '/..' . '/leafo/lessphp/lessc.inc.php', 'lessc_formatter_classic' => __DIR__ . '/..' . '/leafo/lessphp/lessc.inc.php', 'lessc_formatter_compressed' => __DIR__ . '/..' . '/leafo/lessphp/lessc.inc.php', From 16459c710a419a0df05974acf23b90bf1a1bea1b Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Mon, 8 Jan 2018 18:10:41 +0100 Subject: [PATCH 014/255] [ChangeItem] - calisthenic code part 1 (#19250) * ChangeItem - calisthenic code part 1 simplify code * cs --- libraries/src/Schema/ChangeItem.php | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/libraries/src/Schema/ChangeItem.php b/libraries/src/Schema/ChangeItem.php index 71c7eecb31202..633d2b9eef92d 100644 --- a/libraries/src/Schema/ChangeItem.php +++ b/libraries/src/Schema/ChangeItem.php @@ -200,27 +200,21 @@ public function check() } catch (\RuntimeException $e) { - $rows = false; - // Still render the error message from the Exception object \JFactory::getApplication()->enqueueMessage($e->getMessage(), 'error'); - } + $this->checkStatus = -2; - if ($rows !== false) - { - if (count($rows) === $this->checkQueryExpected) - { - $this->checkStatus = 1; - } - else - { - $this->checkStatus = -2; - } + return $this->checkStatus; } - else + + if (count($rows) === $this->checkQueryExpected) { - $this->checkStatus = -2; + $this->checkStatus = 1; + + return $this->checkStatus; } + + $this->checkStatus = -2; } return $this->checkStatus; From a8cf40fdd6dca6765390e3bbcb0603a4fb266fbb Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Mon, 8 Jan 2018 10:11:47 -0700 Subject: [PATCH 015/255] [CS] New round of Code Style fixes for components/ (#19201) * PHPCS2 - style fixes applied - Space before opening parenthesis of function call prohibited - Space after opening parenthesis of function call prohibited - Block comment text must start on a new line - Multi-line function call not indented correctly - preference blockComment style over multiple single line comments - arrays should end with a comma * Fix blockComment issues * two stars no one for blockComment style * Two Stars not one star for block comment style --- .../com_contact/controllers/contact.php | 13 +++++----- .../com_contact/views/contact/view.html.php | 2 +- components/com_content/models/articles.php | 25 +++++++++++-------- components/com_content/models/category.php | 2 +- .../com_content/views/article/view.html.php | 16 +++++++----- components/com_finder/models/search.php | 6 +++-- components/com_mailto/controller.php | 2 +- components/com_users/helpers/legacyrouter.php | 16 ++++++------ components/com_users/models/profile.php | 2 +- 9 files changed, 48 insertions(+), 36 deletions(-) diff --git a/components/com_contact/controllers/contact.php b/components/com_contact/controllers/contact.php index 29c2899dd06a8..7e9545f393120 100644 --- a/components/com_contact/controllers/contact.php +++ b/components/com_contact/controllers/contact.php @@ -196,12 +196,13 @@ private function _sendEmail($data, $contact, $copy_email_activated) if (!empty($data['com_fields']) && $fields = FieldsHelper::getFields('com_contact.mail', $contact, true, $data['com_fields'])) { $output = FieldsHelper::render( - 'com_contact.mail', - 'fields.render', - array( - 'context' => 'com_contact.mail', - 'item' => $contact, - 'fields' => $fields) + 'com_contact.mail', + 'fields.render', + array( + 'context' => 'com_contact.mail', + 'item' => $contact, + 'fields' => $fields, + ) ); if ($output) diff --git a/components/com_contact/views/contact/view.html.php b/components/com_contact/views/contact/view.html.php index 6320c73391902..81e99d36bca30 100644 --- a/components/com_contact/views/contact/view.html.php +++ b/components/com_contact/views/contact/view.html.php @@ -159,7 +159,7 @@ public function display($tpl = null) if ($item->params->get('show_street_address') || $item->params->get('show_suburb') || $item->params->get('show_state') || $item->params->get('show_postcode') || $item->params->get('show_country')) { - if (!empty ($item->address) || !empty ($item->suburb) || !empty ($item->state) || !empty ($item->country) || !empty ($item->postcode)) + if (!empty($item->address) || !empty($item->suburb) || !empty($item->state) || !empty($item->country) || !empty($item->postcode)) { $item->params->set('address_check', 1); } diff --git a/components/com_content/models/articles.php b/components/com_content/models/articles.php index 871ca84e737f1..baa2d56ed231d 100644 --- a/components/com_content/models/articles.php +++ b/components/com_content/models/articles.php @@ -52,7 +52,7 @@ public function __construct($config = array()) 'images', 'a.images', 'urls', 'a.urls', 'filter_tag', - 'tag' + 'tag', ); } @@ -265,8 +265,10 @@ protected function getListQuery() if (is_numeric($published) && $published == 2) { - // If category is archived then article has to be published or archived. - // If categogy is published then article has to be archived. + /** + * If category is archived then article has to be published or archived. + * Or categogy is published then article has to be archived. + */ $query->where('((c.published = 2 AND a.state > 0) OR (c.published = 1 AND a.state = 2))'); } elseif (is_numeric($published)) @@ -298,8 +300,7 @@ protected function getListQuery() case 'show': default: - // Normally we do not discriminate - // between featured/unfeatured items. + // Normally we do not discriminate between featured/unfeatured items. break; } @@ -575,9 +576,11 @@ public function getItems() $item->params = clone $this->getState('params'); - /*For blogs, article params override menu item params only if menu param = 'use_article' - Otherwise, menu item params control the layout - If menu item is 'use_article' and there is no article param, use global*/ + /** + * For blogs, article params override menu item params only if menu param = 'use_article' + * Otherwise, menu item params control the layout + * If menu item is 'use_article' and there is no article param, use global + */ if (($input->getString('layout') === 'blog') || ($input->getString('view') === 'featured') || ($this->getState('params')->get('layout_type') === 'blog')) { @@ -633,8 +636,10 @@ public function getItems() break; } - // Compute the asset access permissions. - // Technically guest could edit an article, but lets not check that to improve performance a little. + /** + * Compute the asset access permissions. + * Technically guest could edit an article, but lets not check that to improve performance a little. + */ if (!$guest) { $asset = 'com_content.article.' . $item->id; diff --git a/components/com_content/models/category.php b/components/com_content/models/category.php index ebd7fd563cf40..b5dc4d69dff55 100644 --- a/components/com_content/models/category.php +++ b/components/com_content/models/category.php @@ -339,7 +339,7 @@ public function getCategory() { if (!is_object($this->_item)) { - if (isset( $this->state->params)) + if (isset($this->state->params)) { $params = $this->state->params; $options = array(); diff --git a/components/com_content/views/article/view.html.php b/components/com_content/views/article/view.html.php index 8f5b15ea49daa..ce60169161683 100644 --- a/components/com_content/views/article/view.html.php +++ b/components/com_content/views/article/view.html.php @@ -139,7 +139,8 @@ public function display($tpl = null) return; } - /* Check for no 'access-view' and empty fulltext, + /** + * Check for no 'access-view' and empty fulltext, * - Redirect guest users to login * - Deny access to logged users with 403 code * NOTE: we do not recheck for no access-view + show_noauth disabled ... since it was checked above @@ -162,8 +163,10 @@ public function display($tpl = null) } } - // NOTE: The following code (usually) sets the text to contain the fulltext, but it is the - // responsibility of the layout to check 'access-view' and only use "introtext" for guests + /** + * NOTE: The following code (usually) sets the text to contain the fulltext, but it is the + * responsibility of the layout to check 'access-view' and only use "introtext" for guests + */ if ($item->params->get('show_intro', '1') == '1') { $item->text = $item->introtext . ' ' . $item->fulltext; @@ -186,7 +189,6 @@ public function display($tpl = null) } // Process the content plugins. - JPluginHelper::importPlugin('content'); $dispatcher->trigger('onContentPrepare', array ('com_content.article', &$item, &$item->params, $offset)); @@ -220,8 +222,10 @@ protected function _prepareDocument() $pathway = $app->getPathway(); $title = null; - // Because the application sets a default page title, - // we need to get it from the menu item itself + /** + * Because the application sets a default page title, + * we need to get it from the menu item itself + */ $menu = $menus->getActive(); if ($menu) diff --git a/components/com_finder/models/search.php b/components/com_finder/models/search.php index 157f51c527738..0bcd47df71c76 100644 --- a/components/com_finder/models/search.php +++ b/components/com_finder/models/search.php @@ -1102,7 +1102,8 @@ protected function populateState($ordering = null, $direction = null) $this->setState('list.start', $input->get('limitstart', 0, 'uint')); $this->setState('list.limit', $input->get('limit', $app->get('list_limit', 20), 'uint')); - /* Load the sort ordering. + /** + * Load the sort ordering. * Currently this is 'hard' coded via menu item parameter but may not satisfy a users need. * More flexibility was way more user friendly. So we allow the user to pass a custom value * from the pool of fields that are indexed like the 'title' field. @@ -1135,7 +1136,8 @@ protected function populateState($ordering = null, $direction = null) break; } - /* Load the sort direction. + /** + * Load the sort direction. * Currently this is 'hard' coded via menu item parameter but may not satisfy a users need. * More flexibility was way more user friendly. So we allow to be inverted. * Also, we allow this parameter to be passed in either case (lower/upper). diff --git a/components/com_mailto/controller.php b/components/com_mailto/controller.php index db2b456a4eb82..e85afdd2ea595 100644 --- a/components/com_mailto/controller.php +++ b/components/com_mailto/controller.php @@ -104,7 +104,7 @@ public function send() /* * Free up memory */ - unset ($headers, $fields); + unset($headers, $fields); $email = $this->input->post->getString('mailto', ''); $sender = $this->input->post->getString('sender', ''); diff --git a/components/com_users/helpers/legacyrouter.php b/components/com_users/helpers/legacyrouter.php index df141a7bea98d..2b2eae411bacf 100644 --- a/components/com_users/helpers/legacyrouter.php +++ b/components/com_users/helpers/legacyrouter.php @@ -150,7 +150,7 @@ public function build(&$query, &$segments) case 'reset': if ($query['Itemid'] = $reset) { - unset ($query['view']); + unset($query['view']); } else { @@ -161,7 +161,7 @@ public function build(&$query, &$segments) case 'resend': if ($query['Itemid'] = $resend) { - unset ($query['view']); + unset($query['view']); } else { @@ -172,7 +172,7 @@ public function build(&$query, &$segments) case 'remind': if ($query['Itemid'] = $remind) { - unset ($query['view']); + unset($query['view']); } else { @@ -183,7 +183,7 @@ public function build(&$query, &$segments) case 'login': if ($query['Itemid'] = $login) { - unset ($query['view']); + unset($query['view']); } else { @@ -194,7 +194,7 @@ public function build(&$query, &$segments) case 'registration': if ($query['Itemid'] = $registration) { - unset ($query['view']); + unset($query['view']); } else { @@ -209,11 +209,11 @@ public function build(&$query, &$segments) $segments[] = $query['view']; } - unset ($query['view']); + unset($query['view']); if ($query['Itemid'] = $profile) { - unset ($query['view']); + unset($query['view']); } else { @@ -228,7 +228,7 @@ public function build(&$query, &$segments) $segments[] = $query['user_id']; } - unset ($query['user_id']); + unset($query['user_id']); break; } diff --git a/components/com_users/models/profile.php b/components/com_users/models/profile.php index 5d49111f39870..29ea0e7e6c5a9 100644 --- a/components/com_users/models/profile.php +++ b/components/com_users/models/profile.php @@ -380,7 +380,7 @@ public function save($data) JPluginHelper::importPlugin('user'); // Retrieve the user groups so they don't get overwritten - unset ($user->groups); + unset($user->groups); $user->groups = JAccess::getGroupsByUser($user->id, false); // Store the data. From 3d153313d3dd0c5ae01c9f46402f6785b7072ec5 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Mon, 8 Jan 2018 17:13:01 +0000 Subject: [PATCH 016/255] php 7.2 fix for count (#19135) * php 7.2 fix for count PR for #19125 PR for #19126 Can you please test this @quy - I dont have php 7.2 installed yet If these work then there are lots of other places to be fixed http://php.net/manual/en/migration72.incompatible.php#migration72.incompatible.warn-on-non-countable-types * change to !is_array * chnages as requested --- components/com_contact/models/categories.php | 2 +- components/com_newsfeeds/models/categories.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/com_contact/models/categories.php b/components/com_contact/models/categories.php index b8ce15c35d598..bd83514bf6652 100644 --- a/components/com_contact/models/categories.php +++ b/components/com_contact/models/categories.php @@ -93,7 +93,7 @@ protected function getStoreId($id = '') */ public function getItems() { - if (!count($this->_items)) + if ($this->_items === null) { $app = JFactory::getApplication(); $menu = $app->getMenu(); diff --git a/components/com_newsfeeds/models/categories.php b/components/com_newsfeeds/models/categories.php index 38547302a43a3..4d40f1ffc7d2b 100644 --- a/components/com_newsfeeds/models/categories.php +++ b/components/com_newsfeeds/models/categories.php @@ -95,7 +95,7 @@ protected function getStoreId($id = '') */ public function getItems() { - if (!count($this->_items)) + if ($this->_items === null) { $app = JFactory::getApplication(); $menu = $app->getMenu(); From f3db02591b83d24413de33bb56f0af7701bea919 Mon Sep 17 00:00:00 2001 From: Chris Davenport Date: Mon, 8 Jan 2018 17:14:22 +0000 Subject: [PATCH 017/255] Smart Search common words assigned too much weight (#12450) --- .../com_finder/helpers/indexer/helper.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_finder/helpers/indexer/helper.php b/administrator/components/com_finder/helpers/indexer/helper.php index 4fb74b58e2411..243a70c45b642 100644 --- a/administrator/components/com_finder/helpers/indexer/helper.php +++ b/administrator/components/com_finder/helpers/indexer/helper.php @@ -311,11 +311,21 @@ public static function addContentType($title, $mime = null) public static function isCommon($token, $lang) { static $data; + static $default; + + $langCode = $lang; + + // If language requested is wildcard, use the default language. + if ($lang == '*') + { + $default = $default === null ? substr(self::getDefaultLanguage(), 0, 2) : $default; + $langCode = $default; + } // Load the common tokens for the language if necessary. - if (!isset($data[$lang])) + if (!isset($data[$langCode])) { - $data[$lang] = self::getCommonWords($lang); + $data[$langCode] = self::getCommonWords($langCode); } // Check if the token is in the common array. From 67e95cb54c0dd020f95a1b5a32ac27255f935d10 Mon Sep 17 00:00:00 2001 From: jsanders Date: Mon, 8 Jan 2018 18:18:41 +0100 Subject: [PATCH 018/255] Contact form loses data after postback with error (#17743) * Contact form loses data after postback with error Pull Request for issue #17126. Testing Instructions. See issue #17126 * Go to Single Contact. * Fill in the form. * Do not fill in captcha. * Send email. Expected result: Warning + textboxes are NOT empty. So the user should not entered all text again. Actual result: All textboxes are empty, so the user has to enter again all textboxes. Thanks to: @ pascal-910. * Delete some tabs Delete some tabs. * Update view.html.php if (!isset($item->catid) || empty($item->catid)) changes to if (empty($item->catid)) --- components/com_contact/views/contact/view.html.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/com_contact/views/contact/view.html.php b/components/com_contact/views/contact/view.html.php index 81e99d36bca30..53711853e1702 100644 --- a/components/com_contact/views/contact/view.html.php +++ b/components/com_contact/views/contact/view.html.php @@ -72,7 +72,10 @@ public function display($tpl = null) $item = $this->get('Item'); $state = $this->get('State'); - $app->setUserState('com_contact.contact.data', array('catid' => $item->catid)); + if (empty($item->catid)) + { + $app->setUserState('com_contact.contact.data', array('catid' => $item->catid)); + } $this->form = $this->get('Form'); From 048dc3cbeb997062e5de6f5b558982db8cad800a Mon Sep 17 00:00:00 2001 From: Lodder Date: Tue, 9 Jan 2018 16:33:30 +0000 Subject: [PATCH 019/255] Build status icons in table (#19342) --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 21eaf2b61e246..f597a93afe9ec 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,9 @@ Joomla! CMS™ [![Analytics](https://ga-beacon.appspot.com/UA-544070-3/joomla-cm Build Status --------------------- -Travis-CI: [![Build Status](https://travis-ci.org/joomla/joomla-cms.svg?branch=staging)](https://travis-ci.org/joomla/joomla-cms) - -Drone -CI: [![Build Status](http://213.160.72.75/api/badges/joomla/joomla-cms/status.svg)](http://213.160.72.75/joomla/joomla-cms) - -AppVeyor: [![Build status](https://ci.appveyor.com/api/projects/status/bpcxulw6nnxlv8kb/branch/staging?svg=true)](https://ci.appveyor.com/project/joomla/joomla-cms) - -Jenkins: [![Build Status](http://build.joomla.org/job/cms/badge/icon)](http://build.joomla.org/job/cms/) +| Travis-CI | Drone-CI | AppVeyor | Jenkins | +| ------------- | ------------- | ------------- | ------------- | +| [![Build Status](https://travis-ci.org/joomla/joomla-cms.svg?branch=staging)](https://travis-ci.org/joomla/joomla-cms) | [![Build Status](http://213.160.72.75/api/badges/joomla/joomla-cms/status.svg)](http://213.160.72.75/joomla/joomla-cms) | [![Build status](https://ci.appveyor.com/api/projects/status/bpcxulw6nnxlv8kb/branch/staging?svg=true)](https://ci.appveyor.com/project/joomla/joomla-cms) | [![Build Status](http://build.joomla.org/job/cms/badge/icon)](http://build.joomla.org/job/cms/) | What is this? --------------------- From 6742a16bd9aebf287307533ea6e8dcf422826993 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Tue, 9 Jan 2018 17:38:52 -0700 Subject: [PATCH 020/255] PHPCS2-Auto Fixers applied (#19175) - No blank line found after control structure - Line indented incorrectly --- modules/mod_articles_category/helper.php | 1 + modules/mod_finder/mod_finder.php | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index 0f5aefa155f26..a6644b7497010 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -196,6 +196,7 @@ public static function getList(&$params) { $articles->setState('filter.tag', $params->get('filter_tag', '')); } + $articles->setState('filter.featured', $params->get('show_front', 'show')); $articles->setState('filter.author_id', $params->get('created_by', '')); $articles->setState('filter.author_id.include', $params->get('author_filtering_type', 1)); diff --git a/modules/mod_finder/mod_finder.php b/modules/mod_finder/mod_finder.php index b4e81c5372ade..c872a054dde9c 100644 --- a/modules/mod_finder/mod_finder.php +++ b/modules/mod_finder/mod_finder.php @@ -25,8 +25,8 @@ // Check for OpenSearch if ($params->get('opensearch', 1)) { -/* -This code intentionally commented + /* + This code intentionally commented $doc = JFactory::getDocument(); $app = JFactory::getApplication(); @@ -35,7 +35,7 @@ JUri::getInstance()->toString(array('scheme', 'host', 'port')) . JRoute::_('&option=com_finder&format=opensearch'), 'search', 'rel', array('title' => $ostitle, 'type' => 'application/opensearchdescription+xml') ); -*/ + */ } // Initialize module parameters. From ad1b8320731c32293a4bd920eb8ec47c9f731171 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Tue, 9 Jan 2018 17:39:24 -0700 Subject: [PATCH 021/255] PHPCS2-Auto Fixers Applied (#19176) - Please consider an empty line before the return statement; - Please consider an empty line before the try statement; - block comments start and end with `/*` and `*/` and no text --- plugins/fields/sql/sql.php | 1 + plugins/system/log/log.php | 1 + plugins/system/updatenotification/updatenotification.php | 6 ++++-- plugins/user/joomla/joomla.php | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/fields/sql/sql.php b/plugins/fields/sql/sql.php index ee6b0d2ca9a50..f29a8f7d0527b 100644 --- a/plugins/fields/sql/sql.php +++ b/plugins/fields/sql/sql.php @@ -68,6 +68,7 @@ public function onContentBeforeSave($context, $item, $isNew, $data = array()) if (!JAccess::getAssetRules(1)->allow('core.admin', JFactory::getUser()->getAuthorisedGroups())) { $item->setError(JText::_('PLG_FIELDS_SQL_CREATE_NOT_POSSIBLE')); + return false; } diff --git a/plugins/system/log/log.php b/plugins/system/log/log.php index b527bcf5b6ede..1f64e032314ae 100644 --- a/plugins/system/log/log.php +++ b/plugins/system/log/log.php @@ -56,6 +56,7 @@ public function onUserLoginFailure($response) } JLog::addLogger(array(), JLog::INFO); + try { JLog::add($errorlog['comment'], JLog::INFO, $errorlog['status']); diff --git a/plugins/system/updatenotification/updatenotification.php b/plugins/system/updatenotification/updatenotification.php index e1cdbf94b2b41..b08c8a61e3a03 100644 --- a/plugins/system/updatenotification/updatenotification.php +++ b/plugins/system/updatenotification/updatenotification.php @@ -192,11 +192,13 @@ public function onAfterRender() return; } - /* Load the appropriate language. We try to load English (UK), the current user's language and the forced + /* + * Load the appropriate language. We try to load English (UK), the current user's language and the forced * language preference, in this order. This ensures that we'll never end up with untranslated strings in the * update email which would make Joomla! seem bad. So, please, if you don't fully understand what the * following code does DO NOT TOUCH IT. It makes the difference between a hobbyist CMS and a professional - * solution! */ + * solution! + */ $jLanguage = JFactory::getLanguage(); $jLanguage->load('plg_system_updatenotification', JPATH_ADMINISTRATOR, 'en-GB', true, true); $jLanguage->load('plg_system_updatenotification', JPATH_ADMINISTRATOR, null, true, false); diff --git a/plugins/user/joomla/joomla.php b/plugins/user/joomla/joomla.php index 59f8ebbfbf496..fa3485405dffe 100644 --- a/plugins/user/joomla/joomla.php +++ b/plugins/user/joomla/joomla.php @@ -117,6 +117,7 @@ public function onUserAfterSave($user, $isnew, $success, $msg) if (strpos($this->app->get('mailfrom'), '@') === false) { $this->app->enqueueMessage(JText::_('JERROR_SENDING_EMAIL'), 'warning'); + return; } From 7d3a3ef6c68be95baf4f822d339730e86454fbdd Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Tue, 9 Jan 2018 17:42:58 -0700 Subject: [PATCH 022/255] PHPCS2-Autofixers applied (#19173) - Please consider an empty line before the try/foreach statement - Whitespace found at end of line - Expected 1 space after "="; 2 found - Expected 1 space before "="; 0 found - Please consider an empty line before the return statement; - Expected 1 newline after opening brace; 2 found - Blank line found at start of control structure - Please consider an empty line before the if statement; - Line indented incorrectly; --- .../components/com_associations/helpers/associations.php | 5 +++-- .../com_associations/views/associations/view.html.php | 5 +++++ .../components/com_categories/models/fields/categoryedit.php | 1 + administrator/components/com_contact/helpers/contact.php | 4 ++++ .../components/com_content/helpers/associations.php | 1 - administrator/components/com_content/models/articles.php | 2 ++ .../components/com_content/views/article/view.html.php | 1 - .../components/com_fields/libraries/fieldsplugin.php | 1 + .../com_fields/views/fields/tmpl/default_batch_body.php | 2 +- .../com_fields/views/fields/tmpl/default_batch_footer.php | 2 +- .../com_fields/views/groups/tmpl/default_batch_footer.php | 2 +- administrator/components/com_installer/models/languages.php | 2 +- administrator/modules/mod_stats_admin/helper.php | 2 ++ .../templates/hathor/html/layouts/joomla/edit/fieldset.php | 2 +- .../templates/isis/html/layouts/joomla/pagination/link.php | 2 +- 15 files changed, 24 insertions(+), 10 deletions(-) diff --git a/administrator/components/com_associations/helpers/associations.php b/administrator/components/com_associations/helpers/associations.php index f9d957c8347b3..ce40831962afd 100644 --- a/administrator/components/com_associations/helpers/associations.php +++ b/administrator/components/com_associations/helpers/associations.php @@ -285,6 +285,7 @@ public static function getAssociationHtmlList($extensionName, $typeName, $itemId } JHtml::_('bootstrap.popover'); + return JLayoutHelper::render('joomla.content.associations', $items); } @@ -467,7 +468,7 @@ public static function allowEdit($extensionName, $typeName, $itemId) } // Get the extension specific helper method - $helper= self::getExtensionHelper($extensionName); + $helper = self::getExtensionHelper($extensionName); if (method_exists($helper, 'allowEdit')) { @@ -495,7 +496,7 @@ public static function allowAdd($extensionName, $typeName) } // Get the extension specific helper method - $helper= self::getExtensionHelper($extensionName); + $helper = self::getExtensionHelper($extensionName); if (method_exists($helper, 'allowAdd')) { diff --git a/administrator/components/com_associations/views/associations/view.html.php b/administrator/components/com_associations/views/associations/view.html.php index ce481471ab11a..30878a4a6e371 100644 --- a/administrator/components/com_associations/views/associations/view.html.php +++ b/administrator/components/com_associations/views/associations/view.html.php @@ -129,21 +129,25 @@ public function display($tpl = null) unset($this->activeFilters['state']); $this->filterForm->removeField('state', 'filter'); } + if (empty($support['category'])) { unset($this->activeFilters['category_id']); $this->filterForm->removeField('category_id', 'filter'); } + if ($extensionName !== 'com_menus') { unset($this->activeFilters['menutype']); $this->filterForm->removeField('menutype', 'filter'); } + if (empty($support['level'])) { unset($this->activeFilters['level']); $this->filterForm->removeField('level', 'filter'); } + if (empty($support['acl'])) { unset($this->activeFilters['access']); @@ -222,6 +226,7 @@ protected function addToolbar() JToolbarHelper::custom('associations.purge', 'purge', 'purge', 'COM_ASSOCIATIONS_PURGE', false, false); JToolbarHelper::custom('associations.clean', 'refresh', 'refresh', 'COM_ASSOCIATIONS_DELETE_ORPHANS', false, false); } + JToolbarHelper::preferences('com_associations'); } diff --git a/administrator/components/com_categories/models/fields/categoryedit.php b/administrator/components/com_categories/models/fields/categoryedit.php index b4fe50aedbccb..1bead2d566740 100644 --- a/administrator/components/com_categories/models/fields/categoryedit.php +++ b/administrator/components/com_categories/models/fields/categoryedit.php @@ -174,6 +174,7 @@ protected function getOptions() { $language = $db->quote($this->element['language']); } + $query->where($db->quoteName('a.language') . ' IN (' . $language . ')'); } diff --git a/administrator/components/com_contact/helpers/contact.php b/administrator/components/com_contact/helpers/contact.php index 79bc14e1e0a5e..07d3a344ad3c7 100644 --- a/administrator/components/com_contact/helpers/contact.php +++ b/administrator/components/com_contact/helpers/contact.php @@ -123,15 +123,19 @@ public static function countTagItems(&$items, $extension) $db = JFactory::getDbo(); $parts = explode('.', $extension); $section = null; + if (count($parts) > 1) { $section = $parts[1]; } + $join = $db->qn('#__contact_details') . ' AS c ON ct.content_item_id=c.id'; + if ($section === 'category') { $join = $db->qn('#__categories') . ' AS c ON ct.content_item_id=c.id'; } + foreach ($items as $item) { $item->count_trashed = 0; diff --git a/administrator/components/com_content/helpers/associations.php b/administrator/components/com_content/helpers/associations.php index d309c7060d345..7829dd6f6ae69 100644 --- a/administrator/components/com_content/helpers/associations.php +++ b/administrator/components/com_content/helpers/associations.php @@ -141,7 +141,6 @@ public function getType($typeName = '') if (in_array($typeName, $this->itemTypes)) { - switch ($typeName) { case 'article': diff --git a/administrator/components/com_content/models/articles.php b/administrator/components/com_content/models/articles.php index 6a5aa3c4bc62e..6ec9b91febb3c 100644 --- a/administrator/components/com_content/models/articles.php +++ b/administrator/components/com_content/models/articles.php @@ -235,6 +235,7 @@ protected function getListQuery() // Filter by access level. $access = $this->getState('filter.access'); + if (is_numeric($access)) { $query->where('a.access = ' . (int) $access); @@ -356,6 +357,7 @@ protected function getListQuery() { $tagId = ArrayHelper::toInteger($tagId); $tagId = implode(',', $tagId); + if (!empty($tagId)) { $hasTag = true; diff --git a/administrator/components/com_content/views/article/view.html.php b/administrator/components/com_content/views/article/view.html.php index 299957ef8902a..6942e8249d006 100644 --- a/administrator/components/com_content/views/article/view.html.php +++ b/administrator/components/com_content/views/article/view.html.php @@ -57,7 +57,6 @@ public function display($tpl = null) { if ($this->getLayout() == 'pagebreak') { - return parent::display($tpl); } diff --git a/administrator/components/com_fields/libraries/fieldsplugin.php b/administrator/components/com_fields/libraries/fieldsplugin.php index 9291dc8604af1..ff7e826c9f656 100644 --- a/administrator/components/com_fields/libraries/fieldsplugin.php +++ b/administrator/components/com_fields/libraries/fieldsplugin.php @@ -94,6 +94,7 @@ public function onCustomFieldsGetTypes() // Add to cache and return the data $types_cache[$this->_type . $this->_name] = $types; + return $types; } diff --git a/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php b/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php index d60370b64926f..c94034c2231da 100644 --- a/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php +++ b/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage com_fields - * + * * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php b/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php index 9192d5745880c..d57e3cb48a783 100644 --- a/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php +++ b/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage com_fields - * + * * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php b/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php index 4a313168175e2..d623161e022fd 100644 --- a/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php +++ b/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage com_fields - * + * * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/languages.php b/administrator/components/com_installer/models/languages.php index 5c742dd97b3e0..8d4c081e1958c 100644 --- a/administrator/components/com_installer/models/languages.php +++ b/administrator/components/com_installer/models/languages.php @@ -141,7 +141,7 @@ protected function getLanguages() foreach ($extension->attributes() as $key => $value) { - $language->$key = (string) $value; + $language->$key = (string) $value; } if ($search) diff --git a/administrator/modules/mod_stats_admin/helper.php b/administrator/modules/mod_stats_admin/helper.php index 37b310bf96dc7..16fbd35566e80 100644 --- a/administrator/modules/mod_stats_admin/helper.php +++ b/administrator/modules/mod_stats_admin/helper.php @@ -83,6 +83,7 @@ public static function getStats(&$params) $query->select('COUNT(id) AS count_users') ->from('#__users'); $db->setQuery($query); + try { $users = $db->loadResult(); @@ -97,6 +98,7 @@ public static function getStats(&$params) ->from('#__content') ->where('state = 1'); $db->setQuery($query); + try { $items = $db->loadResult(); diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php b/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php index 3a1a6a52479a3..21d73948f8382 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php @@ -50,7 +50,7 @@ } $html[] = ''; $html[] = ''; - + echo implode('', $html); } else diff --git a/administrator/templates/isis/html/layouts/joomla/pagination/link.php b/administrator/templates/isis/html/layouts/joomla/pagination/link.php index 1a060ea03c5e2..efece2598c3fa 100644 --- a/administrator/templates/isis/html/layouts/joomla/pagination/link.php +++ b/administrator/templates/isis/html/layouts/joomla/pagination/link.php @@ -54,7 +54,7 @@ default: $icon = null; - $aria = JText::sprintf('JLIB_HTML_GOTO_PAGE', $item->text); + $aria = JText::sprintf('JLIB_HTML_GOTO_PAGE', $item->text); break; } From 3d4ebca7a2005004867dca0bcc118670a934cb36 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Sat, 13 Jan 2018 05:18:27 -0700 Subject: [PATCH 023/255] [CS] Code Style round 2 fixes for libraries/src (#19178) * PHPCS2-Auto Fixers Applied - Please consider an empty line before the if statement - No blank line found after control structure - Expected 0 spaces after opening bracket; 1 found - Expected 1 space before "?"; 0 found - Expected 1 space after ".="; 2 found * strip the code coverage annotations --- libraries/src/Helper/ContentHelper.php | 2 +- libraries/src/Helper/RouteHelper.php | 1 - libraries/src/Helper/TagsHelper.php | 1 + libraries/src/Http/Transport/CurlTransport.php | 2 ++ .../src/Installer/Adapter/FileAdapter.php | 1 + libraries/src/Language/Associations.php | 2 ++ libraries/src/Language/LanguageHelper.php | 2 ++ libraries/src/Log/Log.php | 1 + libraries/src/MVC/Model/AdminModel.php | 1 + libraries/src/MVC/Model/ListModel.php | 1 - libraries/src/MVC/View/CategoryView.php | 2 +- libraries/src/Router/SiteRouter.php | 1 + libraries/src/Table/Content.php | 1 + libraries/src/Table/CoreContent.php | 4 ++++ libraries/src/Table/Menu.php | 4 +++- libraries/src/Table/Nested.php | 18 ------------------ libraries/src/Table/Observer/Tags.php | 1 + libraries/src/Table/Table.php | 1 + libraries/src/Utility/BufferStreamHandler.php | 1 + 19 files changed, 24 insertions(+), 23 deletions(-) diff --git a/libraries/src/Helper/ContentHelper.php b/libraries/src/Helper/ContentHelper.php index 8321134e00363..e5c7de30d0277 100644 --- a/libraries/src/Helper/ContentHelper.php +++ b/libraries/src/Helper/ContentHelper.php @@ -116,7 +116,7 @@ public static function getActions($component = '', $section = '', $id = 0) if ($section && $id) { - $assetName .= '.' . $section . '.' . (int) $id; + $assetName .= '.' . $section . '.' . (int) $id; } $result = new \JObject; diff --git a/libraries/src/Helper/RouteHelper.php b/libraries/src/Helper/RouteHelper.php index 6410bf9b38263..330c047961c13 100644 --- a/libraries/src/Helper/RouteHelper.php +++ b/libraries/src/Helper/RouteHelper.php @@ -280,7 +280,6 @@ public static function getCategoryRoute($catid, $language = 0, $extension = '') $catids = array_reverse($category->getPath()); $needles['category'] = $catids; $needles['categories'] = $catids; - } if ($item = static::lookupItem($needles)) diff --git a/libraries/src/Helper/TagsHelper.php b/libraries/src/Helper/TagsHelper.php index 125812c107f6a..4352a26573b31 100644 --- a/libraries/src/Helper/TagsHelper.php +++ b/libraries/src/Helper/TagsHelper.php @@ -899,6 +899,7 @@ public function preStoreProcess(TableInterface $table, $newTags = array()) { $newTags = implode(',', $newTags); } + // We need to process tags if the tags have changed or if we have a new row $this->tagsChanged = (empty($this->oldTags) && !empty($newTags)) ||(!empty($this->oldTags) && $this->oldTags != $newTags) || !$table->$key; } diff --git a/libraries/src/Http/Transport/CurlTransport.php b/libraries/src/Http/Transport/CurlTransport.php index e4aac318e6ac5..45a07db15e0b5 100644 --- a/libraries/src/Http/Transport/CurlTransport.php +++ b/libraries/src/Http/Transport/CurlTransport.php @@ -229,10 +229,12 @@ public function request($method, Uri $uri, $data = null, array $headers = null, if ($response->code >= 301 && $response->code < 400 && isset($response->headers['Location']) && (bool) $this->options->get('follow_location', true)) { $redirect_uri = new Uri($response->headers['Location']); + if (in_array($redirect_uri->getScheme(), array('file', 'scp'))) { throw new \RuntimeException('Curl redirect cannot be used in file or scp requests.'); } + $response = $this->request($method, $redirect_uri, $data, $headers, $timeout, $userAgent); } diff --git a/libraries/src/Installer/Adapter/FileAdapter.php b/libraries/src/Installer/Adapter/FileAdapter.php index cc7ccd272b43b..dc87aca7dd80b 100644 --- a/libraries/src/Installer/Adapter/FileAdapter.php +++ b/libraries/src/Installer/Adapter/FileAdapter.php @@ -514,6 +514,7 @@ protected function extensionExistsInSystem($extension = null) return false; } + $id = $db->loadResult(); if (empty($id)) diff --git a/libraries/src/Language/Associations.php b/libraries/src/Language/Associations.php index dffc3e6014761..8773b25a9316e 100644 --- a/libraries/src/Language/Associations.php +++ b/libraries/src/Language/Associations.php @@ -43,6 +43,7 @@ public static function getAssociations($extension, $tablename, $context, $id, $p // Multilanguage association array key. If the key is already in the array we don't need to run the query again, just return it. $queryKey = implode('|', func_get_args()); + if (!isset($multilanguageAssociations[$queryKey])) { $multilanguageAssociations[$queryKey] = array(); @@ -90,6 +91,7 @@ public static function getAssociations($extension, $tablename, $context, $id, $p } $query->where('c.' . $pk . ' = ' . (int) $id); + if ($tablename === '#__categories') { $query->where('c.extension = ' . $db->quote($extension)); diff --git a/libraries/src/Language/LanguageHelper.php b/libraries/src/Language/LanguageHelper.php index 666dccb99d85d..9c6ffdbf2e5d7 100644 --- a/libraries/src/Language/LanguageHelper.php +++ b/libraries/src/Language/LanguageHelper.php @@ -240,6 +240,7 @@ public static function getInstalledLanguages($clientId = null, $processMetaData { $lang->metadata = self::parseXMLLanguageFile($metafile); } + // Not able to process xml language file. Fail silently. catch (\Exception $e) { @@ -264,6 +265,7 @@ public static function getInstalledLanguages($clientId = null, $processMetaData { $lang->manifest = \JInstaller::parseXMLInstallFile($metafile); } + // Not able to process xml language file. Fail silently. catch (\Exception $e) { diff --git a/libraries/src/Log/Log.php b/libraries/src/Log/Log.php index f62e0cb422ac2..4f6946b9b708e 100644 --- a/libraries/src/Log/Log.php +++ b/libraries/src/Log/Log.php @@ -264,6 +264,7 @@ public static function createDelegatedLogger() { static::setInstance(new static); } + return new DelegatingPsrLogger(static::$instance); } diff --git a/libraries/src/MVC/Model/AdminModel.php b/libraries/src/MVC/Model/AdminModel.php index c7dd8770ed5cf..f2e1f1d465e0f 100644 --- a/libraries/src/MVC/Model/AdminModel.php +++ b/libraries/src/MVC/Model/AdminModel.php @@ -283,6 +283,7 @@ public function batch($commands, $pks, $contexts) { $contexts[$new] = $contexts[$old]; } + $pks = array_values($result); } else diff --git a/libraries/src/MVC/Model/ListModel.php b/libraries/src/MVC/Model/ListModel.php index 3d06495b736e7..882b2c361a7b6 100644 --- a/libraries/src/MVC/Model/ListModel.php +++ b/libraries/src/MVC/Model/ListModel.php @@ -539,7 +539,6 @@ protected function populateState($ordering = null, $direction = null) // Fallback to the default value $value = $ordering . ' ' . $direction; } - } else { diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php index e6a8c5e97b81f..1adf932b80710 100644 --- a/libraries/src/MVC/View/CategoryView.php +++ b/libraries/src/MVC/View/CategoryView.php @@ -172,7 +172,7 @@ public function commonCategoryDisplay() $itemElement->event = new \stdClass; // For some plugins. - !empty($itemElement->description)? $itemElement->text = $itemElement->description : $itemElement->text = null; + !empty($itemElement->description) ? $itemElement->text = $itemElement->description : $itemElement->text = null; $dispatcher = \JEventDispatcher::getInstance(); diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index b9845fa92e253..9119364b54f6a 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -627,6 +627,7 @@ protected function processBuildRules(&$uri, $stage = self::PROCESS_DURING) { // Make sure any menu vars are used if no others are specified $query = $uri->getQuery(true); + if ($this->_mode != 1 && isset($query['Itemid']) && (count($query) === 2 || (count($query) === 3 && isset($query['lang'])))) diff --git a/libraries/src/Table/Content.php b/libraries/src/Table/Content.php index 86e5784bf8fcf..c3b1c8571e29e 100644 --- a/libraries/src/Table/Content.php +++ b/libraries/src/Table/Content.php @@ -273,6 +273,7 @@ public function check() $clean_keys[] = trim($key); } } + // Put array back together delimited by ", " $this->metakey = implode(', ', $clean_keys); } diff --git a/libraries/src/Table/CoreContent.php b/libraries/src/Table/CoreContent.php index 45e59fdb9413a..518be810189cd 100644 --- a/libraries/src/Table/CoreContent.php +++ b/libraries/src/Table/CoreContent.php @@ -108,15 +108,18 @@ public function check() { $this->core_alias = \JFactory::getDate()->format('Y-m-d-H-i-s'); } + // Not Null sanity check if (empty($this->core_images)) { $this->core_images = '{}'; } + if (empty($this->core_urls)) { $this->core_urls = '{}'; } + // Check the publish down date is not earlier than publish up. if ($this->core_publish_down < $this->core_publish_up && $this->core_publish_down > $this->_db->getNullDate()) { @@ -151,6 +154,7 @@ public function check() $clean_keys[] = trim($key); } } + // Put array back together delimited by ", " $this->core_metakey = implode(', ', $clean_keys); } diff --git a/libraries/src/Table/Menu.php b/libraries/src/Table/Menu.php index 386af891d6886..a719771a1336d 100644 --- a/libraries/src/Table/Menu.php +++ b/libraries/src/Table/Menu.php @@ -105,11 +105,13 @@ public function check() { $this->path = $this->alias; } + // Check for params. if (trim($this->params) === '') { $this->params = '{}'; } + // Check for img. if (trim($this->img) === '') { @@ -154,7 +156,7 @@ public function store($updateNulls = false) if ($this->parent_id == 1 && $this->client_id == 0) { // Verify that a first level menu item alias is not 'component'. - if ( $this->alias == 'component') + if ($this->alias == 'component') { $this->setError(\JText::_('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT')); diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index 672592e05bd82..8110f13a92837 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -308,12 +308,10 @@ public function move($delta, $where = '') */ public function moveByReference($referenceId, $position = 'after', $pk = null, $recursiveUpdate = true) { - // @codeCoverageIgnoreStart if ($this->_debug) { echo "\nMoving ReferenceId:$referenceId, Position:$position, PK:$pk"; } - // @codeCoverageIgnoreEnd $k = $this->_tbl_key; $pk = (is_null($pk)) ? $this->$k : $pk; @@ -333,12 +331,10 @@ public function moveByReference($referenceId, $position = 'after', $pk = null, $ $children = $this->_db->setQuery($query)->loadColumn(); - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(false); } - // @codeCoverageIgnoreEnd // Cannot move the node to be a child of itself. if (in_array($referenceId, $children)) @@ -423,12 +419,10 @@ public function moveByReference($referenceId, $position = 'after', $pk = null, $ $this->_db->setQuery($query, 0, 1); $reference = $this->_db->loadObject(); - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(false); } - // @codeCoverageIgnoreEnd // Get the reposition data for re-inserting the node after the found root. if (!$repositionData = $this->_getTreeRepositionData($reference, $node->width, 'last-child')) @@ -732,13 +726,11 @@ public function store($updateNulls = false) $this->_observers->update('onBeforeStore', array($updateNulls, $k)); } - // @codeCoverageIgnoreStart if ($this->_debug) { echo "\n" . get_class($this) . "::store\n"; $this->_logtable(true, false); } - // @codeCoverageIgnoreEnd /* * If the primary key is empty, then we assume we are inserting a new node into the @@ -772,12 +764,10 @@ public function store($updateNulls = false) $this->_db->setQuery($query, 0, 1); $reference = $this->_db->loadObject(); - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(false); } - // @codeCoverageIgnoreEnd } // We have a real node set as a location reference. else @@ -876,12 +866,10 @@ public function store($updateNulls = false) if ($result) { - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(); } - // @codeCoverageIgnoreEnd } // Unlock the table for writing. @@ -1476,12 +1464,10 @@ public function saveorder($idArray = null, $lft_array = null) $this->_db->setQuery($query)->execute(); - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(); } - // @codeCoverageIgnoreEnd } return $this->rebuild(); @@ -1719,14 +1705,12 @@ protected function _getTreeRepositionData($referenceNode, $nodeWidth, $position break; } - // @codeCoverageIgnoreStart if ($this->_debug) { echo "\nRepositioning Data for $position" . "\n-----------------------------------" . "\nLeft Where: $data->left_where" . "\nRight Where: $data->right_where" . "\nNew Lft: $data->new_lft" . "\nNew Rgt: $data->new_rgt" . "\nNew Parent ID: $data->new_parent_id" . "\nNew Level: $data->new_level" . "\n"; } - // @codeCoverageIgnoreEnd return $data; } @@ -1794,12 +1778,10 @@ protected function _runQuery($query, $errorMessage) { $this->_db->setQuery($query)->execute(); - // @codeCoverageIgnoreStart if ($this->_debug) { $this->_logtable(); } - // @codeCoverageIgnoreEnd } catch (\Exception $e) { diff --git a/libraries/src/Table/Observer/Tags.php b/libraries/src/Table/Observer/Tags.php index c32114914a43a..17d8ffd036784 100644 --- a/libraries/src/Table/Observer/Tags.php +++ b/libraries/src/Table/Observer/Tags.php @@ -134,6 +134,7 @@ public function onAfterStore(&$result) { $result = $this->tagsHelper->postStoreProcess($this->table, $this->table->tagsHelper->tags); } + // Restore default values for the optional params: $this->newTags = array(); $this->replaceTags = true; diff --git a/libraries/src/Table/Table.php b/libraries/src/Table/Table.php index 845be14e53a22..14bc1198d6a4a 100644 --- a/libraries/src/Table/Table.php +++ b/libraries/src/Table/Table.php @@ -721,6 +721,7 @@ public function load($keys = null, $reset = true) { throw new \UnexpectedValueException(sprintf('Missing field in database: %s   %s.', get_class($this), $field)); } + // Add the search tuple to the query. $query->where($this->_db->quoteName($field) . ' = ' . $this->_db->quote($value)); } diff --git a/libraries/src/Utility/BufferStreamHandler.php b/libraries/src/Utility/BufferStreamHandler.php index 5b7b8f8523f88..b83d92ba4312b 100644 --- a/libraries/src/Utility/BufferStreamHandler.php +++ b/libraries/src/Utility/BufferStreamHandler.php @@ -243,6 +243,7 @@ protected function seek_cur($offset) protected function seek_end($offset) { $offset += strlen($this->buffers[$this->name]); + if ($offset < 0) { return false; From 7725436675f3bc6a711d3ca385f1012fd4a374d3 Mon Sep 17 00:00:00 2001 From: Guillaume Rischard Date: Sat, 13 Jan 2018 13:19:35 +0100 Subject: [PATCH 024/255] Use https URLs for openstreetmap.org. The oauth endpoint must change soon, the rest is good practice (#19359) --- libraries/joomla/openstreetmap/oauth.php | 12 ++++++------ libraries/joomla/openstreetmap/openstreetmap.php | 4 ++-- .../openstreetmap/JOpenstreetmapChangesetsTest.php | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libraries/joomla/openstreetmap/oauth.php b/libraries/joomla/openstreetmap/oauth.php index 74bd76d7db26a..f10edcf15b660 100644 --- a/libraries/joomla/openstreetmap/oauth.php +++ b/libraries/joomla/openstreetmap/oauth.php @@ -40,14 +40,14 @@ public function __construct(Registry $options = null, JHttp $client = null, JInp { $this->options = isset($options) ? $options : new Registry; - $this->options->def('accessTokenURL', 'http://www.openstreetmap.org/oauth/access_token'); - $this->options->def('authoriseURL', 'http://www.openstreetmap.org/oauth/authorize'); - $this->options->def('requestTokenURL', 'http://www.openstreetmap.org/oauth/request_token'); + $this->options->def('accessTokenURL', 'https://www.openstreetmap.org/oauth/access_token'); + $this->options->def('authoriseURL', 'https://www.openstreetmap.org/oauth/authorize'); + $this->options->def('requestTokenURL', 'https://www.openstreetmap.org/oauth/request_token'); /* - $this->options->def('accessTokenURL', 'http://api06.dev.openstreetmap.org/oauth/access_token'); - $this->options->def('authoriseURL', 'http://api06.dev.openstreetmap.org/oauth/authorize'); - $this->options->def('requestTokenURL', 'http://api06.dev.openstreetmap.org/oauth/request_token'); + $this->options->def('accessTokenURL', 'https://api06.dev.openstreetmap.org/oauth/access_token'); + $this->options->def('authoriseURL', 'https://api06.dev.openstreetmap.org/oauth/authorize'); + $this->options->def('requestTokenURL', 'https://api06.dev.openstreetmap.org/oauth/request_token'); */ // Call the JOauth1Client constructor to setup the object. diff --git a/libraries/joomla/openstreetmap/openstreetmap.php b/libraries/joomla/openstreetmap/openstreetmap.php index 6c8632610c468..fb8e2efd5b3ae 100644 --- a/libraries/joomla/openstreetmap/openstreetmap.php +++ b/libraries/joomla/openstreetmap/openstreetmap.php @@ -99,9 +99,9 @@ public function __construct(JOpenstreetmapOauth $oauth = null, Registry $options $this->client = isset($client) ? $client : new JHttp($this->options); // Setup the default API url if not already set. - $this->options->def('api.url', 'http://api.openstreetmap.org/api/0.6/'); + $this->options->def('api.url', 'https://api.openstreetmap.org/api/0.6/'); - // $this->options->def('api.url', 'http://api06.dev.openstreetmap.org/api/0.6/'); + // $this->options->def('api.url', 'https://api06.dev.openstreetmap.org/api/0.6/'); } /** diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php index 3a0e6033bf69c..cba7323d011c9 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php @@ -150,7 +150,7 @@ public function testCreateChangeset() $returnData->code = 200; $returnData->body = $this->sampleXml; - // $path = 'http://api.openstreetmap.org/api/0.6/changeset/create'; + // $path = 'https://api.openstreetmap.org/api/0.6/changeset/create'; $path = 'changeset/create'; $this->client->expects($this->once()) From 51c000b46f02e3d0602bb3783015dd9926de8fb1 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Sat, 13 Jan 2018 05:22:34 -0700 Subject: [PATCH 025/255] [CS] Code Style round 1 fixes for libraries/scr (#19177) * PHPCS2-Auto Fixers Applied - No blank line found after control structure - Please consider an empty line before the if statement - Please consider an empty line before the foreach statement - Expected 1 space before "?"; 0 found - Expected 1 space after ":"; 0 found - Please consider an empty line before the return statement - Fix some BlockComments * Method signatures don't have space before opening parenthesis * remove additional line after block comment * With multi lines comment, it should be `/*` and not `/**`. `/**` is only for docblocks * strip the code coverage annotations out of the code * remove extra line * Fix Random extra lines * Fix indentation. * Fix multi line remove extra line --- .../src/Application/ApplicationHelper.php | 1 + libraries/src/Application/CliApplication.php | 2 -- .../src/Application/DaemonApplication.php | 9 ----- libraries/src/Application/WebApplication.php | 19 ++++------ libraries/src/Client/FtpClient.php | 4 +++ libraries/src/Component/ComponentHelper.php | 1 + .../src/Component/Router/Rules/MenuRules.php | 4 +++ .../Component/Router/Rules/NomenuRules.php | 3 ++ libraries/src/Document/HtmlDocument.php | 1 + libraries/src/Environment/Browser.php | 35 ++++++++++--------- libraries/src/Feed/FeedParser.php | 1 + libraries/src/Feed/Parser/AtomParser.php | 6 ++++ libraries/src/Filter/InputFilter.php | 1 + libraries/src/Form/Field/ContenttypeField.php | 1 - libraries/src/Form/FormHelper.php | 2 ++ libraries/src/Form/Rule/PasswordRule.php | 2 +- libraries/src/Form/Rule/UrlRule.php | 2 ++ 17 files changed, 53 insertions(+), 41 deletions(-) diff --git a/libraries/src/Application/ApplicationHelper.php b/libraries/src/Application/ApplicationHelper.php index ead1091ea1e41..cb014332280de 100644 --- a/libraries/src/Application/ApplicationHelper.php +++ b/libraries/src/Application/ApplicationHelper.php @@ -97,6 +97,7 @@ public static function stringURLSafe($string, $language = '') $languageParams = ComponentHelper::getParams('com_languages'); $language = $languageParams->get('site'); } + $output = \JFilterOutput::stringURLSafe($string, $language); } diff --git a/libraries/src/Application/CliApplication.php b/libraries/src/Application/CliApplication.php index 081dbe5863db3..4f7609ef4f732 100644 --- a/libraries/src/Application/CliApplication.php +++ b/libraries/src/Application/CliApplication.php @@ -55,12 +55,10 @@ class CliApplication extends BaseApplication public function __construct(Cli $input = null, Registry $config = null, \JEventDispatcher $dispatcher = null) { // Close the application if we are not executed from the command line. - // @codeCoverageIgnoreStart if (!defined('STDOUT') || !defined('STDIN') || !isset($_SERVER['argv'])) { $this->close(); } - // @codeCoverageIgnoreEnd // If an input object is given use it. if ($input instanceof Input) diff --git a/libraries/src/Application/DaemonApplication.php b/libraries/src/Application/DaemonApplication.php index 133e99cc0d877..b3c63502c38de 100644 --- a/libraries/src/Application/DaemonApplication.php +++ b/libraries/src/Application/DaemonApplication.php @@ -111,7 +111,6 @@ class DaemonApplication extends CliApplication public function __construct(\JInputCli $input = null, Registry $config = null, \JEventDispatcher $dispatcher = null) { // Verify that the process control extension for PHP is available. - // @codeCoverageIgnoreStart if (!defined('SIGHUP')) { \JLog::add('The PCNTL extension for PHP is not available.', \JLog::ERROR); @@ -124,7 +123,6 @@ public function __construct(\JInputCli $input = null, Registry $config = null, \ \JLog::add('The POSIX extension for PHP is not available.', \JLog::ERROR); throw new \RuntimeException('The POSIX extension for PHP is not available.'); } - // @codeCoverageIgnoreEnd // Call the parent constructor. parent::__construct($input, $config, $dispatcher); @@ -406,7 +404,6 @@ public function execute() * * @return void * - * @codeCoverageIgnore * @since 11.1 */ public function restart() @@ -420,7 +417,6 @@ public function restart() * * @return void * - * @codeCoverageIgnore * @since 11.1 */ public function stop() @@ -667,7 +663,6 @@ protected function fork() * * @return void * - * @codeCoverageIgnore * @since 11.1 */ protected function gc() @@ -848,7 +843,6 @@ protected function postFork() * * @return integer The child process exit code. * - * @codeCoverageIgnore * @see pcntl_wexitstatus() * @since 11.3 */ @@ -865,7 +859,6 @@ protected function pcntlChildExitStatus($status) * failure, a -1 will be returned in the parent's context, no child process * will be created, and a PHP error is raised. * - * @codeCoverageIgnore * @see pcntl_fork() * @since 11.3 */ @@ -885,7 +878,6 @@ protected function pcntlFork() * * @return boolean True on success. * - * @codeCoverageIgnore * @see pcntl_signal() * @since 11.3 */ @@ -904,7 +896,6 @@ protected function pcntlSignal($signal, $handler, $restart = true) * @return integer The process ID of the child which exited, -1 on error or zero if WNOHANG * was provided as an option (on wait3-available systems) and no child was available. * - * @codeCoverageIgnore * @see pcntl_wait() * @since 11.3 */ diff --git a/libraries/src/Application/WebApplication.php b/libraries/src/Application/WebApplication.php index 62dca7f21512a..57c7f47ecdf12 100644 --- a/libraries/src/Application/WebApplication.php +++ b/libraries/src/Application/WebApplication.php @@ -451,24 +451,20 @@ protected function compress() if (($supported[$encoding] == 'gz') || ($supported[$encoding] == 'deflate')) { // Verify that the server supports gzip compression before we attempt to gzip encode the data. - // @codeCoverageIgnoreStart if (!extension_loaded('zlib') || ini_get('zlib.output_compression')) { continue; } - // @codeCoverageIgnoreEnd // Attempt to gzip encode the data with an optimal level 4. $data = $this->getBody(); $gzdata = gzencode($data, 4, ($supported[$encoding] == 'gz') ? FORCE_GZIP : FORCE_DEFLATE); // If there was a problem encoding the data just try the next encoding scheme. - // @codeCoverageIgnoreStart if ($gzdata === false) { continue; } - // @codeCoverageIgnoreEnd // Set the encoding headers. $this->setHeader('Content-Encoding', $encoding); @@ -713,13 +709,16 @@ public function setHeader($name, $value, $replace = false) // Create an array of duplicate header names $keys = false; + if ($this->response->headers) { $names = array(); + foreach ($this->response->headers as $key => $header) { $names[$key] = $header['name']; } + // Find existing headers by name $keys = array_keys($names, $name); } @@ -730,12 +729,13 @@ public function setHeader($name, $value, $replace = false) $this->response->headers = array_diff_key($this->response->headers, array_flip($keys)); } - /** + /* * If no keys found, safe to insert (!$keys) * If ($keys && $replace) it's a replacement and previous have been deleted * If ($keys && !in_array...) it's a multiple value header */ $single = in_array($name, $this->singleValueResponseHeaders); + if ($value && (!$keys || ($keys && ($replace || !$single)))) { // Add the header to the internal array. @@ -785,18 +785,18 @@ public function sendHeaders() { // Creating an array of headers, making arrays of headers with multiple values $val = array(); + foreach ($this->response->headers as $header) { if ('status' == strtolower($header['name'])) { // 'status' headers indicate an HTTP status, and need to be handled slightly differently $status = $this->getHttpStatusValue($header['value']); - $this->header($status, true, (int) $header['value']); } else { - $val[$header['name']] = !isset($val[$header['name']])?$header['value']:implode(', ', array($val[$header['name']], $header['value'])); + $val[$header['name']] = !isset($val[$header['name']]) ? $header['value'] : implode(', ', array($val[$header['name']], $header['value'])); $this->header($header['name'] . ': ' . $val[$header['name']], true); } } @@ -930,7 +930,6 @@ public function getSession() * * @return boolean True if the connection is valid and normal. * - * @codeCoverageIgnore * @see connection_status() * @since 11.3 */ @@ -945,7 +944,6 @@ protected function checkConnectionAlive() * * @return boolean True if the headers have already been sent. * - * @codeCoverageIgnore * @see headers_sent() * @since 11.3 */ @@ -1076,7 +1074,6 @@ public function flushAssets() * * @return void * - * @codeCoverageIgnore * @see header() * @since 11.3 */ @@ -1228,7 +1225,6 @@ public function afterSessionStart() protected function loadSystemUris($requestUri = null) { // Set the request URI. - // @codeCoverageIgnoreStart if (!empty($requestUri)) { $this->set('uri.request', $requestUri); @@ -1237,7 +1233,6 @@ protected function loadSystemUris($requestUri = null) { $this->set('uri.request', $this->detectRequestUri()); } - // @codeCoverageIgnoreEnd // Check to see if an explicit base URI has been set. $siteUri = trim($this->get('site_uri')); diff --git a/libraries/src/Client/FtpClient.php b/libraries/src/Client/FtpClient.php index fd5f6de91b80e..8eb7c673e919a 100644 --- a/libraries/src/Client/FtpClient.php +++ b/libraries/src/Client/FtpClient.php @@ -276,6 +276,7 @@ public function connect($host = '127.0.0.1', $port = 21) return false; } + // Set the timeout for this connection ftp_set_option($this->_conn, FTP_TIMEOUT_SEC, $this->_timeout); @@ -861,6 +862,7 @@ public function read($remote, &$buffer) return false; } + // Read tmp buffer contents rewind($tmp); $buffer = ''; @@ -1668,11 +1670,13 @@ public function listDetails($path = null, $type = 'all') $tmp_array['time'] = date('H:i', $timestamp); $tmp_array['name'] = $regs[8]; } + // If we just want files, do not add a folder if ($type == 'files' && $tmp_array['type'] == 1) { continue; } + // If we just want folders, do not add a file if ($type == 'folders' && $tmp_array['type'] == 0) { diff --git a/libraries/src/Component/ComponentHelper.php b/libraries/src/Component/ComponentHelper.php index 32fa15b01aee8..b2888f6c0fd8b 100644 --- a/libraries/src/Component/ComponentHelper.php +++ b/libraries/src/Component/ComponentHelper.php @@ -257,6 +257,7 @@ public static function filterText($text) { $filter->tagBlacklist = array_diff($filter->tagBlacklist, $whiteListTags); } + // Remove whitelisted attributes from filter's default blacklist if ($whiteListAttributes) { diff --git a/libraries/src/Component/Router/Rules/MenuRules.php b/libraries/src/Component/Router/Rules/MenuRules.php index 467074704f72d..129ff9b81534c 100644 --- a/libraries/src/Component/Router/Rules/MenuRules.php +++ b/libraries/src/Component/Router/Rules/MenuRules.php @@ -123,6 +123,7 @@ public function preprocess(&$query) if (is_bool($ids)) { $query['Itemid'] = $this->lookup[$language][$viewLayout]; + return; } @@ -131,6 +132,7 @@ public function preprocess(&$query) if (isset($this->lookup[$language][$viewLayout][(int) $id])) { $query['Itemid'] = $this->lookup[$language][$viewLayout][(int) $id]; + return; } } @@ -141,6 +143,7 @@ public function preprocess(&$query) if (is_bool($ids)) { $query['Itemid'] = $this->lookup[$language][$view]; + return; } @@ -149,6 +152,7 @@ public function preprocess(&$query) if (isset($this->lookup[$language][$view][(int) $id])) { $query['Itemid'] = $this->lookup[$language][$view][(int) $id]; + return; } } diff --git a/libraries/src/Component/Router/Rules/NomenuRules.php b/libraries/src/Component/Router/Rules/NomenuRules.php index ab59a41142088..54f1b43b761b9 100644 --- a/libraries/src/Component/Router/Rules/NomenuRules.php +++ b/libraries/src/Component/Router/Rules/NomenuRules.php @@ -110,6 +110,7 @@ public function build(&$query, &$segments) if (!$menu_found && isset($query['view'])) { $views = $this->router->getViews(); + if (isset($views[$query['view']])) { $view = $views[$query['view']]; @@ -126,8 +127,10 @@ public function build(&$query, &$segments) { $segments[] = str_replace(':', '-', $query[$view->key]); } + unset($query[$views[$query['view']]->key]); } + unset($query['view']); } } diff --git a/libraries/src/Document/HtmlDocument.php b/libraries/src/Document/HtmlDocument.php index 892b4a18fced7..ee9425c9c0d7d 100644 --- a/libraries/src/Document/HtmlDocument.php +++ b/libraries/src/Document/HtmlDocument.php @@ -755,6 +755,7 @@ protected function _parseTemplate() $template_tags_last[$matches[0][$i]] = array('type' => $type, 'name' => $name, 'attribs' => $attribs); } } + // Reverse the last array so the jdocs are in forward order. $template_tags_last = array_reverse($template_tags_last); diff --git a/libraries/src/Environment/Browser.php b/libraries/src/Environment/Browser.php index 5e74cb33b46a5..78e40f77ea216 100644 --- a/libraries/src/Environment/Browser.php +++ b/libraries/src/Environment/Browser.php @@ -227,7 +227,7 @@ public function match($userAgent = null, $accept = null) { $this->_setPlatform(); - /** + /* * Determine if mobile. Note: Some Handhelds have their screen resolution in the * user agent string, which we can use to look for mobile agents. */ @@ -242,15 +242,17 @@ public function match($userAgent = null, $accept = null) $this->mobile = true; } - // We have to check for Edge as the first browser, because Edge has something like: - // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 + /* + * We have to check for Edge as the first browser, because Edge has something like: + * Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 + */ if (preg_match('|Edge\/([0-9.]+)|', $this->agent, $version)) { $this->setBrowser('edge'); if (strpos($version[1], '.') !== false) { - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } else { @@ -262,10 +264,12 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('opera'); - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); - /* Due to changes in Opera UA, we need to check Version/xx.yy, - * but only if version is > 9.80. See: http://dev.opera.com/articles/view/opera-ua-string-changes/ */ + /* + * Due to changes in Opera UA, we need to check Version/xx.yy, + * but only if version is > 9.80. See: http://dev.opera.com/articles/view/opera-ua-string-changes/ + */ if ($this->majorVersion == 9 && $this->minorVersion >= 80) { $this->identifyBrowserVersion(); @@ -277,7 +281,7 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('opera'); - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } elseif (preg_match('/Chrome[\/ ]([0-9.]+)/i', $this->agent, $version) || preg_match('/CrMo[\/ ]([0-9.]+)/i', $this->agent, $version) @@ -285,7 +289,7 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('chrome'); - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } elseif (strpos($this->lowerAgent, 'elaine/') !== false || strpos($this->lowerAgent, 'palmsource') !== false @@ -308,7 +312,7 @@ public function match($userAgent = null, $accept = null) if (strpos($version[1], '.') !== false) { - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } else { @@ -336,8 +340,7 @@ public function match($userAgent = null, $accept = null) } elseif (preg_match('|[Kk]onqueror\/([0-9]+)|', $this->agent, $version) || preg_match('|Safari/([0-9]+)\.?([0-9]+)?|', $this->agent, $version)) { - // Konqueror and Apple's Safari both use the KHTML - // rendering engine. + // Konqueror and Apple's Safari both use the KHTML rendering engine. $this->setBrowser('konqueror'); $this->majorVersion = $version[1]; @@ -357,7 +360,7 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('firefox'); - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } elseif (preg_match('|Lynx\/([0-9]+)|', $this->agent, $version)) { @@ -415,7 +418,7 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('mozilla'); - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } } } @@ -471,7 +474,7 @@ protected function identifyBrowserVersion() { if (preg_match('|Version[/ ]([0-9.]+)|', $this->agent, $version)) { - list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); + list($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); return; } @@ -591,7 +594,7 @@ public function getHTTPProtocol() public function isViewable($mimetype) { $mimetype = strtolower($mimetype); - list ($type, $subtype) = explode('/', $mimetype); + list($type, $subtype) = explode('/', $mimetype); if (!empty($this->accept)) { diff --git a/libraries/src/Feed/FeedParser.php b/libraries/src/Feed/FeedParser.php index 20d70dcb807bd..f942d45f058f5 100644 --- a/libraries/src/Feed/FeedParser.php +++ b/libraries/src/Feed/FeedParser.php @@ -175,6 +175,7 @@ protected function processElement(Feed $feed, \SimpleXMLElement $el, array $name return; } + // Otherwise we treat it like any other element. // First call the internal method. diff --git a/libraries/src/Feed/Parser/AtomParser.php b/libraries/src/Feed/Parser/AtomParser.php index f1f948523e200..0143b2b7db9e8 100644 --- a/libraries/src/Feed/Parser/AtomParser.php +++ b/libraries/src/Feed/Parser/AtomParser.php @@ -215,11 +215,14 @@ protected function processFeedEntry(FeedEntry $entry, \SimpleXMLElement $el) if (filter_var($entry->uri, FILTER_VALIDATE_URL) === false && !is_null($el->link) && $el->link) { $link = $el->link; + if (is_array($link)) { $link = $this->bestLinkForUri($link); } + $uri = (string) $link['href']; + if ($uri) { $entry->uri = $uri; @@ -237,17 +240,20 @@ protected function processFeedEntry(FeedEntry $entry, \SimpleXMLElement $el) private function bestLinkForUri(array $links) { $linkPrefs = array('', 'self', 'alternate'); + foreach ($linkPrefs as $pref) { foreach ($links as $link) { $rel = (string) $link['rel']; + if ($rel === $pref) { return $link; } } } + return array_shift($links); } } diff --git a/libraries/src/Filter/InputFilter.php b/libraries/src/Filter/InputFilter.php index bff39766445c6..439f3db384786 100644 --- a/libraries/src/Filter/InputFilter.php +++ b/libraries/src/Filter/InputFilter.php @@ -429,6 +429,7 @@ public function clean($source, $type = 'string') $source[$key] = $this->_remove($this->_decode($value)); } } + $result = $source; } else diff --git a/libraries/src/Form/Field/ContenttypeField.php b/libraries/src/Form/Field/ContenttypeField.php index 51f411962f48a..6950dfdf0eaa7 100644 --- a/libraries/src/Form/Field/ContenttypeField.php +++ b/libraries/src/Form/Field/ContenttypeField.php @@ -104,7 +104,6 @@ protected function getOptions() { $option->text = \JText::_($option->string); } - } return $options; diff --git a/libraries/src/Form/FormHelper.php b/libraries/src/Form/FormHelper.php index 2d65809e3849d..c25780d3b252c 100644 --- a/libraries/src/Form/FormHelper.php +++ b/libraries/src/Form/FormHelper.php @@ -223,6 +223,7 @@ protected static function loadClass($entity, $type) $paths[] = $path; } } + // Break off the end of the complex type. $type = substr($type, $pos + 1); } @@ -415,6 +416,7 @@ protected static function addPrefix($entity, $new = null) foreach ($new as $prefix) { $prefix = trim($prefix); + if (in_array($prefix, $prefixes)) { continue; diff --git a/libraries/src/Form/Rule/PasswordRule.php b/libraries/src/Form/Rule/PasswordRule.php index 68e723fc7b6cd..a926b5668e28c 100644 --- a/libraries/src/Form/Rule/PasswordRule.php +++ b/libraries/src/Form/Rule/PasswordRule.php @@ -43,7 +43,7 @@ class PasswordRule extends FormRule */ public function test(\SimpleXMLElement $element, $value, $group = null, Registry $input = null, Form $form = null) { - $meter = isset($element['strengthmeter']) ? ' meter="0"' : '1'; + $meter = isset($element['strengthmeter']) ? ' meter="0"' : '1'; $threshold = isset($element['threshold']) ? (int) $element['threshold'] : 66; $minimumLength = isset($element['minimum_length']) ? (int) $element['minimum_length'] : 4; $minimumIntegers = isset($element['minimum_integers']) ? (int) $element['minimum_integers'] : 0; diff --git a/libraries/src/Form/Rule/UrlRule.php b/libraries/src/Form/Rule/UrlRule.php index d186beed21911..c8a99f40fa3e9 100644 --- a/libraries/src/Form/Rule/UrlRule.php +++ b/libraries/src/Form/Rule/UrlRule.php @@ -82,11 +82,13 @@ public function test(\SimpleXMLElement $element, $value, $group = null, Registry return false; } + // The best we can do for the rest is make sure that the path exists and is valid UTF-8. if (!array_key_exists('path', $urlParts) || !StringHelper::valid((string) $urlParts['path'])) { return false; } + // The internal URL seems to be good. return true; } From b410d74515af3d98d6d1078f862f1ec78fb5b995 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Sun, 14 Jan 2018 02:36:24 -0700 Subject: [PATCH 026/255] Create apcu-7.2.ini (#19366) --- build/travis/phpenv/apcu-7.2.ini | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 build/travis/phpenv/apcu-7.2.ini diff --git a/build/travis/phpenv/apcu-7.2.ini b/build/travis/phpenv/apcu-7.2.ini new file mode 100644 index 0000000000000..019901d1ba62c --- /dev/null +++ b/build/travis/phpenv/apcu-7.2.ini @@ -0,0 +1,2 @@ +apc.enabled=true +apc.enable_cli=true From a5e44f0116fec28a0cd3eac6c29da40d71fc293f Mon Sep 17 00:00:00 2001 From: infograf768 Date: Mon, 15 Jan 2018 16:02:26 +0100 Subject: [PATCH 027/255] Multilanguage: Correcting display of associated articles when they are Unpublished or when user has no access to them (#19314) * Multilanguage: Correcting display of associated articles when they are Unpublished or when use has no access to them * make drone happy --- .../com_content/helpers/association.php | 23 ++++++++++++++++++- .../views/category/tmpl/default_articles.php | 14 +++++------ .../content/info_block/associations.php | 14 +++++------ 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/components/com_content/helpers/association.php b/components/com_content/helpers/association.php index a19ac24897816..b48bb2947bb5c 100644 --- a/components/com_content/helpers/association.php +++ b/components/com_content/helpers/association.php @@ -35,6 +35,8 @@ public static function getAssociations($id = 0, $view = null) $jinput = JFactory::getApplication()->input; $view = $view === null ? $jinput->get('view') : $view; $id = empty($id) ? $jinput->getInt('id') : $id; + $user = JFactory::getUser(); + $groups = implode(',', $user->getAuthorisedViewLevels()); if ($view === 'article') { @@ -46,7 +48,26 @@ public static function getAssociations($id = 0, $view = null) foreach ($associations as $tag => $item) { - $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language); + if ($item->language != JFactory::getLanguage()->getTag()) + { + $arrId = explode(':', $item->id); + $assocId = $arrId[0]; + + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->select($db->qn('state')) + ->from($db->qn('#__content')) + ->where($db->qn('id') . ' = ' . (int) ($assocId)) + ->where('access IN (' . $groups . ')'); + $db->setQuery($query); + + $result = (int) $db->loadResult(); + + if ($result > 0) + { + $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language); + } + } } return $return; diff --git a/components/com_content/views/category/tmpl/default_articles.php b/components/com_content/views/category/tmpl/default_articles.php index 7affe0bdded3a..311a90ff5fa9d 100644 --- a/components/com_content/views/category/tmpl/default_articles.php +++ b/components/com_content/views/category/tmpl/default_articles.php @@ -146,14 +146,12 @@ params->get('show_associations')) : ?> id); ?> - lang_code != JFactory::getLanguage()->getTag()) : ?> - params->get('flags', 1) && $association['language']->image) : ?> - image . '.gif', $association['language']->title_native, array('title' => $association['language']->title_native), true); ?> -    - - sef; ?> -  sef); ?>  - + params->get('flags', 1) && $association['language']->image) : ?> + image . '.gif', $association['language']->title_native, array('title' => $association['language']->title_native), true); ?> +    + + sef; ?> +  sef); ?>  diff --git a/layouts/joomla/content/info_block/associations.php b/layouts/joomla/content/info_block/associations.php index 5f7677c1dec8d..02da4986c7c7e 100644 --- a/layouts/joomla/content/info_block/associations.php +++ b/layouts/joomla/content/info_block/associations.php @@ -15,14 +15,12 @@
    - lang_code != JFactory::getLanguage()->getTag()) : ?> - params->get('flags', 1) && $association['language']->image) : ?> - image . '.gif', $association['language']->title_native, array('title' => $association['language']->title_native), true); ?> -    - - sef; ?> -  sef); ?>  - + params->get('flags', 1) && $association['language']->image) : ?> + image . '.gif', $association['language']->title_native, array('title' => $association['language']->title_native), true); ?> +    + + sef; ?> +  sef); ?> 
    From 2be6b7ed4d4dad1ea9498a38324af3556e3883f0 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Mon, 15 Jan 2018 15:03:27 +0000 Subject: [PATCH 028/255] Select not click (#19310) Update to en-gb language files to take into account mobile/tablet use where you can not click. This was first done in #7430 but some have slipped back in Basically it replaces click with select - Click refers to a mouse and is not relevant if using a tablet or a phone without a keyboard. NOTES I have kept banner impressions to refer to clicks I have kept weblink impressions to refer to clicks I have kept joomla-update as "one-click" as that was the marketing Please remember the most important object of the exercise is to make the language files consistent --- administrator/language/en-GB/en-GB.mod_menu.ini | 2 +- .../language/en-GB/en-GB.plg_sampledata_blog.ini | 8 ++++---- administrator/language/en-GB/en-GB.plg_system_stats.ini | 2 +- .../en-GB/en-GB.plg_system_updatenotification.ini | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/administrator/language/en-GB/en-GB.mod_menu.ini b/administrator/language/en-GB/en-GB.mod_menu.ini index 6130021ba8fa9..ab0dd5fed53aa 100644 --- a/administrator/language/en-GB/en-GB.mod_menu.ini +++ b/administrator/language/en-GB/en-GB.mod_menu.ini @@ -78,7 +78,7 @@ MOD_MENU_HOME_MULTIPLE="Warning! Multiple homes!" MOD_MENU_IMPORTANT_ITEM_MENU_MANAGER="Menu Manager" MOD_MENU_IMPORTANT_ITEM_MODULE_MANAGER="Module Manager" MOD_MENU_IMPORTANT_ITEM_COMPONENTS_CONTAINER="Components Container" -MOD_MENU_IMPORTANT_ITEMS_INACCESSIBLE_LIST_WARNING="The administrator menu %1$s does not contain - %2$s. Click to turn on the menu recovery mode." +MOD_MENU_IMPORTANT_ITEMS_INACCESSIBLE_LIST_WARNING="The administrator menu %1$s does not contain - %2$s. Select to turn on the menu recovery mode." MOD_MENU_INSTALLER_SUBMENU_DATABASE="Database" MOD_MENU_INSTALLER_SUBMENU_DISCOVER="Discover" MOD_MENU_INSTALLER_SUBMENU_INSTALL="Install" diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini b/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini index e5de0664f9729..314f11e9eddd5 100644 --- a/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini +++ b/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini @@ -7,10 +7,10 @@ PLG_SAMPLEDATA_BLOG="Sample Data - Blog" PLG_SAMPLEDATA_BLOG_OVERVIEW_DESC="Sample data which will set up a blog site.
    If the site is multilingual, the data will be tagged to the active backend language." PLG_SAMPLEDATA_BLOG_OVERVIEW_TITLE="Blog Sample data" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_0_FULLTEXT="" -PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_0_INTROTEXT="

    This tells you a bit about this blog and the person who writes it.

    When you are logged in you will be able to edit this page by clicking on the edit icon.

    " +PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_0_INTROTEXT="

    This tells you a bit about this blog and the person who writes it.

    When you are logged in you will be able to edit this page by selecting the edit icon.

    " PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_0_TITLE="About" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_1_FULLTEXT="" -PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_1_INTROTEXT="

    Here are some basic tips for working on your site.

    • Joomla! has a 'front end' that you are looking at now and an 'administrator' or back end' which is where you do the more advanced work of creating your site such as setting up the menus and deciding what modules to show. You need to login to the administrator separately using the same user name and password that you used to login to this part of the site.
    • One of the first things you will probably want to do is change the site title and tag line and to add a logo. To do this click on the Template Settings link in the top menu. To change your site description, browser title, default email and other items, click Site Settings. More advanced configuration options are available in the administrator.
    • To totally change the look of your site you will probably want to install a new template. In the Extensions menu click on Extensions Manager and then go to the Install tab. There are many free and commercial templates available for Joomla.
    • As you have already seen, you can control who can see different parts of you site. When you work with modules, articles or weblinks setting the Access level to Registered will mean that only logged in users can see them
    • When you create a new article or other kind of content you also can save it as Published or Unpublished. If it is Unpublished site visitors will not be able to see it but you will.
    • You can learn much more about working with Joomla from the Joomla documentation site and get help from other users at the Joomla forums. In the administrator there are help buttons on every page that provide detailed information about the functions on that page.
    " +PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_1_INTROTEXT="

    Here are some basic tips for working on your site.

    • Joomla! has a 'front end' that you are looking at now and an 'administrator' or back end' which is where you do the more advanced work of creating your site such as setting up the menus and deciding what modules to show. You need to login to the administrator separately using the same user name and password that you used to login to this part of the site.
    • One of the first things you will probably want to do is change the site title and tag line and to add a logo. To do this select the Template Settings link in the top menu. To change your site description, browser title, default email and other items, select Site Settings. More advanced configuration options are available in the administrator.
    • To totally change the look of your site you will probably want to install a new template. In the Extensions menu select Extensions Manager and then go to the Install tab. There are many free and commercial templates available for Joomla.
    • As you have already seen, you can control who can see different parts of you site. When you work with modules, articles or weblinks setting the Access level to Registered will mean that only logged in users can see them
    • When you create a new article or other kind of content you also can save it as Published or Unpublished. If it is Unpublished site visitors will not be able to see it but you will.
    • You can learn much more about working with Joomla from the Joomla documentation site and get help from other users at the Joomla forums. In the administrator there are help buttons on every page that provide detailed information about the functions on that page.
    " PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_1_TITLE="Working on Your Site" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_2_FULLTEXT="" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_2_INTROTEXT="

    This is a sample blog posting.

    If you log in to the site (the Author Login link is on the very bottom of this page) you will be able to edit it and all of the other existing articles. You will also be able to create a new article and make other changes to the site.

    As you add and modify articles you will see how your site changes and also how you can customise it in various ways.

    Go ahead, you can't break it.

    " @@ -19,10 +19,10 @@ PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_3_FULLTEXT="

    On the full page y PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_3_INTROTEXT="

    Your home page is set to display the four most recent articles from the blog category in a column. Then there are links to the 4 next oldest articles. You can change those numbers by editing the content options settings in the blog tab in your site administrator. There is a link to your site administrator in the top menu.

    If you want to have your blog post broken into two parts, an introduction and then a full length separate page, use the Read More button to insert a break.

    " PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_3_TITLE="About your home page" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_4_FULLTEXT="" -PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_4_INTROTEXT="

    Your site has some commonly used modules already preconfigured. These include:

    • Image Module which holds the image beneath the menu. This is a Custom module that you can edit to change the image.
    • Most Read Posts which lists articles based on the number of times they have been read.
    • Older Articles which lists out articles by month.
    • Syndicate which allows your readers to read your posts in a news reader.
    • Popular Tags, which will appear if you use tagging on your articles. Enter a tag in the Tags field when editing.

    Each of these modules has many options which you can experiment with in the Module Manager in your site Administrator. Moving your mouse over a module and clicking on the edit icon will take you to an edit screen for that module. Always be sure to save and close any module you edit.

    Joomla! also includes many other modules you can incorporate in your site. As you develop your site you may want to add more module that you can find at the Joomla Extensions Directory.

    " +PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_4_INTROTEXT="

    Your site has some commonly used modules already preconfigured. These include:

    • Image Module which holds the image beneath the menu. This is a Custom module that you can edit to change the image.
    • Most Read Posts which lists articles based on the number of times they have been read.
    • Older Articles which lists out articles by month.
    • Syndicate which allows your readers to read your posts in a news reader.
    • Popular Tags, which will appear if you use tagging on your articles. Enter a tag in the Tags field when editing.

    Each of these modules has many options which you can experiment with in the Module Manager in your site Administrator. Moving your mouse over a module and selecting the edit icon will take you to an edit screen for that module. Always be sure to save and close any module you edit.

    Joomla! also includes many other modules you can incorporate in your site. As you develop your site you may want to add more module that you can find at the Joomla Extensions Directory.

    " PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_4_TITLE="Your Modules" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_5_FULLTEXT="" -PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_5_INTROTEXT="

    Templates control the look and feel of your website.

    This blog is installed with the Protostar template.

    You can edit the options by clicking on the Working on Your Site, Template Settings link in the top menu (visible when you login).

    For example you can change the site background color, highlights color, site title, site description and title font used.

    More options are available in the site administrator. You may also install a new template using the extension manager.

    " +PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_5_INTROTEXT="

    Templates control the look and feel of your website.

    This blog is installed with the Protostar template.

    You can edit the options by selecting the Working on Your Site, Template Settings link in the top menu (visible when you login).

    For example you can change the site background color, highlights color, site title, site description and title font used.

    More options are available in the site administrator. You may also install a new template using the extension manager.

    " PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_ARTICLE_5_TITLE="Your Template" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_CATEGORY_0_TITLE="Blog" PLG_SAMPLEDATA_BLOG_SAMPLEDATA_CONTENT_CATEGORY_1_TITLE="Help" diff --git a/administrator/language/en-GB/en-GB.plg_system_stats.ini b/administrator/language/en-GB/en-GB.plg_system_stats.ini index 1d34df0f317ea..9bba096869b5e 100644 --- a/administrator/language/en-GB/en-GB.plg_system_stats.ini +++ b/administrator/language/en-GB/en-GB.plg_system_stats.ini @@ -26,7 +26,7 @@ PLG_SYSTEM_STATS_MODE_OPTION_NEVER_SEND="Never send" PLG_SYSTEM_STATS_MODE_OPTION_ON_DEMAND="On demand" PLG_SYSTEM_STATS_MSG_ALLOW_SENDING_DATA="Enable Joomla Statistics?" PLG_SYSTEM_STATS_MSG_JOOMLA_WANTS_TO_SEND_DATA="In order to better understand our install base and end user environments it is helpful if you send some site information back to a Joomla! controlled central server. No identifying data is captured at any point. You can change these settings later from Plugins > System - Joomla! Statistics." -PLG_SYSTEM_STATS_MSG_WHAT_DATA_WILL_BE_SENT="Click here to see the information that will be sent." +PLG_SYSTEM_STATS_MSG_WHAT_DATA_WILL_BE_SENT="Select here to see the information that will be sent." PLG_SYSTEM_STATS_RESET_UNIQUE_ID="Reset Unique ID" PLG_SYSTEM_STATS_UNIQUE_ID_DESC="An identifier that allows the Joomla! project to count unique installs of the plugin. This is sent with the statistics back to the server." PLG_SYSTEM_STATS_UNIQUE_ID_LABEL="Unique ID" diff --git a/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini b/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini index 63bb06c5554c2..1b472ca576c34 100644 --- a/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini +++ b/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini @@ -15,7 +15,7 @@ PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_DESC="A comma separated list of the email ad ; [RELEASENEWS] URL to the release news on joomla.org ; \n Newline character. Use it to start a new line in the email. PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_SUBJECT="Joomla! Update available for [SITENAME] – [URL]" -PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_BODY="This email IS NOT sent by Joomla.org. It is sent automatically by your own site,\n[SITENAME] - [URL] \n\n================================================================================\nUPDATE INFORMATION\n================================================================================\n\nYour site has discovered that there is an updated version of Joomla! available for download.\n\nJoomla! version currently installed: [CURVERSION]\nJoomla! version available for installation: [NEWVERSION]\n\nThis email is sent to you by your site to remind you of this fact.\nThe Joomla! project will never contact you directly about available updates of Joomla! on your site.\n\n================================================================================\nUPDATE INSTRUCTIONS\n================================================================================\n\nTo install the update on [SITENAME] please click the following link. (If the URL is not a link, copy & paste it to your browser).\n\nUpdate link: [LINK]\n\nRelease News can be found here: [RELEASENEWS]\n\n================================================================================\nWHY AM I RECEIVING THIS EMAIL?\n================================================================================\n\nThis email has been automatically sent by a plugin provided by Joomla!, the software which powers your site.\nThis plugin looks for updated versions of Joomla! and sends an email notification to its administrators.\nYou will receive several similar emails from your site until you either update the software or disable these emails.\n\nTo disable these emails, please unpublish the 'System - Joomla! Update Notification' plugin in the Plugin Manager on your site.\n\nIf you do not understand what Joomla! is and what you need to do please do not contact the Joomla! project.\nThey are NOT sending you this email and they cannot help you. Instead, please contact the person who built or manages your site.\n\nIf you are the person who built or manages your website, please note that this plugin may have been activated automatically when you installed or updated Joomla! on your site.\n\n================================================================================\nWHO SENT ME THIS EMAIL?\n================================================================================\n\nThis email is sent to you by your own site, [SITENAME]" +PLG_SYSTEM_UPDATENOTIFICATION_EMAIL_BODY="This email IS NOT sent by Joomla.org. It is sent automatically by your own site,\n[SITENAME] - [URL] \n\n================================================================================\nUPDATE INFORMATION\n================================================================================\n\nYour site has discovered that there is an updated version of Joomla! available for download.\n\nJoomla! version currently installed: [CURVERSION]\nJoomla! version available for installation: [NEWVERSION]\n\nThis email is sent to you by your site to remind you of this fact.\nThe Joomla! project will never contact you directly about available updates of Joomla! on your site.\n\n================================================================================\nUPDATE INSTRUCTIONS\n================================================================================\n\nTo install the update on [SITENAME] please select the following link. (If the URL is not a link, copy & paste it to your browser).\n\nUpdate link: [LINK]\n\nRelease News can be found here: [RELEASENEWS]\n\n================================================================================\nWHY AM I RECEIVING THIS EMAIL?\n================================================================================\n\nThis email has been automatically sent by a plugin provided by Joomla!, the software which powers your site.\nThis plugin looks for updated versions of Joomla! and sends an email notification to its administrators.\nYou will receive several similar emails from your site until you either update the software or disable these emails.\n\nTo disable these emails, please unpublish the 'System - Joomla! Update Notification' plugin in the Plugin Manager on your site.\n\nIf you do not understand what Joomla! is and what you need to do please do not contact the Joomla! project.\nThey are NOT sending you this email and they cannot help you. Instead, please contact the person who built or manages your site.\n\nIf you are the person who built or manages your website, please note that this plugin may have been activated automatically when you installed or updated Joomla! on your site.\n\n================================================================================\nWHO SENT ME THIS EMAIL?\n================================================================================\n\nThis email is sent to you by your own site, [SITENAME]" PLG_SYSTEM_UPDATENOTIFICATION_LANGUAGE_OVERRIDE_LBL="Email Language" PLG_SYSTEM_UPDATENOTIFICATION_LANGUAGE_OVERRIDE_DESC="If you choose Auto (default), the update notification email to Super Users will be in the site language at the time the plugin is triggered. By selecting a language here you are forcing the update notification emails to be sent in this specific language." PLG_SYSTEM_UPDATENOTIFICATION_LANGUAGE_OVERRIDE_NONE="Auto" From f761c08b22620d387921ed9150428f1d7aee8d13 Mon Sep 17 00:00:00 2001 From: Michael Richey Date: Mon, 15 Jan 2018 09:04:06 -0600 Subject: [PATCH 029/255] additional complex value test (#19283) * additional complex value test in my test case, I neglected to test for a single dimension array with non-numeric keys (a complex field, with a simple dataset) This test excluded the normal arrays (multiselects and checkboxes) while identifying complex datasets by examining the array keys. The test is now an array which has a normal count that does not match the recursive count (multidimensional) OR an array with non-numeric keys. * code style --- plugins/system/fields/fields.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/fields/fields.php b/plugins/system/fields/fields.php index ff889bb45421f..23afd468bd8e0 100644 --- a/plugins/system/fields/fields.php +++ b/plugins/system/fields/fields.php @@ -91,7 +91,7 @@ public function onContentAfterSave($context, $item, $isNew, $data = array()) $value = key_exists($field->name, $fieldsData) ? $fieldsData[$field->name] : null; // JSON encode value for complex fields - if (is_array($value) && count($value, COUNT_NORMAL) !== count($value, COUNT_RECURSIVE)) + if (is_array($value) && (count($value, COUNT_NORMAL) !== count($value, COUNT_RECURSIVE) || !count(array_filter(array_keys($value), 'is_numeric')))) { $value = json_encode($value); } From 515790e629db548035b71b389d0b95eb6fcbf1d7 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch Date: Mon, 15 Jan 2018 16:04:48 +0100 Subject: [PATCH 030/255] Improve the loading speed of category items (#19261) * Improve categories load speed * CS fix * Delete redundant column alias --- libraries/joomla/database/driver.php | 2 +- libraries/src/Categories/Categories.php | 59 ++++++++++++++----------- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/libraries/joomla/database/driver.php b/libraries/joomla/database/driver.php index 4b46d85d2a5ba..769c0b8d0c588 100644 --- a/libraries/joomla/database/driver.php +++ b/libraries/joomla/database/driver.php @@ -121,7 +121,7 @@ abstract class JDatabaseDriver extends JDatabase implements JDatabaseInterface protected $options; /** - * @var mixed The current SQL statement to execute. + * @var JDatabaseQuery|string The current SQL statement to execute. * @since 11.1 */ protected $sql; diff --git a/libraries/src/Categories/Categories.php b/libraries/src/Categories/Categories.php index 25172c7e48002..203b8c7b92064 100644 --- a/libraries/src/Categories/Categories.php +++ b/libraries/src/Categories/Categories.php @@ -211,6 +211,7 @@ public function get($id = 'root', $forceload = false) */ protected function _load($id) { + /** @var JDatabaseDriver */ $db = Factory::getDbo(); $app = Factory::getApplication(); $user = Factory::getUser(); @@ -219,13 +220,13 @@ protected function _load($id) // Record that has this $id has been checked $this->_checkedCategories[$id] = true; - $query = $db->getQuery(true); + $query = $db->getQuery(true) + ->select('c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time, + c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level, + c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id, + c.path, c.published, c.rgt, c.title, c.modified_user_id, c.version' + ); - // Right join with c for category - $query->select('c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time, - c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level, - c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id, - c.path, c.published, c.rgt, c.title, c.modified_user_id, c.version'); $case_when = ' CASE WHEN '; $case_when .= $query->charLength('c.alias', '!=', '0'); $case_when .= ' THEN '; @@ -233,8 +234,8 @@ protected function _load($id) $case_when .= $query->concatenate(array($c_id, 'c.alias'), ':'); $case_when .= ' ELSE '; $case_when .= $c_id . ' END as slug'; + $query->select($case_when) - ->from('#__categories as c') ->where('(c.extension=' . $db->quote($extension) . ' OR c.extension=' . $db->quote('system') . ')'); if ($this->_options['access']) @@ -253,51 +254,59 @@ protected function _load($id) if ($id != 'root') { // Get the selected category - $query->where('s.id=' . (int) $id); + $query->from($db->quoteName('#__categories', 's')) + ->where('s.id = ' . (int) $id); if ($app->isClient('site') && Multilanguage::isEnabled()) { - $query->join('LEFT', '#__categories AS s ON (s.lft < c.lft AND s.rgt > c.rgt AND c.language in (' . $db->quote(Factory::getLanguage()->getTag()) - . ',' . $db->quote('*') . ')) OR (s.lft >= c.lft AND s.rgt <= c.rgt)'); + // For the most part, we use c.lft column, which index is properly used instead of c.rgt + $query->innerJoin( + $db->quoteName('#__categories', 'c') + . ' ON (s.lft < c.lft AND c.lft < s.rgt AND c.language IN (' + . $db->quote(Factory::getLanguage()->getTag()) . ',' . $db->quote('*') . '))' + . ' OR (c.lft <= s.lft AND s.rgt <= c.rgt)' + ); } else { - $query->join('LEFT', '#__categories AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)'); + $query->innerJoin( + $db->quoteName('#__categories', 'c') + . ' ON (s.lft <= c.lft AND c.lft < s.rgt)' + . ' OR (c.lft < s.lft AND s.rgt < c.rgt)' + ); } } else { + $query->from($db->quoteName('#__categories', 'c')); + if ($app->isClient('site') && Multilanguage::isEnabled()) { - $query->where('c.language in (' . $db->quote(Factory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); + $query->where('c.language IN (' . $db->quote(Factory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); } } // Note: i for item if ($this->_options['countItems'] == 1) { - $queryjoin = $db->quoteName($this->_table) . ' AS i ON i.' . $db->quoteName($this->_field) . ' = c.id'; + $subQuery = $db->getQuery(true) + ->select('COUNT(i.' . $db->quoteName($this->_key) . ')') + ->from($db->quoteName($this->_table, 'i')) + ->where('i.' . $db->quoteName($this->_field) . ' = c.id'); if ($this->_options['published'] == 1) { - $queryjoin .= ' AND i.' . $this->_statefield . ' = 1'; + $subQuery->where('i.' . $this->_statefield . ' = 1'); } if ($this->_options['currentlang'] !== 0) { - $queryjoin .= ' AND (i.language = ' . $db->quote('*') . ' OR i.language = ' . $db->quote($this->_options['currentlang']) . ')'; + $subQuery->where('(i.language = ' . $db->quote('*') + . ' OR i.language = ' . $db->quote($this->_options['currentlang']) . ')' + ); } - $query->join('LEFT', $queryjoin); - $query->select('COUNT(i.' . $db->quoteName($this->_key) . ') AS numitems'); - - // Group by - $query->group( - 'c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time, - c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level, - c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id, - c.path, c.published, c.rgt, c.title, c.modified_user_id, c.version' - ); + $query->select('(' . $subQuery . ') AS numitems'); } // Get the results From a905334d3e8ed1466a23adf8c8cc174111c520e1 Mon Sep 17 00:00:00 2001 From: infograf768 Date: Mon, 15 Jan 2018 16:05:42 +0100 Subject: [PATCH 031/255] Display category title as page heading and page title when no menu item for com_content category (#19195) * Display category title as page heading when no menu item * Making sure we only add in getActive(); - if ($menu) + if ($menu + && $menu->component == 'com_content' + && isset($menu->query['view'], $menu->query['id']) + && $menu->query['view'] == 'category' + && $menu->query['id'] == $this->category->id) { $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); + $title = $this->params->get('page_title', $menu->title); + } + else + { + $this->params->def('page_heading', $this->category->title); + $title = $this->category->title; + $this->params->set('page_title', $title); } - - $title = $this->params->get('page_title', ''); $id = (int) @$menu->query['id']; From b9abdd1b3ed48a9b6df74d95019666db5e8eb3a0 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Mon, 15 Jan 2018 16:37:01 +0100 Subject: [PATCH 032/255] Decrease the frequency of session metadata cleanup and where in the request cycle it occurs (#19165) --- libraries/src/Application/CMSApplication.php | 63 +++++++++++++------- 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index e590ce5fd85aa..a6b4e700ec801 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -150,6 +150,42 @@ public function afterSessionStart() $session->set('registry', new Registry); $session->set('user', new \JUser); } + + // Get the session handler from the configuration. + $handler = $this->get('session_handler', 'none'); + + $time = time(); + + // If the database session handler is not in use and the current time is a divisor of 5, purge session metadata after the response is sent + if ($handler !== 'database' && $time % 5 === 0) + { + $this->registerEvent( + 'onAfterResponse', + function () use ($session, $time) + { + // TODO: At some point we need to get away from having session data always in the db. + $db = \JFactory::getDbo(); + + $query = $db->getQuery(true) + ->delete($db->quoteName('#__session')) + ->where($db->quoteName('time') . ' < ' . $db->quote((int) ($time - $session->getExpire()))); + + $db->setQuery($query); + + try + { + $db->execute(); + } + catch (\JDatabaseExceptionExecuting $exception) + { + /* + * The database API logs errors on failures so we don't need to add any error handling mechanisms here. + * Since garbage collection does not result in a fatal error when run in the session API, we don't allow it here either. + */ + } + } + ); + } } /** @@ -806,29 +842,16 @@ public function loadSession(\JSession $session = null) $session->initialise($this->input, $this->dispatcher); - // TODO: At some point we need to get away from having session data always in the db. - $db = \JFactory::getDbo(); - - // Remove expired sessions from the database. - $time = time(); - - if ($time % 2) - { - // The modulus introduces a little entropy, making the flushing less accurate - // but fires the query less than half the time. - $query = $db->getQuery(true) - ->delete($db->quoteName('#__session')) - ->where($db->quoteName('time') . ' < ' . $db->quote((int) ($time - $session->getExpire()))); - - $db->setQuery($query); - $db->execute(); - } - // Get the session handler from the configuration. $handler = $this->get('session_handler', 'none'); - if (($handler !== 'database' && ($time % 2 || $session->isNew())) - || ($handler === 'database' && $session->isNew())) + /* + * Check for extra session metadata when: + * + * 1) The database handler is in use and the session is new + * 2) The database handler is not in use and the time is an even numbered second or the session is new + */ + if (($handler !== 'database' && (time() % 2 || $session->isNew())) || ($handler === 'database' && $session->isNew())) { $this->checkSession(); } From b068fb10c1cfa685e0974e4207f64e0729e484cc Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Tue, 16 Jan 2018 08:56:47 +0100 Subject: [PATCH 033/255] Protostar: missing some RTL code and order rtl classes load (#19328) * Protostar: missing some RTL code and order rtl classes load * corrections * cleaning some --- templates/protostar/component.php | 2 +- templates/protostar/css/template.css | 42 +++++++++++++------------- templates/protostar/error.php | 3 +- templates/protostar/index.php | 4 +-- templates/protostar/less/template.less | 3 +- 5 files changed, 28 insertions(+), 26 deletions(-) diff --git a/templates/protostar/component.php b/templates/protostar/component.php index 77b7cf108652a..8c1f12825dad4 100644 --- a/templates/protostar/component.php +++ b/templates/protostar/component.php @@ -34,7 +34,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <jdoc:include type="head" /> </head> -<body class="contentpane modal"> +<body class="contentpane modal<?php echo $this->direction === 'rtl' ? ' rtl' : ''; ?>"> <jdoc:include type="message" /> <jdoc:include type="component" /> </body> diff --git a/templates/protostar/css/template.css b/templates/protostar/css/template.css index 488f842da826a..0d975751f2655 100644 --- a/templates/protostar/css/template.css +++ b/templates/protostar/css/template.css @@ -160,27 +160,6 @@ textarea { page-break-after: avoid; } } -.rtl .navigation .nav-child { - left: auto; - right: 0; -} -.rtl .navigation .nav > li > .nav-child:before { - left: auto; - right: 12px; -} -.rtl .navigation .nav > li > .nav-child:after { - left: auto; - right: 13px; -} -.rtl .categories-list .collapse { - margin: 0 20px 0 0; -} -.rtl .modal-footer button { - float: left; -} -.rtl .finder-selects { - margin: 0 0 15px 15px; -} .clearfix { *zoom: 1; } @@ -7736,3 +7715,24 @@ ul.manager .height-50 .icon-folder-2 { .finder-selects { margin: 0 15px 15px 0; } +.rtl .navigation .nav-child { + left: auto; + right: 0; +} +.rtl .navigation .nav > li > .nav-child:before { + left: auto; + right: 12px; +} +.rtl .navigation .nav > li > .nav-child:after { + left: auto; + right: 13px; +} +.rtl .categories-list .collapse { + margin: 0 20px 0 0; +} +.rtl .modal-footer button { + float: left; +} +.rtl .finder-selects { + margin: 0 0 15px 15px; +} diff --git a/templates/protostar/error.php b/templates/protostar/error.php index f4f87b7267835..49bf3637d0b8c 100644 --- a/templates/protostar/error.php +++ b/templates/protostar/error.php @@ -102,7 +102,8 @@ . ($layout ? ' layout-' . $layout : ' no-layout') . ($task ? ' task-' . $task : ' no-task') . ($itemid ? ' itemid-' . $itemid : '') - . ($params->get('fluidContainer') ? ' fluid' : ''); + . ($params->get('fluidContainer') ? ' fluid' : '') + . ($this->direction === 'rtl' ? ' rtl' : ''); ?>"> <!-- Body --> <div class="body"> diff --git a/templates/protostar/index.php b/templates/protostar/index.php index 59485d5f65b5a..a0acd1f828c0c 100644 --- a/templates/protostar/index.php +++ b/templates/protostar/index.php @@ -137,8 +137,8 @@ . ($layout ? ' layout-' . $layout : ' no-layout') . ($task ? ' task-' . $task : ' no-task') . ($itemid ? ' itemid-' . $itemid : '') - . ($params->get('fluidContainer') ? ' fluid' : ''); - echo ($this->direction === 'rtl' ? ' rtl' : ''); + . ($params->get('fluidContainer') ? ' fluid' : '') + . ($this->direction === 'rtl' ? ' rtl' : ''); ?>"> <!-- Body --> <div class="body" id="top"> diff --git a/templates/protostar/less/template.less b/templates/protostar/less/template.less index 4b017a652b22a..c4dd328da5c72 100644 --- a/templates/protostar/less/template.less +++ b/templates/protostar/less/template.less @@ -3,7 +3,6 @@ // Core variables and mixins @import "variables.less"; // Custom for this template -@import "template_rtl.less"; // Specific for rtl @import "../../../media/jui/less/mixins.less"; // Grid system and page structure @@ -726,3 +725,5 @@ ul.manager .height-50 .icon-folder-2 { .finder-selects { margin: 0 15px 15px 0; } + +@import "template_rtl.less"; // Specific for rtl. Always load last. \ No newline at end of file From 09800e7c0465ed4a05b1cf7ce74343ef46810379 Mon Sep 17 00:00:00 2001 From: Ciaran Walsh <ciaran@joomla51.com> Date: Tue, 16 Jan 2018 09:03:19 +0000 Subject: [PATCH 034/255] [Protostar] Fix top nav dropdown disappearing (#19385) --- templates/protostar/css/template.css | 8 ++++++++ templates/protostar/less/template.less | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/templates/protostar/css/template.css b/templates/protostar/css/template.css index 0d975751f2655..fd3b51d4037de 100644 --- a/templates/protostar/css/template.css +++ b/templates/protostar/css/template.css @@ -7382,6 +7382,14 @@ figcaption { .navigation .nav li li > a:focus + .nav-child { display: block; } +.navigation .nav > li:before { + position: absolute; + top: 100%; + right: 0; + left: 0; + height: 6px; + content: ''; +} .navigation .nav > li > .nav-child:before { position: absolute; top: -7px; diff --git a/templates/protostar/less/template.less b/templates/protostar/less/template.less index c4dd328da5c72..061cde530cc12 100644 --- a/templates/protostar/less/template.less +++ b/templates/protostar/less/template.less @@ -354,6 +354,16 @@ figcaption { .nav li li > a:focus + .nav-child { display: block; } + .nav > li { + &:before { + position: absolute; + top: 100%; + right: 0; + left: 0; + height: 6px; + content: ''; + } + } .nav > li > .nav-child { &:before { position: absolute; From 2b9ed4fed12cca27ad8979f4eca37f40b2533143 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Tue, 16 Jan 2018 14:38:49 -0800 Subject: [PATCH 035/255] [Regression] Fix undefined index: * (#19344) --- administrator/components/com_finder/helpers/indexer/helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_finder/helpers/indexer/helper.php b/administrator/components/com_finder/helpers/indexer/helper.php index 243a70c45b642..e6560d43d5627 100644 --- a/administrator/components/com_finder/helpers/indexer/helper.php +++ b/administrator/components/com_finder/helpers/indexer/helper.php @@ -329,7 +329,7 @@ public static function isCommon($token, $lang) } // Check if the token is in the common array. - return in_array($token, $data[$lang], true); + return in_array($token, $data[$langCode], true); } /** From 0fc19acaf8a0ace4092dfa0f304a9f8f178a07c0 Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Wed, 17 Jan 2018 05:39:15 +0700 Subject: [PATCH 036/255] Fix form data lost when user registration failed (#19145) * Fix form data lost when user registration failed * B/C fix --- components/com_users/views/registration/view.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_users/views/registration/view.html.php b/components/com_users/views/registration/view.html.php index 99fe3cf576c7d..b41c6570f817b 100644 --- a/components/com_users/views/registration/view.html.php +++ b/components/com_users/views/registration/view.html.php @@ -38,8 +38,8 @@ class UsersViewRegistration extends JViewLegacy public function display($tpl = null) { // Get the view data. - $this->data = $this->get('Data'); $this->form = $this->get('Form'); + $this->data = $this->get('Data'); $this->state = $this->get('State'); $this->params = $this->state->get('params'); From 0bf1b3b094f209a402cbcf6c599736a9eeb688e0 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Tue, 16 Jan 2018 22:40:01 +0000 Subject: [PATCH 037/255] Mod_Wrapper multiple instances (#19136) * mod wrapper unique id * cs * update js - errors are not mine ;) * space * Fix multi instances (#67) Thanks --- media/com_wrapper/js/iframe-height.js | 11 ++++------- media/com_wrapper/js/iframe-height.min.js | 2 +- modules/mod_wrapper/helper.php | 2 +- modules/mod_wrapper/mod_wrapper.php | 1 + modules/mod_wrapper/tmpl/default.php | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/media/com_wrapper/js/iframe-height.js b/media/com_wrapper/js/iframe-height.js index 7c0bf35e40919..aebbeca16ab0e 100644 --- a/media/com_wrapper/js/iframe-height.js +++ b/media/com_wrapper/js/iframe-height.js @@ -1,17 +1,14 @@ -function iFrameHeight() +function iFrameHeight(iframe) { - var height = 0; - var iframe = document.getElementById('blockrandom'); var doc = 'contentDocument' in iframe ? iframe.contentDocument : iframe.contentWindow.document; + var height = parseInt(doc.body.scrollHeight); if (!document.all) { - height = doc.body.scrollHeight; iframe.style.height = parseInt(height) + 60 + 'px'; } - else if (document.all) + else if (document.all && iframe.id) { - height = doc.body.scrollHeight; - document.all.blockrandom.style.height = parseInt(height) + 20 + 'px'; + document.all[iframe.id].style.height = parseInt(height) + 20 + 'px'; } } diff --git a/media/com_wrapper/js/iframe-height.min.js b/media/com_wrapper/js/iframe-height.min.js index 4e5489b305995..0a662a6898c14 100644 --- a/media/com_wrapper/js/iframe-height.min.js +++ b/media/com_wrapper/js/iframe-height.min.js @@ -1 +1 @@ -function iFrameHeight(){var a=0,b=document.getElementById("blockrandom"),c="contentDocument"in b?b.contentDocument:b.contentWindow.document;document.all?document.all&&(a=c.body.scrollHeight,document.all.blockrandom.style.height=parseInt(a)+20+"px"):(a=c.body.scrollHeight,b.style.height=parseInt(a)+60+"px")} \ No newline at end of file +function iFrameHeight(iframe){var doc="contentDocument"in iframe?iframe.contentDocument:iframe.contentWindow.document;var height=parseInt(doc.body.scrollHeight);if(!document.all){iframe.style.height=parseInt(height)+60+"px"}else if(document.all&&iframe.id){document.all[iframe.id].style.height=parseInt(height)+20+"px"}} diff --git a/modules/mod_wrapper/helper.php b/modules/mod_wrapper/helper.php index 32ead1497cecb..e524010991614 100644 --- a/modules/mod_wrapper/helper.php +++ b/modules/mod_wrapper/helper.php @@ -54,7 +54,7 @@ public static function getParams(&$params) // Auto height control if ($params->def('height_auto')) { - $load = 'onload="iFrameHeight()"'; + $load = 'onload="iFrameHeight(this)"'; } else { diff --git a/modules/mod_wrapper/mod_wrapper.php b/modules/mod_wrapper/mod_wrapper.php index e8805528db083..bba076a72dec3 100644 --- a/modules/mod_wrapper/mod_wrapper.php +++ b/modules/mod_wrapper/mod_wrapper.php @@ -23,5 +23,6 @@ $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); $frameborder = htmlspecialchars($params->get('frameborder'), ENT_COMPAT, 'UTF-8'); $ititle = $module->title; +$id = $module->id; require JModuleHelper::getLayoutPath('mod_wrapper', $params->get('layout', 'default')); diff --git a/modules/mod_wrapper/tmpl/default.php b/modules/mod_wrapper/tmpl/default.php index cea60adafc5c0..8d05760085aa2 100644 --- a/modules/mod_wrapper/tmpl/default.php +++ b/modules/mod_wrapper/tmpl/default.php @@ -12,7 +12,7 @@ JHtml::_('script', 'com_wrapper/iframe-height.min.js', array('version' => 'auto', 'relative' => true)); ?> <iframe <?php echo $load; ?> - id="blockrandom" + id="blockrandom-<?php echo $id; ?>" name="<?php echo $target; ?>" src="<?php echo $url; ?>" width="<?php echo $width; ?>" From f49e3cad3ea81813f571d48a8790b9a0c6e1a077 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Wed, 17 Jan 2018 07:40:40 +0900 Subject: [PATCH 038/255] Fix a bug that prevent tag and bracket completion and matching settings from being applied. (#18881) --- plugins/editors/codemirror/codemirror.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/editors/codemirror/codemirror.php b/plugins/editors/codemirror/codemirror.php index da71dda4f87cf..5ba9144996938 100644 --- a/plugins/editors/codemirror/codemirror.php +++ b/plugins/editors/codemirror/codemirror.php @@ -245,7 +245,7 @@ public function onDisplay( } // Special options for tagged modes (xml/html). - if (in_array($options->mode, array('xml', 'htmlmixed', 'htmlembedded', 'php'))) + if (in_array($options->mode, array('xml', 'html', 'php'))) { // Autogenerate closing tags (html/xml only). $options->autoCloseTags = (boolean) $this->params->get('autoCloseTags', true); @@ -255,7 +255,7 @@ public function onDisplay( } // Special options for non-tagged modes. - if (!in_array($options->mode, array('xml', 'htmlmixed', 'htmlembedded'))) + if (!in_array($options->mode, array('xml', 'html'))) { // Autogenerate closing brackets. $options->autoCloseBrackets = (boolean) $this->params->get('autoCloseBrackets', true); From a8ce731debd810b4457f933732277d2126469dd8 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Tue, 16 Jan 2018 23:41:33 +0100 Subject: [PATCH 039/255] [com_content] - respect acces level (#18417) * [com_content] - respect acces level * outside caller --- components/com_content/models/articles.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/com_content/models/articles.php b/components/com_content/models/articles.php index baa2d56ed231d..6c6f3047bafcb 100644 --- a/components/com_content/models/articles.php +++ b/components/com_content/models/articles.php @@ -120,7 +120,7 @@ protected function populateState($ordering = 'ordering', $direction = 'ASC') $this->setState('filter.language', JLanguageMultilang::isEnabled()); // Process show_noauth parameter - if (!$params->get('show_noauth')) + if ((!$params->get('show_noauth')) || (!JComponentHelper::getParams('com_content')->get('show_noauth'))) { $this->setState('filter.access', true); } @@ -253,7 +253,7 @@ protected function getListQuery() } // Filter by access level. - if ($access = $this->getState('filter.access')) + if ($this->getState('filter.access', true)) { $groups = implode(',', $user->getAuthorisedViewLevels()); $query->where('a.access IN (' . $groups . ')') From 5aba8f18201074e7ac26630a3b59046f81f53756 Mon Sep 17 00:00:00 2001 From: Fedir Zinchuk <getthesite@gmail.com> Date: Tue, 16 Jan 2018 23:50:30 +0100 Subject: [PATCH 040/255] Fix PHP HHVM incompatibility in JFormField::getAttribute() (#17861) * Fix JFormField::getAttribute() on PHP HHVM * check attribute for `null` --- libraries/src/Form/FormField.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/libraries/src/Form/FormField.php b/libraries/src/Form/FormField.php index a1923fc6135c1..00eefdf0c8b02 100644 --- a/libraries/src/Form/FormField.php +++ b/libraries/src/Form/FormField.php @@ -888,14 +888,9 @@ public function getAttribute($name, $default = null) $attributes = $this->element->attributes(); // Ensure that the attribute exists - if (property_exists($attributes, $name)) + if ($attributes->$name !== null) { - $value = $attributes->$name; - - if ($value !== null) - { - return (string) $value; - } + return (string) $attributes->$name; } } From f66add7f20aa1e9e58d7c54d8c95adaa6e6c87c1 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Tue, 16 Jan 2018 23:50:56 +0100 Subject: [PATCH 041/255] Allow to delete cache items without any errors is system cache is disabled. (#17671) * Do not throw cache exception if cache is disabled * New exception class --- libraries/src/Cache/Cache.php | 43 ++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/libraries/src/Cache/Cache.php b/libraries/src/Cache/Cache.php index f9888bdb12267..a4caff9087c81 100644 --- a/libraries/src/Cache/Cache.php +++ b/libraries/src/Cache/Cache.php @@ -11,6 +11,7 @@ defined('JPATH_PLATFORM') or die; use Joomla\Application\Web\WebClient; +use Joomla\CMS\Cache\Exception\CacheExceptionInterface; use Joomla\String\StringHelper; /** @@ -279,7 +280,19 @@ public function remove($id, $group = null) // Get the default group $group = $group ?: $this->_options['defaultgroup']; - return $this->_getStorage()->remove($id, $group); + try + { + return $this->_getStorage()->remove($id, $group); + } + catch (CacheExceptionInterface $e) + { + if (!$this->getCaching()) + { + return false; + } + + throw $e; + } } /** @@ -300,7 +313,19 @@ public function clean($group = null, $mode = 'group') // Get the default group $group = $group ?: $this->_options['defaultgroup']; - return $this->_getStorage()->clean($group, $mode); + try + { + return $this->_getStorage()->clean($group, $mode); + } + catch (CacheExceptionInterface $e) + { + if (!$this->getCaching()) + { + return false; + } + + throw $e; + } } /** @@ -312,7 +337,19 @@ public function clean($group = null, $mode = 'group') */ public function gc() { - return $this->_getStorage()->gc(); + try + { + return $this->_getStorage()->gc(); + } + catch (CacheExceptionInterface $e) + { + if (!$this->getCaching()) + { + return false; + } + + throw $e; + } } /** From 6fa5f14773ee664849f69170eb4988ab16e4fb4a Mon Sep 17 00:00:00 2001 From: Arlen Walker <support@paladinweb.net> Date: Tue, 16 Jan 2018 16:52:01 -0600 Subject: [PATCH 042/255] Janitorial Duty (#17120) * Janitorial Duty Cleaned up ModArchiveHelper so it conforms to Joomla coding conventions and is ready for PHP7. * Stepping back to phpcs 1.5 --- modules/mod_articles_archive/helper.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/mod_articles_archive/helper.php b/modules/mod_articles_archive/helper.php index f22e0dd3ecf1d..a6feee603ee9c 100644 --- a/modules/mod_articles_archive/helper.php +++ b/modules/mod_articles_archive/helper.php @@ -54,7 +54,7 @@ public static function getList(&$params) { JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error'); - return; + return array(); } $app = JFactory::getApplication(); @@ -69,16 +69,16 @@ public static function getList(&$params) { $date = JFactory::getDate($row->created); - $created_month = $date->format('n'); - $created_year = $date->format('Y'); + $createdMonth = $date->format('n'); + $createdYear = $date->format('Y'); - $created_year_cal = JHtml::_('date', $row->created, 'Y'); - $month_name_cal = JHtml::_('date', $row->created, 'F'); + $createdYearCal = JHtml::_('date', $row->created, 'Y'); + $monthNameCal = JHtml::_('date', $row->created, 'F'); $lists[$i] = new stdClass; - $lists[$i]->link = JRoute::_('index.php?option=com_content&view=archive&year=' . $created_year . '&month=' . $created_month . $itemid); - $lists[$i]->text = JText::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $month_name_cal, $created_year_cal); + $lists[$i]->link = JRoute::_('index.php?option=com_content&view=archive&year=' . $createdYear . '&month=' . $createdMonth . $itemid); + $lists[$i]->text = JText::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $monthNameCal, $createdYearCal); $i++; } From d36ffe558fa8d86d97a35868f10fbfda9c67bf0b Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Tue, 16 Jan 2018 23:53:56 +0100 Subject: [PATCH 043/255] [SQL] - remove triplicated index from #__user_keys (#15509) --- .../com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql | 2 ++ .../com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql | 2 ++ .../com_admin/sql/updates/sqlazure/3.8.4-2018-01-16.sql | 2 ++ installation/sql/mysql/joomla.sql | 2 -- installation/sql/postgresql/joomla.sql | 4 +--- installation/sql/sqlazure/joomla.sql | 8 -------- 6 files changed, 7 insertions(+), 13 deletions(-) create mode 100644 administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql create mode 100644 administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql create mode 100644 administrator/components/com_admin/sql/updates/sqlazure/3.8.4-2018-01-16.sql diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql new file mode 100644 index 0000000000000..1d204b7f63f13 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql @@ -0,0 +1,2 @@ +ALTER TABLE `#__user_keys` DROP INDEX `series_2`; +ALTER TABLE `#__user_keys` DROP INDEX `series_3`; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql new file mode 100644 index 0000000000000..4546bab50b54a --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql @@ -0,0 +1,2 @@ +DROP INDEX "#__user_keys_series_2"; +DROP INDEX "#__user_keys_series_3"; diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.8.4-2018-01-16.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.8.4-2018-01-16.sql new file mode 100644 index 0000000000000..15c43cf51df1c --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.8.4-2018-01-16.sql @@ -0,0 +1,2 @@ +ALTER TABLE [#__user_keys] DROP CONSTRAINT [#__user_keys$series_2]; +ALTER TABLE [#__user_keys] DROP CONSTRAINT [#__user_keys$series_3]; diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index cee91087e06e4..d61cf3aa0162c 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -2023,8 +2023,6 @@ CREATE TABLE IF NOT EXISTS `#__user_keys` ( `uastring` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `series` (`series`), - UNIQUE KEY `series_2` (`series`), - UNIQUE KEY `series_3` (`series`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index 23927ccb4de1a..5069d5576ec7a 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -2007,9 +2007,7 @@ CREATE TABLE "#__user_keys" ( "time" varchar(200) NOT NULL, "uastring" varchar(255) NOT NULL, PRIMARY KEY ("id"), - CONSTRAINT "#__user_keys_series" UNIQUE ("series"), - CONSTRAINT "#__user_keys_series_2" UNIQUE ("series"), - CONSTRAINT "#__user_keys_series_3" UNIQUE ("series") + CONSTRAINT "#__user_keys_series" UNIQUE ("series") ); CREATE INDEX "#__user_keys_idx_user_id" ON "#__user_keys" ("user_id"); diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 46100c6527642..92c467041a45f 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -2917,14 +2917,6 @@ CREATE TABLE "#__user_keys" ( CONSTRAINT "#__user_keys$series" UNIQUE NONCLUSTERED ( "series" ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], - CONSTRAINT "#__user_keys$series_2" UNIQUE NONCLUSTERED -( - "series" ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], - CONSTRAINT "#__user_keys$series_3" UNIQUE NONCLUSTERED -( - "series" ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]; From df37e784dd0069faeefed5a51b882c7a4029e8d8 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Thu, 18 Jan 2018 09:13:17 +0900 Subject: [PATCH 044/255] Codemirror updated to 5.33.0 (#18880) * Codemirror updated to 5.32.0 * Now 5.33.0 --- .../codemirror/addon/comment/comment.js | 4 - .../codemirror/addon/comment/comment.min.js | 2 +- .../addon/comment/continuecomment.js | 9 +- .../addon/comment/continuecomment.min.js | 2 +- .../codemirror/addon/edit/closebrackets.js | 25 +- .../addon/edit/closebrackets.min.js | 2 +- .../editors/codemirror/addon/edit/closetag.js | 16 +- .../codemirror/addon/edit/closetag.min.js | 2 +- .../codemirror/addon/edit/continuelist.js | 48 +++- .../codemirror/addon/edit/continuelist.min.js | 2 +- .../codemirror/addon/hint/show-hint.js | 6 - .../codemirror/addon/hint/show-hint.min.js | 2 +- media/editors/codemirror/addon/lint/lint.js | 6 +- .../editors/codemirror/addon/lint/lint.min.js | 2 +- media/editors/codemirror/addon/merge/merge.js | 3 + .../codemirror/addon/merge/merge.min.js | 2 +- .../codemirror/addon/runmode/runmode.min.js | 2 +- .../codemirror/addon/runmode/runmode.node.js | 12 + .../codemirror/addon/search/searchcursor.js | 2 +- .../addon/search/searchcursor.min.js | 2 +- media/editors/codemirror/addon/tern/tern.js | 3 +- .../editors/codemirror/addon/tern/tern.min.js | 2 +- media/editors/codemirror/keymap/emacs.js | 42 +-- media/editors/codemirror/keymap/emacs.min.js | 2 +- media/editors/codemirror/keymap/sublime.js | 272 +++++++++++------- .../editors/codemirror/keymap/sublime.min.js | 2 +- media/editors/codemirror/keymap/vim.js | 89 +++++- media/editors/codemirror/keymap/vim.min.js | 6 +- media/editors/codemirror/lib/addons.js | 136 ++++++--- media/editors/codemirror/lib/addons.min.js | 10 +- media/editors/codemirror/lib/codemirror.css | 13 +- media/editors/codemirror/lib/codemirror.js | 144 ++++++---- .../editors/codemirror/lib/codemirror.min.css | 2 +- .../editors/codemirror/lib/codemirror.min.js | 12 +- media/editors/codemirror/mode/clike/clike.js | 34 ++- .../codemirror/mode/clike/clike.min.js | 2 +- media/editors/codemirror/mode/css/css.js | 19 +- media/editors/codemirror/mode/css/css.min.js | 2 +- media/editors/codemirror/mode/dart/dart.js | 2 +- .../editors/codemirror/mode/dart/dart.min.js | 2 +- .../mode/htmlembedded/htmlembedded.js | 9 + .../mode/htmlembedded/htmlembedded.min.js | 2 +- .../codemirror/mode/javascript/javascript.js | 140 ++++----- .../mode/javascript/javascript.min.js | 2 +- media/editors/codemirror/mode/jsx/jsx.js | 2 +- media/editors/codemirror/mode/jsx/jsx.min.js | 2 +- .../codemirror/mode/markdown/markdown.js | 14 +- .../codemirror/mode/markdown/markdown.min.js | 2 +- media/editors/codemirror/mode/meta.js | 4 +- media/editors/codemirror/mode/meta.min.js | 2 +- .../editors/codemirror/mode/mllike/mllike.js | 44 ++- .../codemirror/mode/mllike/mllike.min.js | 2 +- media/editors/codemirror/mode/php/php.js | 2 +- media/editors/codemirror/mode/php/php.min.js | 2 +- .../codemirror/mode/protobuf/protobuf.js | 3 +- .../codemirror/mode/protobuf/protobuf.min.js | 2 +- media/editors/codemirror/mode/soy/soy.js | 46 ++- media/editors/codemirror/mode/soy/soy.min.js | 2 +- media/editors/codemirror/mode/swift/swift.js | 13 +- .../codemirror/mode/swift/swift.min.js | 2 +- media/editors/codemirror/mode/xml/xml.js | 7 + media/editors/codemirror/mode/xml/xml.min.js | 2 +- media/editors/codemirror/theme/solarized.css | 1 - plugins/editors/codemirror/codemirror.xml | 2 +- 64 files changed, 808 insertions(+), 448 deletions(-) diff --git a/media/editors/codemirror/addon/comment/comment.js b/media/editors/codemirror/addon/comment/comment.js index 568e639dcd3d4..84c67edf7898a 100644 --- a/media/editors/codemirror/addon/comment/comment.js +++ b/media/editors/codemirror/addon/comment/comment.js @@ -172,10 +172,6 @@ if (open == -1) return false var endLine = end == start ? startLine : self.getLine(end) var close = endLine.indexOf(endString, end == start ? open + startString.length : 0); - if (close == -1 && start != end) { - endLine = self.getLine(--end); - close = endLine.indexOf(endString); - } var insideStart = Pos(start, open + 1), insideEnd = Pos(end, close + 1) if (close == -1 || !/comment/.test(self.getTokenTypeAt(insideStart)) || diff --git a/media/editors/codemirror/addon/comment/comment.min.js b/media/editors/codemirror/addon/comment/comment.min.js index 04e1d752e7b30..8117213a317ba 100644 --- a/media/editors/codemirror/addon/comment/comment.min.js +++ b/media/editors/codemirror/addon/comment/comment.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.search(f);return b==-1?0:b}function c(a,b,c){return/\bstring\b/.test(a.getTokenTypeAt(g(b.line,0)))&&!/^[\'\"\`]/.test(c)}function d(a,b){var c=a.getMode();return c.useInnerComments!==!1&&c.innerMode?a.getModeAt(b):c}var e={},f=/[^\s\u00a0]/,g=a.Pos;a.commands.toggleComment=function(a){a.toggleComment()},a.defineExtension("toggleComment",(function(a){a||(a=e);for(var b=this,c=1/0,d=this.listSelections(),f=null,h=d.length-1;h>=0;h--){var i=d[h].from(),j=d[h].to();i.line>=c||(j.line>=c&&(j=g(c,0)),c=i.line,null==f?b.uncomment(i,j,a)?f="un":(b.lineComment(i,j,a),f="line"):"un"==f?b.uncomment(i,j,a):b.lineComment(i,j,a))}})),a.defineExtension("lineComment",(function(a,h,i){i||(i=e);var j=this,k=d(j,a),l=j.getLine(a.line);if(null!=l&&!c(j,a,l)){var m=i.lineComment||k.lineComment;if(!m)return void((i.blockCommentStart||k.blockCommentStart)&&(i.fullLines=!0,j.blockComment(a,h,i)));var n=Math.min(0!=h.ch||h.line==a.line?h.line+1:h.line,j.lastLine()+1),o=null==i.padding?" ":i.padding,p=i.commentBlankLines||a.line==h.line;j.operation((function(){if(i.indent){for(var c=null,d=a.line;d<n;++d){var e=j.getLine(d),h=e.slice(0,b(e));(null==c||c.length>h.length)&&(c=h)}for(var d=a.line;d<n;++d){var e=j.getLine(d),k=c.length;(p||f.test(e))&&(e.slice(0,k)!=c&&(k=b(e)),j.replaceRange(c+m+o,g(d,0),g(d,k)))}}else for(var d=a.line;d<n;++d)(p||f.test(j.getLine(d)))&&j.replaceRange(m+o,g(d,0))}))}})),a.defineExtension("blockComment",(function(a,b,c){c||(c=e);var h=this,i=d(h,a),j=c.blockCommentStart||i.blockCommentStart,k=c.blockCommentEnd||i.blockCommentEnd;if(!j||!k)return void((c.lineComment||i.lineComment)&&0!=c.fullLines&&h.lineComment(a,b,c));if(!/\bcomment\b/.test(h.getTokenTypeAt(g(a.line,0)))){var l=Math.min(b.line,h.lastLine());l!=a.line&&0==b.ch&&f.test(h.getLine(l))&&--l;var m=null==c.padding?" ":c.padding;a.line>l||h.operation((function(){if(0!=c.fullLines){var d=f.test(h.getLine(l));h.replaceRange(m+k,g(l)),h.replaceRange(j+m,g(a.line,0));var e=c.blockCommentLead||i.blockCommentLead;if(null!=e)for(var n=a.line+1;n<=l;++n)(n!=l||d)&&h.replaceRange(e+m,g(n,0))}else h.replaceRange(k,b),h.replaceRange(j,a)}))}})),a.defineExtension("uncomment",(function(a,b,c){c||(c=e);var h,i=this,j=d(i,a),k=Math.min(0!=b.ch||b.line==a.line?b.line:b.line-1,i.lastLine()),l=Math.min(a.line,k),m=c.lineComment||j.lineComment,n=[],o=null==c.padding?" ":c.padding;a:if(m){for(var p=l;p<=k;++p){var q=i.getLine(p),r=q.indexOf(m);if(r>-1&&!/comment/.test(i.getTokenTypeAt(g(p,r+1)))&&(r=-1),r==-1&&f.test(q))break a;if(r>-1&&f.test(q.slice(0,r)))break a;n.push(q)}if(i.operation((function(){for(var a=l;a<=k;++a){var b=n[a-l],c=b.indexOf(m),d=c+m.length;c<0||(b.slice(d,d+o.length)==o&&(d+=o.length),h=!0,i.replaceRange("",g(a,c),g(a,d)))}})),h)return!0}var s=c.blockCommentStart||j.blockCommentStart,t=c.blockCommentEnd||j.blockCommentEnd;if(!s||!t)return!1;var u=c.blockCommentLead||j.blockCommentLead,v=i.getLine(l),w=v.indexOf(s);if(w==-1)return!1;var x=k==l?v:i.getLine(k),y=x.indexOf(t,k==l?w+s.length:0);y==-1&&l!=k&&(x=i.getLine(--k),y=x.indexOf(t));var z=g(l,w+1),A=g(k,y+1);if(y==-1||!/comment/.test(i.getTokenTypeAt(z))||!/comment/.test(i.getTokenTypeAt(A))||i.getRange(z,A,"\n").indexOf(t)>-1)return!1;var B=v.lastIndexOf(s,a.ch),C=B==-1?-1:v.slice(0,a.ch).indexOf(t,B+s.length);if(B!=-1&&C!=-1&&C+t.length!=a.ch)return!1;C=x.indexOf(t,b.ch);var D=x.slice(b.ch).lastIndexOf(s,C-b.ch);return B=C==-1||D==-1?-1:b.ch+D,(C==-1||B==-1||B==b.ch)&&(i.operation((function(){i.replaceRange("",g(k,y-(o&&x.slice(y-o.length,y)==o?o.length:0)),g(k,y+t.length));var a=w+s.length;if(o&&v.slice(a,a+o.length)==o&&(a+=o.length),i.replaceRange("",g(l,w),g(l,a)),u)for(var b=l+1;b<=k;++b){var c=i.getLine(b),d=c.indexOf(u);if(d!=-1&&!f.test(c.slice(0,d))){var e=d+u.length;o&&c.slice(e,e+o.length)==o&&(e+=o.length),i.replaceRange("",g(b,d),g(b,e))}}})),!0)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.search(f);return b==-1?0:b}function c(a,b,c){return/\bstring\b/.test(a.getTokenTypeAt(g(b.line,0)))&&!/^[\'\"\`]/.test(c)}function d(a,b){var c=a.getMode();return c.useInnerComments!==!1&&c.innerMode?a.getModeAt(b):c}var e={},f=/[^\s\u00a0]/,g=a.Pos;a.commands.toggleComment=function(a){a.toggleComment()},a.defineExtension("toggleComment",(function(a){a||(a=e);for(var b=this,c=1/0,d=this.listSelections(),f=null,h=d.length-1;h>=0;h--){var i=d[h].from(),j=d[h].to();i.line>=c||(j.line>=c&&(j=g(c,0)),c=i.line,null==f?b.uncomment(i,j,a)?f="un":(b.lineComment(i,j,a),f="line"):"un"==f?b.uncomment(i,j,a):b.lineComment(i,j,a))}})),a.defineExtension("lineComment",(function(a,h,i){i||(i=e);var j=this,k=d(j,a),l=j.getLine(a.line);if(null!=l&&!c(j,a,l)){var m=i.lineComment||k.lineComment;if(!m)return void((i.blockCommentStart||k.blockCommentStart)&&(i.fullLines=!0,j.blockComment(a,h,i)));var n=Math.min(0!=h.ch||h.line==a.line?h.line+1:h.line,j.lastLine()+1),o=null==i.padding?" ":i.padding,p=i.commentBlankLines||a.line==h.line;j.operation((function(){if(i.indent){for(var c=null,d=a.line;d<n;++d){var e=j.getLine(d),h=e.slice(0,b(e));(null==c||c.length>h.length)&&(c=h)}for(var d=a.line;d<n;++d){var e=j.getLine(d),k=c.length;(p||f.test(e))&&(e.slice(0,k)!=c&&(k=b(e)),j.replaceRange(c+m+o,g(d,0),g(d,k)))}}else for(var d=a.line;d<n;++d)(p||f.test(j.getLine(d)))&&j.replaceRange(m+o,g(d,0))}))}})),a.defineExtension("blockComment",(function(a,b,c){c||(c=e);var h=this,i=d(h,a),j=c.blockCommentStart||i.blockCommentStart,k=c.blockCommentEnd||i.blockCommentEnd;if(!j||!k)return void((c.lineComment||i.lineComment)&&0!=c.fullLines&&h.lineComment(a,b,c));if(!/\bcomment\b/.test(h.getTokenTypeAt(g(a.line,0)))){var l=Math.min(b.line,h.lastLine());l!=a.line&&0==b.ch&&f.test(h.getLine(l))&&--l;var m=null==c.padding?" ":c.padding;a.line>l||h.operation((function(){if(0!=c.fullLines){var d=f.test(h.getLine(l));h.replaceRange(m+k,g(l)),h.replaceRange(j+m,g(a.line,0));var e=c.blockCommentLead||i.blockCommentLead;if(null!=e)for(var n=a.line+1;n<=l;++n)(n!=l||d)&&h.replaceRange(e+m,g(n,0))}else h.replaceRange(k,b),h.replaceRange(j,a)}))}})),a.defineExtension("uncomment",(function(a,b,c){c||(c=e);var h,i=this,j=d(i,a),k=Math.min(0!=b.ch||b.line==a.line?b.line:b.line-1,i.lastLine()),l=Math.min(a.line,k),m=c.lineComment||j.lineComment,n=[],o=null==c.padding?" ":c.padding;a:if(m){for(var p=l;p<=k;++p){var q=i.getLine(p),r=q.indexOf(m);if(r>-1&&!/comment/.test(i.getTokenTypeAt(g(p,r+1)))&&(r=-1),r==-1&&f.test(q))break a;if(r>-1&&f.test(q.slice(0,r)))break a;n.push(q)}if(i.operation((function(){for(var a=l;a<=k;++a){var b=n[a-l],c=b.indexOf(m),d=c+m.length;c<0||(b.slice(d,d+o.length)==o&&(d+=o.length),h=!0,i.replaceRange("",g(a,c),g(a,d)))}})),h)return!0}var s=c.blockCommentStart||j.blockCommentStart,t=c.blockCommentEnd||j.blockCommentEnd;if(!s||!t)return!1;var u=c.blockCommentLead||j.blockCommentLead,v=i.getLine(l),w=v.indexOf(s);if(w==-1)return!1;var x=k==l?v:i.getLine(k),y=x.indexOf(t,k==l?w+s.length:0),z=g(l,w+1),A=g(k,y+1);if(y==-1||!/comment/.test(i.getTokenTypeAt(z))||!/comment/.test(i.getTokenTypeAt(A))||i.getRange(z,A,"\n").indexOf(t)>-1)return!1;var B=v.lastIndexOf(s,a.ch),C=B==-1?-1:v.slice(0,a.ch).indexOf(t,B+s.length);if(B!=-1&&C!=-1&&C+t.length!=a.ch)return!1;C=x.indexOf(t,b.ch);var D=x.slice(b.ch).lastIndexOf(s,C-b.ch);return B=C==-1||D==-1?-1:b.ch+D,(C==-1||B==-1||B==b.ch)&&(i.operation((function(){i.replaceRange("",g(k,y-(o&&x.slice(y-o.length,y)==o?o.length:0)),g(k,y+t.length));var a=w+s.length;if(o&&v.slice(a,a+o.length)==o&&(a+=o.length),i.replaceRange("",g(l,w),g(l,a)),u)for(var b=l+1;b<=k;++b){var c=i.getLine(b),d=c.indexOf(u);if(d!=-1&&!f.test(c.slice(0,d))){var e=d+u.length;o&&c.slice(e,e+o.length)==o&&(e+=o.length),i.replaceRange("",g(b,d),g(b,e))}}})),!0)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/comment/continuecomment.js b/media/editors/codemirror/addon/comment/continuecomment.js index d7385ef2232c6..d92318b345966 100644 --- a/media/editors/codemirror/addon/comment/continuecomment.js +++ b/media/editors/codemirror/addon/comment/continuecomment.js @@ -9,11 +9,6 @@ else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { - var modes = ["clike", "css", "javascript"]; - - for (var i = 0; i < modes.length; ++i) - CodeMirror.extendMode(modes[i], {blockCommentContinue: " * "}); - function continueComment(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), mode, inserts = []; @@ -27,10 +22,10 @@ var insert = null; if (mode.blockCommentStart && mode.blockCommentContinue) { var line = cm.getLine(pos.line).slice(0, pos.ch) - var end = line.indexOf(mode.blockCommentEnd), found + var end = line.lastIndexOf(mode.blockCommentEnd), found if (end != -1 && end == pos.ch - mode.blockCommentEnd.length) { // Comment ended, don't continue it - } else if ((found = line.indexOf(mode.blockCommentStart)) > -1) { + } else if ((found = line.lastIndexOf(mode.blockCommentStart)) > -1 && found > end) { insert = line.slice(0, found) if (/\S/.test(insert)) { insert = "" diff --git a/media/editors/codemirror/addon/comment/continuecomment.min.js b/media/editors/codemirror/addon/comment/continuecomment.min.js index bbd29dc9d9f75..8fc64cd9cf93f 100644 --- a/media/editors/codemirror/addon/comment/continuecomment.min.js +++ b/media/editors/codemirror/addon/comment/continuecomment.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g].head;if(!/\bcomment\b/.test(b.getTokenTypeAt(h)))return a.Pass;var i=b.getModeAt(h);if(d){if(d!=i)return a.Pass}else d=i;var j=null;if(d.blockCommentStart&&d.blockCommentContinue){var k,l=b.getLine(h.line).slice(0,h.ch),m=l.indexOf(d.blockCommentEnd);if(m!=-1&&m==h.ch-d.blockCommentEnd.length);else if((k=l.indexOf(d.blockCommentStart))>-1){if(j=l.slice(0,k),/\S/.test(j)){j="";for(var n=0;n<k;++n)j+=" "}}else(k=l.indexOf(d.blockCommentContinue))>-1&&!/\S/.test(l.slice(0,k))&&(j=l.slice(0,k));null!=j&&(j+=d.blockCommentContinue)}if(null==j&&d.lineComment&&c(b)){var l=b.getLine(h.line),k=l.indexOf(d.lineComment);k>-1&&(j=l.slice(0,k),/\S/.test(j)?j=null:j+=d.lineComment+l.slice(k+d.lineComment.length).match(/^\s*/)[0])}if(null==j)return a.Pass;f[g]="\n"+j}b.operation((function(){for(var a=e.length-1;a>=0;a--)b.replaceRange(f[a],e[a].from(),e[a].to(),"+insert")}))}function c(a){var b=a.getOption("continueComments");return!b||"object"!=typeof b||b.continueLineComment!==!1}for(var d=["clike","css","javascript"],e=0;e<d.length;++e)a.extendMode(d[e],{blockCommentContinue:" * "});a.defineOption("continueComments",null,(function(c,d,e){if(e&&e!=a.Init&&c.removeKeyMap("continueComment"),d){var f="Enter";"string"==typeof d?f=d:"object"==typeof d&&d.key&&(f=d.key);var g={name:"continueComment"};g[f]=b,c.addKeyMap(g)}}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g].head;if(!/\bcomment\b/.test(b.getTokenTypeAt(h)))return a.Pass;var i=b.getModeAt(h);if(d){if(d!=i)return a.Pass}else d=i;var j=null;if(d.blockCommentStart&&d.blockCommentContinue){var k,l=b.getLine(h.line).slice(0,h.ch),m=l.lastIndexOf(d.blockCommentEnd);if(m!=-1&&m==h.ch-d.blockCommentEnd.length);else if((k=l.lastIndexOf(d.blockCommentStart))>-1&&k>m){if(j=l.slice(0,k),/\S/.test(j)){j="";for(var n=0;n<k;++n)j+=" "}}else(k=l.indexOf(d.blockCommentContinue))>-1&&!/\S/.test(l.slice(0,k))&&(j=l.slice(0,k));null!=j&&(j+=d.blockCommentContinue)}if(null==j&&d.lineComment&&c(b)){var l=b.getLine(h.line),k=l.indexOf(d.lineComment);k>-1&&(j=l.slice(0,k),/\S/.test(j)?j=null:j+=d.lineComment+l.slice(k+d.lineComment.length).match(/^\s*/)[0])}if(null==j)return a.Pass;f[g]="\n"+j}b.operation((function(){for(var a=e.length-1;a>=0;a--)b.replaceRange(f[a],e[a].from(),e[a].to(),"+insert")}))}function c(a){var b=a.getOption("continueComments");return!b||"object"!=typeof b||b.continueLineComment!==!1}a.defineOption("continueComments",null,(function(c,d,e){if(e&&e!=a.Init&&c.removeKeyMap("continueComment"),d){var f="Enter";"string"==typeof d?f=d:"object"==typeof d&&d.key&&(f=d.key);var g={name:"continueComment"};g[f]=b,c.addKeyMap(g)}}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/edit/closebrackets.js b/media/editors/codemirror/addon/edit/closebrackets.js index 36aec0d4b50cc..460f662f8048b 100644 --- a/media/editors/codemirror/addon/edit/closebrackets.js +++ b/media/editors/codemirror/addon/edit/closebrackets.js @@ -84,7 +84,8 @@ if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; } cm.operation(function() { - cm.replaceSelection("\n\n", null); + var linesep = cm.lineSeparator() || "\n"; + cm.replaceSelection(linesep + linesep, null); cm.execCommand("goCharLeft"); ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { @@ -132,7 +133,8 @@ (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { curType = "addFour"; } else if (identical) { - if (!CodeMirror.isWordChar(next) && enteringString(cm, cur, ch)) curType = "both"; + var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) + if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both"; else return CodeMirror.Pass; } else if (opening && (cm.getLine(cur.line).length == cur.ch || isClosingBracket(next, pairs) || @@ -184,24 +186,9 @@ return str.length == 2 ? str : null; } - // Project the token type that will exists after the given char is - // typed, and use it to determine whether it would cause the start - // of a string token. - function enteringString(cm, pos, ch) { - var line = cm.getLine(pos.line); - var token = cm.getTokenAt(pos); - if (/\bstring2?\b/.test(token.type) || stringStartsAfter(cm, pos)) return false; - var stream = new CodeMirror.StringStream(line.slice(0, pos.ch) + ch + line.slice(pos.ch), 4); - stream.pos = stream.start = token.start; - for (;;) { - var type1 = cm.getMode().token(stream, token.state); - if (stream.pos >= pos.ch + 1) return /\bstring2?\b/.test(type1); - stream.start = stream.pos; - } - } - function stringStartsAfter(cm, pos) { var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1)) - return /\bstring/.test(token.type) && token.start == pos.ch + return /\bstring/.test(token.type) && token.start == pos.ch && + (pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos))) } }); diff --git a/media/editors/codemirror/addon/edit/closebrackets.min.js b/media/editors/codemirror/addon/edit/closebrackets.min.js index 0eb5a3212c33a..2e483b0180e1b 100644 --- a/media/editors/codemirror/addon/edit/closebrackets.min.js +++ b/media/editors/codemirror/addon/edit/closebrackets.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:n[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";p[e]||(p[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",o(j.line,j.ch-1),o(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){c.replaceSelection("\n\n",null),c.execCommand("goCharLeft"),g=c.listSelections();for(var a=0;a<g.length;a++){var b=g[a].head.line;c.indentLine(b,null,!0),c.indentLine(b+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new o(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new o(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,n=b(f,"triples"),p=g.charAt(i+1)==d,q=c.listSelections(),r=i%2==0,s=0;s<q.length;s++){var t,u=q[s],v=u.head,w=c.getRange(v,o(v.line,v.ch+1));if(r&&!u.empty())t="surround";else if(!p&&r||w!=d)if(p&&v.ch>1&&n.indexOf(d)>=0&&c.getRange(o(v.line,v.ch-2),v)==d+d&&(v.ch<=2||c.getRange(o(v.line,v.ch-3),o(v.line,v.ch-2))!=d))t="addFour";else if(p){if(a.isWordChar(w)||!l(c,v,d))return a.Pass;t="both"}else{if(!r||c.getLine(v.line).length!=v.ch&&!j(w,g)&&!/\s/.test(w))return a.Pass;t="both"}else t=p&&m(c,v)?"both":n.indexOf(d)>=0&&c.getRange(v,o(v.line,v.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=t)return a.Pass}else k=t}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(o(b.line,b.ch-1),o(b.line,b.ch+1));return 2==c.length?c:null}function l(b,c,d){var e=b.getLine(c.line),f=b.getTokenAt(c);if(/\bstring2?\b/.test(f.type)||m(b,c))return!1;var g=new a.StringStream(e.slice(0,c.ch)+d+e.slice(c.ch),4);for(g.pos=g.start=f.start;;){var h=b.getMode().token(g,f.state);if(g.pos>=c.ch+1)return/\bstring2?\b/.test(h);g.start=g.pos}}function m(a,b){var c=a.getTokenAt(o(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch}var n={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},o=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(p),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(p))}));var p={Backspace:f,Enter:g};c(n.pairs+"`")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d&&(u.ch<=2||c.getRange(n(u.line,u.ch-3),n(u.line,u.ch-2))!=d))s="addFour";else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/edit/closetag.js b/media/editors/codemirror/addon/edit/closetag.js index a518da3ec12aa..83f133a5e74b2 100644 --- a/media/editors/codemirror/addon/edit/closetag.js +++ b/media/editors/codemirror/addon/edit/closetag.js @@ -53,13 +53,14 @@ function autoCloseGT(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), replacements = []; + var opt = cm.getOption("autoCloseTags"); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state; if (inner.mode.name != "xml" || !state.tagName) return CodeMirror.Pass; - var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html"; + var html = inner.mode.configuration == "html"; var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose); var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent); @@ -81,13 +82,14 @@ newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)}; } + var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnAutoClose); for (var i = ranges.length - 1; i >= 0; i--) { var info = replacements[i]; cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, "+insert"); var sel = cm.listSelections().slice(0); sel[i] = {head: info.newPos, anchor: info.newPos}; cm.setSelections(sel); - if (info.indent) { + if (!dontIndentOnAutoClose && info.indent) { cm.indentLine(info.newPos.line, null, true); cm.indentLine(info.newPos.line + 1, null, true); } @@ -97,6 +99,8 @@ function autoCloseCurrent(cm, typingSlash) { var ranges = cm.listSelections(), replacements = []; var head = typingSlash ? "/" : "</"; + var opt = cm.getOption("autoCloseTags"); + var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnSlash); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); @@ -127,9 +131,11 @@ } cm.replaceSelections(replacements); ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) - if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line) - cm.indentLine(ranges[i].head.line); + if (!dontIndentOnAutoClose) { + for (var i = 0; i < ranges.length; i++) + if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line) + cm.indentLine(ranges[i].head.line); + } } function autoCloseSlash(cm) { diff --git a/media/editors/codemirror/addon/edit/closetag.min.js b/media/editors/codemirror/addon/edit/closetag.min.js index 00cac7b6674f8..0f31f1b83cd3b 100644 --- a/media/editors/codemirror/addon/edit/closetag.min.js +++ b/media/editors/codemirror/addon/edit/closetag.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=0;i<c.length;i++){if(!c[i].empty())return a.Pass;var j=c[i].head,k=b.getTokenAt(j),l=a.innerMode(b.getMode(),k.state),m=l.state;if("xml"!=l.mode.name||!m.tagName)return a.Pass;var n=b.getOption("autoCloseTags"),o="html"==l.mode.configuration,p="object"==typeof n&&n.dontCloseTags||o&&g,q="object"==typeof n&&n.indentTags||o&&h,r=m.tagName;k.end>j.ch&&(r=r.slice(0,r.length-k.end+j.ch));var s=r.toLowerCase();if(!r||"string"==k.type&&(k.end!=j.ch||!/[\"\']/.test(k.string.charAt(k.string.length-1))||1==k.string.length)||"tag"==k.type&&"closeTag"==m.type||k.string.indexOf("/")==k.string.length-1||p&&e(p,s)>-1||f(b,r,j,m,!0))return a.Pass;var t=q&&e(q,s)>-1;d[i]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(j.line+1,0):a.Pos(j.line,j.ch+1)}}for(var i=c.length-1;i>=0;i--){var u=d[i];b.replaceRange(u.text,c[i].head,c[i].anchor,"+insert");var v=b.listSelections().slice(0);v[i]={head:u.newPos,anchor:u.newPos},b.setSelections(v),u.indent&&(b.indentLine(u.newPos.line,null,!0),b.indentLine(u.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=0;h<d.length;h++){if(!d[h].empty())return a.Pass;var i=d[h].head,j=b.getTokenAt(i),k=a.innerMode(b.getMode(),j.state),l=k.state;if(c&&("string"==j.type||"<"!=j.string.charAt(0)||j.start!=i.ch-1))return a.Pass;var m;if("xml"!=k.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==k.mode.name)m=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=k.mode.name)return a.Pass;m=g+"style"}else{if(!l.context||!l.context.tagName||f(b,l.context.tagName,i,l))return a.Pass;m=g+l.context.tagName}">"!=b.getLine(i.line).charAt(j.end)&&(m+=">"),e[h]=m}b.replaceSelections(e),d=b.listSelections();for(var h=0;h<d.length;h++)(h==d.length-1||d[h].head.line<d[h+1].head.line)&&b.indentLine(d[h].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/edit/continuelist.js b/media/editors/codemirror/addon/edit/continuelist.js index f13e521993114..b83dc505ff56c 100644 --- a/media/editors/codemirror/addon/edit/continuelist.js +++ b/media/editors/codemirror/addon/edit/continuelist.js @@ -25,7 +25,8 @@ var inQuote = eolState.quote !== 0; var line = cm.getLine(pos.line), match = listRE.exec(line); - if (!ranges[i].empty() || (!inList && !inQuote) || !match) { + var cursorBeforeBullet = /^\s*$/.test(line.slice(0, pos.ch)); + if (!ranges[i].empty() || (!inList && !inQuote) || !match || cursorBeforeBullet) { cm.execCommand("newlineAndIndent"); return; } @@ -38,14 +39,51 @@ replacements[i] = "\n"; } else { var indent = match[1], after = match[5]; - var bullet = unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0 - ? match[2].replace("x", " ") - : (parseInt(match[3], 10) + 1) + match[4]; - + var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0); + var bullet = numbered ? (parseInt(match[3], 10) + 1) + match[4] : match[2].replace("x", " "); replacements[i] = "\n" + indent + bullet + after; + + if (numbered) incrementRemainingMarkdownListNumbers(cm, pos); } } cm.replaceSelections(replacements); }; + + // Auto-updating Markdown list numbers when a new item is added to the + // middle of a list + function incrementRemainingMarkdownListNumbers(cm, pos) { + var startLine = pos.line, lookAhead = 0, skipCount = 0; + var startItem = listRE.exec(cm.getLine(startLine)), startIndent = startItem[1]; + + do { + lookAhead += 1; + var nextLineNumber = startLine + lookAhead; + var nextLine = cm.getLine(nextLineNumber), nextItem = listRE.exec(nextLine); + + if (nextItem) { + var nextIndent = nextItem[1]; + var newNumber = (parseInt(startItem[3], 10) + lookAhead - skipCount); + var nextNumber = (parseInt(nextItem[3], 10)), itemNumber = nextNumber; + + if (startIndent === nextIndent) { + if (newNumber === nextNumber) itemNumber = nextNumber + 1; + if (newNumber > nextNumber) itemNumber = newNumber + 1; + cm.replaceRange( + nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]), + { + line: nextLineNumber, ch: 0 + }, { + line: nextLineNumber, ch: nextLine.length + }); + } else { + if (startIndent.length > nextIndent.length) return; + // This doesn't run if the next line immediatley indents, as it is + // not clear of the users intention (new indented item or same level) + if ((startIndent.length < nextIndent.length) && (lookAhead === 1)) return; + skipCount += 1; + } + } + } while (nextItem); + } }); diff --git a/media/editors/codemirror/addon/edit/continuelist.min.js b/media/editors/codemirror/addon/edit/continuelist.min.js index 2525c15d41f7e..da14112694522 100644 --- a/media/editors/codemirror/addon/edit/continuelist.min.js +++ b/media/editors/codemirror/addon/edit/continuelist.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";var b=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,c=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,d=/[*+-]\s/;a.commands.newlineAndIndentContinueMarkdownList=function(e){if(e.getOption("disableInput"))return a.Pass;for(var f=e.listSelections(),g=[],h=0;h<f.length;h++){var i=f[h].head,j=e.getStateAfter(i.line),k=j.list!==!1,l=0!==j.quote,m=e.getLine(i.line),n=b.exec(m);if(!f[h].empty()||!k&&!l||!n)return void e.execCommand("newlineAndIndent");if(c.test(m))/>\s*$/.test(m)||e.replaceRange("",{line:i.line,ch:0},{line:i.line,ch:i.ch+1}),g[h]="\n";else{var o=n[1],p=n[5],q=d.test(n[2])||n[2].indexOf(">")>=0?n[2].replace("x"," "):parseInt(n[3],10)+1+n[4];g[h]="\n"+o+q+p}}e.replaceSelections(g)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){var d=b.line,e=0,f=0,g=c.exec(a.getLine(d)),h=g[1];do{e+=1;var i=d+e,j=a.getLine(i),k=c.exec(j);if(k){var l=k[1],m=parseInt(g[3],10)+e-f,n=parseInt(k[3],10),o=n;if(h===l)m===n&&(o=n+1),m>n&&(o=m+1),a.replaceRange(j.replace(c,l+o+k[4]+k[5]),{line:i,ch:0},{line:i,ch:j.length});else{if(h.length>l.length)return;if(h.length<l.length&&1===e)return;f+=1}}}while(k)}var c=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,d=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,e=/[*+-]\s/;a.commands.newlineAndIndentContinueMarkdownList=function(f){if(f.getOption("disableInput"))return a.Pass;for(var g=f.listSelections(),h=[],i=0;i<g.length;i++){var j=g[i].head,k=f.getStateAfter(j.line),l=k.list!==!1,m=0!==k.quote,n=f.getLine(j.line),o=c.exec(n),p=/^\s*$/.test(n.slice(0,j.ch));if(!g[i].empty()||!l&&!m||!o||p)return void f.execCommand("newlineAndIndent");if(d.test(n))/>\s*$/.test(n)||f.replaceRange("",{line:j.line,ch:0},{line:j.line,ch:j.ch+1}),h[i]="\n";else{var q=o[1],r=o[5],s=!(e.test(o[2])||o[2].indexOf(">")>=0),t=s?parseInt(o[3],10)+1+o[4]:o[2].replace("x"," ");h[i]="\n"+q+t+r,s&&b(f,j)}}f.replaceSelections(h)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/hint/show-hint.js b/media/editors/codemirror/addon/hint/show-hint.js index f72a0a9c691d8..62c683cb8cc64 100644 --- a/media/editors/codemirror/addon/hint/show-hint.js +++ b/media/editors/codemirror/addon/hint/show-hint.js @@ -121,7 +121,6 @@ var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle); if (this.widget) this.widget.close(); - if (data && this.data && isNewCompletion(this.data, data)) return; this.data = data; if (data && data.list.length) { @@ -135,11 +134,6 @@ } }; - function isNewCompletion(old, nw) { - var moved = CodeMirror.cmpPos(nw.from, old.from) - return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch - } - function parseOptions(cm, pos, options) { var editor = cm.options.hintOptions; var out = {}; diff --git a/media/editors/codemirror/addon/hint/show-hint.min.js b/media/editors/codemirror/addon/hint/show-hint.min.js index 9555e42e34a54..d3f5fe746ba8a 100644 --- a/media/editors/codemirror/addon/hint/show-hint.min.js +++ b/media/editors/codemirror/addon/hint/show-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.cm=a,this.options=b,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var c=this;a.on("cursorActivity",this.activityFunc=function(){c.cursorActivity()})}function c(b,c){var d=a.cmpPos(c.from,b.from);return d>0&&b.to.ch-b.from.ch!=c.to.ch-c.from.ch}function d(a,b,c){var d=a.options.hintOptions,e={};for(var f in p)e[f]=p[f];if(d)for(var f in d)void 0!==d[f]&&(e[f]=d[f]);if(c)for(var f in c)void 0!==c[f]&&(e[f]=c[f]);return e.hint.resolve&&(e.hint=e.hint.resolve(a,b)),e}function e(a){return"string"==typeof a?a:a.text}function f(a,b){function c(a,c){var e;e="string"!=typeof c?function(a){return c(a,b)}:d.hasOwnProperty(c)?d[c]:c,f[a]=e}var d={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize()+1,!0)},PageDown:function(){b.moveFocus(b.menuSize()-1,!0)},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length-1)},Enter:b.pick,Tab:b.pick,Esc:b.close},e=a.options.customKeys,f=e?{}:d;if(e)for(var g in e)e.hasOwnProperty(g)&&c(g,e[g]);var h=a.options.extraKeys;if(h)for(var g in h)h.hasOwnProperty(g)&&c(g,h[g]);return f}function g(a,b){for(;b&&b!=a;){if("LI"===b.nodeName.toUpperCase()&&b.parentNode==a)return b;b=b.parentNode}}function h(b,c){this.completion=b,this.data=c,this.picked=!1;var d=this,h=b.cm,i=this.hints=document.createElement("ul");i.className="CodeMirror-hints",this.selectedHint=c.selectedHint||0;for(var j=c.list,k=0;k<j.length;++k){var n=i.appendChild(document.createElement("li")),o=j[k],p=l+(k!=this.selectedHint?"":" "+m);null!=o.className&&(p=o.className+" "+p),n.className=p,o.render?o.render(n,c,o):n.appendChild(document.createTextNode(o.displayText||e(o))),n.hintId=k}var q=h.cursorCoords(b.options.alignWithWord?c.from:null),r=q.left,s=q.bottom,t=!0;i.style.left=r+"px",i.style.top=s+"px";var u=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),v=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(b.options.container||document.body).appendChild(i);var w=i.getBoundingClientRect(),x=w.bottom-v,y=i.scrollHeight>i.clientHeight+1,z=h.getScrollInfo();if(x>0){var A=w.bottom-w.top,B=q.top-(q.bottom-w.top);if(B-A>0)i.style.top=(s=q.top-A)+"px",t=!1;else if(A>v){i.style.height=v-5+"px",i.style.top=(s=q.bottom-w.top)+"px";var C=h.getCursor();c.from.ch!=C.ch&&(q=h.cursorCoords(C),i.style.left=(r=q.left)+"px",w=i.getBoundingClientRect())}}var D=w.right-u;if(D>0&&(w.right-w.left>u&&(i.style.width=u-5+"px",D-=w.right-w.left-u),i.style.left=(r=q.left-D)+"px"),y)for(var E=i.firstChild;E;E=E.nextSibling)E.style.paddingRight=h.display.nativeBarWidth+"px";if(h.addKeyMap(this.keyMap=f(b,{moveFocus:function(a,b){d.changeActive(d.selectedHint+a,b)},setFocus:function(a){d.changeActive(a)},menuSize:function(){return d.screenAmount()},length:j.length,close:function(){b.close()},pick:function(){d.pick()},data:c})),b.options.closeOnUnfocus){var F;h.on("blur",this.onBlur=function(){F=setTimeout((function(){b.close()}),100)}),h.on("focus",this.onFocus=function(){clearTimeout(F)})}return h.on("scroll",this.onScroll=function(){var a=h.getScrollInfo(),c=h.getWrapperElement().getBoundingClientRect(),d=s+z.top-a.top,e=d-(window.pageYOffset||(document.documentElement||document.body).scrollTop);return t||(e+=i.offsetHeight),e<=c.top||e>=c.bottom?b.close():(i.style.top=d+"px",void(i.style.left=r+z.left-a.left+"px"))}),a.on(i,"dblclick",(function(a){var b=g(i,a.target||a.srcElement);b&&null!=b.hintId&&(d.changeActive(b.hintId),d.pick())})),a.on(i,"click",(function(a){var c=g(i,a.target||a.srcElement);c&&null!=c.hintId&&(d.changeActive(c.hintId),b.options.completeOnSingleClick&&d.pick())})),a.on(i,"mousedown",(function(){setTimeout((function(){h.focus()}),20)})),a.signal(c,"select",j[this.selectedHint],i.childNodes[this.selectedHint]),!0}function i(a,b){if(!a.somethingSelected())return b;for(var c=[],d=0;d<b.length;d++)b[d].supportsSelection&&c.push(b[d]);return c}function j(a,b,c,d){if(a.async)a(b,d,c);else{var e=a(b,c);e&&e.then?e.then(d):d(e)}}function k(b,c){var d,e=b.getHelpers(c,"hint");if(e.length){var f=function(a,b,c){function d(e){return e==f.length?b(null):void j(f[e],a,c,(function(a){a&&a.list.length>0?b(a):d(e+1)}))}var f=i(a,e);d(0)};return f.async=!0,f.supportsSelection=!0,f}return(d=b.getHelper(b.getCursor(),"hintWords"))?function(b){return a.hint.fromList(b,{words:d})}:a.hint.anyword?function(b,c){return a.hint.anyword(b,c)}:function(){}}var l="CodeMirror-hint",m="CodeMirror-hint-active";a.showHint=function(a,b,c){if(!b)return a.showHint(c);c&&c.async&&(b.async=!0);var d={hint:b};if(c)for(var e in c)d[e]=c[e];return a.showHint(d)},a.defineExtension("showHint",(function(c){c=d(this,this.getCursor("start"),c);var e=this.listSelections();if(!(e.length>1)){if(this.somethingSelected()){if(!c.hint.supportsSelection)return;for(var f=0;f<e.length;f++)if(e[f].head.line!=e[f].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var g=this.state.completionActive=new b(this,c);g.options.hint&&(a.signal(this,"startCompletion",this),g.update(!0))}}));var n=window.requestAnimationFrame||function(a){return setTimeout(a,1e3/60)},o=window.cancelAnimationFrame||clearTimeout;b.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&a.signal(this.data,"close"),this.widget&&this.widget.close(),a.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(b,c){var d=b.list[c];d.hint?d.hint(this.cm,b,d):this.cm.replaceRange(e(d),d.from||b.from,d.to||b.to,"complete"),a.signal(b,"pick",d),this.close()},cursorActivity:function(){this.debounce&&(o(this.debounce),this.debounce=0);var a=this.cm.getCursor(),b=this.cm.getLine(a.line);if(a.line!=this.startPos.line||b.length-a.ch!=this.startLen-this.startPos.ch||a.ch<this.startPos.ch||this.cm.somethingSelected()||a.ch&&this.options.closeCharacters.test(b.charAt(a.ch-1)))this.close();else{var c=this;this.debounce=n((function(){c.update()})),this.widget&&this.widget.disable()}},update:function(a){if(null!=this.tick){var b=this,c=++this.tick;j(this.options.hint,this.cm,this.options,(function(d){b.tick==c&&b.finishUpdate(d,a)}))}},finishUpdate:function(b,d){this.data&&a.signal(this.data,"update");var e=this.widget&&this.widget.picked||d&&this.options.completeSingle;this.widget&&this.widget.close(),b&&this.data&&c(this.data,b)||(this.data=b,b&&b.list.length&&(e&&1==b.list.length?this.pick(b,0):(this.widget=new h(this,b),a.signal(b,"shown"))))}},h.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var a=this.completion.cm;this.completion.options.closeOnUnfocus&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus)),a.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var a=this;this.keyMap={Enter:function(){a.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(b,c){if(b>=this.data.list.length?b=c?this.data.list.length-1:0:b<0&&(b=c?0:this.data.list.length-1),this.selectedHint!=b){var d=this.hints.childNodes[this.selectedHint];d.className=d.className.replace(" "+m,""),d=this.hints.childNodes[this.selectedHint=b],d.className+=" "+m,d.offsetTop<this.hints.scrollTop?this.hints.scrollTop=d.offsetTop-3:d.offsetTop+d.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=d.offsetTop+d.offsetHeight-this.hints.clientHeight+3),a.signal(this.data,"select",this.data.list[this.selectedHint],d)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},a.registerHelper("hint","auto",{resolve:k}),a.registerHelper("hint","fromList",(function(b,c){var d=b.getCursor(),e=b.getTokenAt(d),f=a.Pos(d.line,e.end);if(e.string&&/\w/.test(e.string[e.string.length-1]))var g=e.string,h=a.Pos(d.line,e.start);else var g="",h=f;for(var i=[],j=0;j<c.words.length;j++){var k=c.words[j];k.slice(0,g.length)==g&&i.push(k)}if(i.length)return{list:i,from:h,to:f}})),a.commands.autocomplete=a.showHint;var p={hint:a.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};a.defineOption("hintOptions",null)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.cm=a,this.options=b,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var c=this;a.on("cursorActivity",this.activityFunc=function(){c.cursorActivity()})}function c(a,b,c){var d=a.options.hintOptions,e={};for(var f in o)e[f]=o[f];if(d)for(var f in d)void 0!==d[f]&&(e[f]=d[f]);if(c)for(var f in c)void 0!==c[f]&&(e[f]=c[f]);return e.hint.resolve&&(e.hint=e.hint.resolve(a,b)),e}function d(a){return"string"==typeof a?a:a.text}function e(a,b){function c(a,c){var e;e="string"!=typeof c?function(a){return c(a,b)}:d.hasOwnProperty(c)?d[c]:c,f[a]=e}var d={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize()+1,!0)},PageDown:function(){b.moveFocus(b.menuSize()-1,!0)},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length-1)},Enter:b.pick,Tab:b.pick,Esc:b.close},e=a.options.customKeys,f=e?{}:d;if(e)for(var g in e)e.hasOwnProperty(g)&&c(g,e[g]);var h=a.options.extraKeys;if(h)for(var g in h)h.hasOwnProperty(g)&&c(g,h[g]);return f}function f(a,b){for(;b&&b!=a;){if("LI"===b.nodeName.toUpperCase()&&b.parentNode==a)return b;b=b.parentNode}}function g(b,c){this.completion=b,this.data=c,this.picked=!1;var g=this,h=b.cm,i=this.hints=document.createElement("ul");i.className="CodeMirror-hints",this.selectedHint=c.selectedHint||0;for(var j=c.list,m=0;m<j.length;++m){var n=i.appendChild(document.createElement("li")),o=j[m],p=k+(m!=this.selectedHint?"":" "+l);null!=o.className&&(p=o.className+" "+p),n.className=p,o.render?o.render(n,c,o):n.appendChild(document.createTextNode(o.displayText||d(o))),n.hintId=m}var q=h.cursorCoords(b.options.alignWithWord?c.from:null),r=q.left,s=q.bottom,t=!0;i.style.left=r+"px",i.style.top=s+"px";var u=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),v=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(b.options.container||document.body).appendChild(i);var w=i.getBoundingClientRect(),x=w.bottom-v,y=i.scrollHeight>i.clientHeight+1,z=h.getScrollInfo();if(x>0){var A=w.bottom-w.top,B=q.top-(q.bottom-w.top);if(B-A>0)i.style.top=(s=q.top-A)+"px",t=!1;else if(A>v){i.style.height=v-5+"px",i.style.top=(s=q.bottom-w.top)+"px";var C=h.getCursor();c.from.ch!=C.ch&&(q=h.cursorCoords(C),i.style.left=(r=q.left)+"px",w=i.getBoundingClientRect())}}var D=w.right-u;if(D>0&&(w.right-w.left>u&&(i.style.width=u-5+"px",D-=w.right-w.left-u),i.style.left=(r=q.left-D)+"px"),y)for(var E=i.firstChild;E;E=E.nextSibling)E.style.paddingRight=h.display.nativeBarWidth+"px";if(h.addKeyMap(this.keyMap=e(b,{moveFocus:function(a,b){g.changeActive(g.selectedHint+a,b)},setFocus:function(a){g.changeActive(a)},menuSize:function(){return g.screenAmount()},length:j.length,close:function(){b.close()},pick:function(){g.pick()},data:c})),b.options.closeOnUnfocus){var F;h.on("blur",this.onBlur=function(){F=setTimeout((function(){b.close()}),100)}),h.on("focus",this.onFocus=function(){clearTimeout(F)})}return h.on("scroll",this.onScroll=function(){var a=h.getScrollInfo(),c=h.getWrapperElement().getBoundingClientRect(),d=s+z.top-a.top,e=d-(window.pageYOffset||(document.documentElement||document.body).scrollTop);return t||(e+=i.offsetHeight),e<=c.top||e>=c.bottom?b.close():(i.style.top=d+"px",void(i.style.left=r+z.left-a.left+"px"))}),a.on(i,"dblclick",(function(a){var b=f(i,a.target||a.srcElement);b&&null!=b.hintId&&(g.changeActive(b.hintId),g.pick())})),a.on(i,"click",(function(a){var c=f(i,a.target||a.srcElement);c&&null!=c.hintId&&(g.changeActive(c.hintId),b.options.completeOnSingleClick&&g.pick())})),a.on(i,"mousedown",(function(){setTimeout((function(){h.focus()}),20)})),a.signal(c,"select",j[this.selectedHint],i.childNodes[this.selectedHint]),!0}function h(a,b){if(!a.somethingSelected())return b;for(var c=[],d=0;d<b.length;d++)b[d].supportsSelection&&c.push(b[d]);return c}function i(a,b,c,d){if(a.async)a(b,d,c);else{var e=a(b,c);e&&e.then?e.then(d):d(e)}}function j(b,c){var d,e=b.getHelpers(c,"hint");if(e.length){var f=function(a,b,c){function d(e){return e==f.length?b(null):void i(f[e],a,c,(function(a){a&&a.list.length>0?b(a):d(e+1)}))}var f=h(a,e);d(0)};return f.async=!0,f.supportsSelection=!0,f}return(d=b.getHelper(b.getCursor(),"hintWords"))?function(b){return a.hint.fromList(b,{words:d})}:a.hint.anyword?function(b,c){return a.hint.anyword(b,c)}:function(){}}var k="CodeMirror-hint",l="CodeMirror-hint-active";a.showHint=function(a,b,c){if(!b)return a.showHint(c);c&&c.async&&(b.async=!0);var d={hint:b};if(c)for(var e in c)d[e]=c[e];return a.showHint(d)},a.defineExtension("showHint",(function(d){d=c(this,this.getCursor("start"),d);var e=this.listSelections();if(!(e.length>1)){if(this.somethingSelected()){if(!d.hint.supportsSelection)return;for(var f=0;f<e.length;f++)if(e[f].head.line!=e[f].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var g=this.state.completionActive=new b(this,d);g.options.hint&&(a.signal(this,"startCompletion",this),g.update(!0))}}));var m=window.requestAnimationFrame||function(a){return setTimeout(a,1e3/60)},n=window.cancelAnimationFrame||clearTimeout;b.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&a.signal(this.data,"close"),this.widget&&this.widget.close(),a.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(b,c){var e=b.list[c];e.hint?e.hint(this.cm,b,e):this.cm.replaceRange(d(e),e.from||b.from,e.to||b.to,"complete"),a.signal(b,"pick",e),this.close()},cursorActivity:function(){this.debounce&&(n(this.debounce),this.debounce=0);var a=this.cm.getCursor(),b=this.cm.getLine(a.line);if(a.line!=this.startPos.line||b.length-a.ch!=this.startLen-this.startPos.ch||a.ch<this.startPos.ch||this.cm.somethingSelected()||a.ch&&this.options.closeCharacters.test(b.charAt(a.ch-1)))this.close();else{var c=this;this.debounce=m((function(){c.update()})),this.widget&&this.widget.disable()}},update:function(a){if(null!=this.tick){var b=this,c=++this.tick;i(this.options.hint,this.cm,this.options,(function(d){b.tick==c&&b.finishUpdate(d,a)}))}},finishUpdate:function(b,c){this.data&&a.signal(this.data,"update");var d=this.widget&&this.widget.picked||c&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=b,b&&b.list.length&&(d&&1==b.list.length?this.pick(b,0):(this.widget=new g(this,b),a.signal(b,"shown")))}},g.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var a=this.completion.cm;this.completion.options.closeOnUnfocus&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus)),a.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var a=this;this.keyMap={Enter:function(){a.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(b,c){if(b>=this.data.list.length?b=c?this.data.list.length-1:0:b<0&&(b=c?0:this.data.list.length-1),this.selectedHint!=b){var d=this.hints.childNodes[this.selectedHint];d.className=d.className.replace(" "+l,""),d=this.hints.childNodes[this.selectedHint=b],d.className+=" "+l,d.offsetTop<this.hints.scrollTop?this.hints.scrollTop=d.offsetTop-3:d.offsetTop+d.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=d.offsetTop+d.offsetHeight-this.hints.clientHeight+3),a.signal(this.data,"select",this.data.list[this.selectedHint],d)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},a.registerHelper("hint","auto",{resolve:j}),a.registerHelper("hint","fromList",(function(b,c){var d=b.getCursor(),e=b.getTokenAt(d),f=a.Pos(d.line,e.end);if(e.string&&/\w/.test(e.string[e.string.length-1]))var g=e.string,h=a.Pos(d.line,e.start);else var g="",h=f;for(var i=[],j=0;j<c.words.length;j++){var k=c.words[j];k.slice(0,g.length)==g&&i.push(k)}if(i.length)return{list:i,from:h,to:f}})),a.commands.autocomplete=a.showHint;var o={hint:a.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};a.defineOption("hintOptions",null)})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/lint/lint.js b/media/editors/codemirror/addon/lint/lint.js index a9eb8fa66b4fe..e00e77a20c25a 100644 --- a/media/editors/codemirror/addon/lint/lint.js +++ b/media/editors/codemirror/addon/lint/lint.js @@ -132,7 +132,7 @@ cm.off("change", abort) if (state.waitingFor != id) return if (arg2 && annotations instanceof CodeMirror) annotations = arg2 - updateLinting(cm, annotations) + cm.operation(function() {updateLinting(cm, annotations)}) }, passOptions, cm); } @@ -151,9 +151,9 @@ var annotations = getAnnotations(cm.getValue(), passOptions, cm); if (!annotations) return; if (annotations.then) annotations.then(function(issues) { - updateLinting(cm, issues); + cm.operation(function() {updateLinting(cm, issues)}) }); - else updateLinting(cm, annotations); + else cm.operation(function() {updateLinting(cm, annotations)}) } } diff --git a/media/editors/codemirror/addon/lint/lint.min.js b/media/editors/codemirror/addon/lint/lint.min.js index 8c5cbde55c918..ec8b5660707e1 100644 --- a/media/editors/codemirror/addon/lint/lint.min.js +++ b/media/editors/codemirror/addon/lint/lint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c){function d(b){return e.parentNode?(e.style.top=Math.max(0,b.clientY-e.offsetHeight-5)+"px",void(e.style.left=b.clientX+5+"px")):a.off(document,"mousemove",d)}var e=document.createElement("div");return e.className="CodeMirror-lint-tooltip",e.appendChild(c.cloneNode(!0)),document.body.appendChild(e),a.on(document,"mousemove",d),d(b),null!=e.style.opacity&&(e.style.opacity=1),e}function c(a){a.parentNode&&a.parentNode.removeChild(a)}function d(a){a.parentNode&&(null==a.style.opacity&&c(a),a.style.opacity=0,setTimeout((function(){c(a)}),600))}function e(c,e,f){function g(){a.off(f,"mouseout",g),h&&(d(h),h=null)}var h=b(c,e),i=setInterval((function(){if(h)for(var a=f;;a=a.parentNode){if(a&&11==a.nodeType&&(a=a.host),a==document.body)return;if(!a){g();break}}if(!h)return clearInterval(i)}),400);a.on(f,"mouseout",g)}function f(a,b,c){this.marked=[],this.options=b,this.timeout=null,this.hasGutter=c,this.onMouseOver=function(b){r(a,b)},this.waitingFor=0}function g(a,b){return b instanceof Function?{getAnnotations:b}:(b&&b!==!0||(b={}),b)}function h(a){var b=a.state.lint;b.hasGutter&&a.clearGutter(s);for(var c=0;c<b.marked.length;++c)b.marked[c].clear();b.marked.length=0}function i(b,c,d,f){var g=document.createElement("div"),h=g;return g.className="CodeMirror-lint-marker-"+c,d&&(h=g.appendChild(document.createElement("div")),h.className="CodeMirror-lint-marker-multiple"),0!=f&&a.on(h,"mouseover",(function(a){e(a,b,h)})),g}function j(a,b){return"error"==a?a:b}function k(a){for(var b=[],c=0;c<a.length;++c){var d=a[c],e=d.from.line;(b[e]||(b[e]=[])).push(d)}return b}function l(a){var b=a.severity;b||(b="error");var c=document.createElement("div");return c.className="CodeMirror-lint-message-"+b,"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML:c.appendChild(document.createTextNode(a.message)),c}function m(b,c,d){function e(){g=-1,b.off("change",e)}var f=b.state.lint,g=++f.waitingFor;b.on("change",e),c(b.getValue(),(function(c,d){b.off("change",e),f.waitingFor==g&&(d&&c instanceof a&&(c=d),o(b,c))}),d,b)}function n(b){var c=b.state.lint,d=c.options,e=d.options||d,f=d.getAnnotations||b.getHelper(a.Pos(0,0),"lint");if(f)if(d.async||f.async)m(b,f,e);else{var g=f(b.getValue(),e,b);if(!g)return;g.then?g.then((function(a){o(b,a)})):o(b,g)}}function o(a,b){h(a);for(var c=a.state.lint,d=c.options,e=k(b),f=0;f<e.length;++f){var g=e[f];if(g){for(var m=null,n=c.hasGutter&&document.createDocumentFragment(),o=0;o<g.length;++o){var p=g[o],q=p.severity;q||(q="error"),m=j(m,q),d.formatAnnotation&&(p=d.formatAnnotation(p)),c.hasGutter&&n.appendChild(l(p)),p.to&&c.marked.push(a.markText(p.from,p.to,{className:"CodeMirror-lint-mark-"+q,__annotation:p}))}c.hasGutter&&a.setGutterMarker(f,s,i(n,m,g.length>1,c.options.tooltips))}}d.onUpdateLinting&&d.onUpdateLinting(b,e,a)}function p(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout((function(){n(a)}),b.options.delay||500))}function q(a,b){for(var c=b.target||b.srcElement,d=document.createDocumentFragment(),f=0;f<a.length;f++){var g=a[f];d.appendChild(l(g))}e(b,d,c)}function r(a,b){var c=b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(c.className)){for(var d=c.getBoundingClientRect(),e=(d.left+d.right)/2,f=(d.top+d.bottom)/2,g=a.findMarksAt(a.coordsChar({left:e,top:f},"client")),h=[],i=0;i<g.length;++i){var j=g[i].__annotation;j&&h.push(j)}h.length&&q(h,b)}}var s="CodeMirror-lint-markers";a.defineOption("lint",!1,(function(b,c,d){if(d&&d!=a.Init&&(h(b),b.state.lint.options.lintOnChange!==!1&&b.off("change",p),a.off(b.getWrapperElement(),"mouseover",b.state.lint.onMouseOver),clearTimeout(b.state.lint.timeout),delete b.state.lint),c){for(var e=b.getOption("gutters"),i=!1,j=0;j<e.length;++j)e[j]==s&&(i=!0);var k=b.state.lint=new f(b,g(b,c),i);k.options.lintOnChange!==!1&&b.on("change",p),0!=k.options.tooltips&&"gutter"!=k.options.tooltips&&a.on(b.getWrapperElement(),"mouseover",k.onMouseOver),n(b)}})),a.defineExtension("performLint",(function(){this.state.lint&&n(this)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c){function d(b){return e.parentNode?(e.style.top=Math.max(0,b.clientY-e.offsetHeight-5)+"px",void(e.style.left=b.clientX+5+"px")):a.off(document,"mousemove",d)}var e=document.createElement("div");return e.className="CodeMirror-lint-tooltip",e.appendChild(c.cloneNode(!0)),document.body.appendChild(e),a.on(document,"mousemove",d),d(b),null!=e.style.opacity&&(e.style.opacity=1),e}function c(a){a.parentNode&&a.parentNode.removeChild(a)}function d(a){a.parentNode&&(null==a.style.opacity&&c(a),a.style.opacity=0,setTimeout((function(){c(a)}),600))}function e(c,e,f){function g(){a.off(f,"mouseout",g),h&&(d(h),h=null)}var h=b(c,e),i=setInterval((function(){if(h)for(var a=f;;a=a.parentNode){if(a&&11==a.nodeType&&(a=a.host),a==document.body)return;if(!a){g();break}}if(!h)return clearInterval(i)}),400);a.on(f,"mouseout",g)}function f(a,b,c){this.marked=[],this.options=b,this.timeout=null,this.hasGutter=c,this.onMouseOver=function(b){r(a,b)},this.waitingFor=0}function g(a,b){return b instanceof Function?{getAnnotations:b}:(b&&b!==!0||(b={}),b)}function h(a){var b=a.state.lint;b.hasGutter&&a.clearGutter(s);for(var c=0;c<b.marked.length;++c)b.marked[c].clear();b.marked.length=0}function i(b,c,d,f){var g=document.createElement("div"),h=g;return g.className="CodeMirror-lint-marker-"+c,d&&(h=g.appendChild(document.createElement("div")),h.className="CodeMirror-lint-marker-multiple"),0!=f&&a.on(h,"mouseover",(function(a){e(a,b,h)})),g}function j(a,b){return"error"==a?a:b}function k(a){for(var b=[],c=0;c<a.length;++c){var d=a[c],e=d.from.line;(b[e]||(b[e]=[])).push(d)}return b}function l(a){var b=a.severity;b||(b="error");var c=document.createElement("div");return c.className="CodeMirror-lint-message-"+b,"undefined"!=typeof a.messageHTML?c.innerHTML=a.messageHTML:c.appendChild(document.createTextNode(a.message)),c}function m(b,c,d){function e(){g=-1,b.off("change",e)}var f=b.state.lint,g=++f.waitingFor;b.on("change",e),c(b.getValue(),(function(c,d){b.off("change",e),f.waitingFor==g&&(d&&c instanceof a&&(c=d),b.operation((function(){o(b,c)})))}),d,b)}function n(b){var c=b.state.lint,d=c.options,e=d.options||d,f=d.getAnnotations||b.getHelper(a.Pos(0,0),"lint");if(f)if(d.async||f.async)m(b,f,e);else{var g=f(b.getValue(),e,b);if(!g)return;g.then?g.then((function(a){b.operation((function(){o(b,a)}))})):b.operation((function(){o(b,g)}))}}function o(a,b){h(a);for(var c=a.state.lint,d=c.options,e=k(b),f=0;f<e.length;++f){var g=e[f];if(g){for(var m=null,n=c.hasGutter&&document.createDocumentFragment(),o=0;o<g.length;++o){var p=g[o],q=p.severity;q||(q="error"),m=j(m,q),d.formatAnnotation&&(p=d.formatAnnotation(p)),c.hasGutter&&n.appendChild(l(p)),p.to&&c.marked.push(a.markText(p.from,p.to,{className:"CodeMirror-lint-mark-"+q,__annotation:p}))}c.hasGutter&&a.setGutterMarker(f,s,i(n,m,g.length>1,c.options.tooltips))}}d.onUpdateLinting&&d.onUpdateLinting(b,e,a)}function p(a){var b=a.state.lint;b&&(clearTimeout(b.timeout),b.timeout=setTimeout((function(){n(a)}),b.options.delay||500))}function q(a,b){for(var c=b.target||b.srcElement,d=document.createDocumentFragment(),f=0;f<a.length;f++){var g=a[f];d.appendChild(l(g))}e(b,d,c)}function r(a,b){var c=b.target||b.srcElement;if(/\bCodeMirror-lint-mark-/.test(c.className)){for(var d=c.getBoundingClientRect(),e=(d.left+d.right)/2,f=(d.top+d.bottom)/2,g=a.findMarksAt(a.coordsChar({left:e,top:f},"client")),h=[],i=0;i<g.length;++i){var j=g[i].__annotation;j&&h.push(j)}h.length&&q(h,b)}}var s="CodeMirror-lint-markers";a.defineOption("lint",!1,(function(b,c,d){if(d&&d!=a.Init&&(h(b),b.state.lint.options.lintOnChange!==!1&&b.off("change",p),a.off(b.getWrapperElement(),"mouseover",b.state.lint.onMouseOver),clearTimeout(b.state.lint.timeout),delete b.state.lint),c){for(var e=b.getOption("gutters"),i=!1,j=0;j<e.length;++j)e[j]==s&&(i=!0);var k=b.state.lint=new f(b,g(b,c),i);k.options.lintOnChange!==!1&&b.on("change",p),0!=k.options.tooltips&&"gutter"!=k.options.tooltips&&a.on(b.getWrapperElement(),"mouseover",k.onMouseOver),n(b)}})),a.defineExtension("performLint",(function(){this.state.lint&&n(this)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/merge/merge.js b/media/editors/codemirror/addon/merge/merge.js index c94b27a7b8924..dc2e77c60edab 100644 --- a/media/editors/codemirror/addon/merge/merge.js +++ b/media/editors/codemirror/addon/merge/merge.js @@ -738,6 +738,9 @@ mark.clear(); cm.removeLineClass(from, "wrap", "CodeMirror-merge-collapsed-line"); } + if (mark.explicitlyCleared) clear(); + CodeMirror.on(widget, "click", clear); + mark.on("clear", clear); CodeMirror.on(widget, "click", clear); return {mark: mark, clear: clear}; } diff --git a/media/editors/codemirror/addon/merge/merge.min.js b/media/editors/codemirror/addon/merge/merge.min.js index 608e074515b41..0d1928618b587 100644 --- a/media/editors/codemirror/addon/merge/merge.min.js +++ b/media/editors/codemirror/addon/merge/merge.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","diff_match_patch"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.mv=a,this.type=b,this.classes="left"==b?{chunk:"CodeMirror-merge-l-chunk",start:"CodeMirror-merge-l-chunk-start",end:"CodeMirror-merge-l-chunk-end",insert:"CodeMirror-merge-l-inserted",del:"CodeMirror-merge-l-deleted",connect:"CodeMirror-merge-l-connect"}:{chunk:"CodeMirror-merge-r-chunk",start:"CodeMirror-merge-r-chunk-start",end:"CodeMirror-merge-r-chunk-end",insert:"CodeMirror-merge-r-inserted",del:"CodeMirror-merge-r-deleted",connect:"CodeMirror-merge-r-connect"}}function c(b){b.diffOutOfDate&&(b.diff=z(b.orig.getValue(),b.edit.getValue(),b.mv.options.ignoreWhitespace),b.chunks=A(b.diff),b.diffOutOfDate=!1,a.signal(b.edit,"updateDiff",b.diff))}function d(b){function d(a){W=!0,p=!1,"full"==a&&(b.svg&&J(b.svg),b.copyButtons&&J(b.copyButtons),j(b.edit,m.marked,b.classes),j(b.orig,o.marked,b.classes),m.from=m.to=o.from=o.to=0),c(b),b.showDifferences&&(k(b.edit,b.diff,m,DIFF_INSERT,b.classes),k(b.orig,b.diff,o,DIFF_DELETE,b.classes)),"align"==b.mv.options.connect&&s(b),n(b),null!=b.needsScrollSync&&f(b,b.needsScrollSync),W=!1}function e(a){W||(b.dealigned=!0,g(a))}function g(a){W||p||(clearTimeout(l),a===!0&&(p=!0),l=setTimeout(d,a===!0?20:250))}function h(a,c){b.diffOutOfDate||(b.diffOutOfDate=!0,m.from=m.to=o.from=o.to=0),e(c.text.length-1!=c.to.line-c.from.line)}function i(){b.diffOutOfDate=!0,b.dealigned=!0,d("full")}var l,m={from:0,to:0,marked:[]},o={from:0,to:0,marked:[]},p=!1;return b.edit.on("change",h),b.orig.on("change",h),b.edit.on("swapDoc",i),b.orig.on("swapDoc",i),"align"==b.mv.options.connect&&(a.on(b.edit.state.trackAlignable,"realign",e),a.on(b.orig.state.trackAlignable,"realign",e)),b.edit.on("viewportChange",(function(){g(!1)})),b.orig.on("viewportChange",(function(){g(!1)})),d(),d}function e(a,b){a.edit.on("scroll",(function(){f(a,!0)&&n(a)})),a.orig.on("scroll",(function(){f(a,!1)&&n(a),b&&f(b,!0)&&n(b)}))}function f(a,b){if(a.diffOutOfDate)return a.lockScroll&&null==a.needsScrollSync&&(a.needsScrollSync=b),!1;if(a.needsScrollSync=null,!a.lockScroll)return!0;var c,d,e=+new Date;if(b?(c=a.edit,d=a.orig):(c=a.orig,d=a.edit),c.state.scrollSetBy==a&&(c.state.scrollSetAt||0)+250>e)return!1;var f=c.getScrollInfo();if("align"==a.mv.options.connect)q=f.top;else{var h,i,j=.5*f.clientHeight,k=f.top+j,l=c.lineAtHeight(k,"local"),m=D(a.chunks,l,b),n=g(c,b?m.edit:m.orig),o=g(d,b?m.orig:m.edit),p=(k-n.top)/(n.bot-n.top),q=o.top-j+p*(o.bot-o.top);if(q>f.top&&(i=f.top/j)<1)q=q*i+f.top*(1-i);else if((h=f.height-f.clientHeight-f.top)<j){var r=d.getScrollInfo(),s=r.height-r.clientHeight-q;s>h&&(i=h/j)<1&&(q=q*i+(r.height-r.clientHeight-h)*(1-i))}}return d.scrollTo(f.left,q),d.state.scrollSetAt=e,d.state.scrollSetBy=a,!0}function g(a,b){var c=b.after;return null==c&&(c=a.lastLine()+1),{top:a.heightAtLine(b.before||0,"local"),bot:a.heightAtLine(c,"local")}}function h(a,b,c){a.lockScroll=b,b&&0!=c&&f(a,DIFF_INSERT)&&n(a),a.lockButton.innerHTML=b?"⇛⇚":"⇛  ⇚"}function i(a,b,c){for(var d=c.classLocation,e=0;e<d.length;e++)a.removeLineClass(b,d[e],c.chunk),a.removeLineClass(b,d[e],c.start),a.removeLineClass(b,d[e],c.end)}function j(b,c,d){for(var e=0;e<c.length;++e){var f=c[e];f instanceof a.TextMarker?f.clear():f.parent&&i(b,f,d)}c.length=0}function k(a,b,c,d,e){var f=a.getViewport();a.operation((function(){c.from==c.to||f.from-c.to>20||c.from-f.to>20?(j(a,c.marked,e),m(a,b,d,c.marked,f.from,f.to,e),c.from=f.from,c.to=f.to):(f.from<c.from&&(m(a,b,d,c.marked,f.from,c.from,e),c.from=f.from),f.to>c.to&&(m(a,b,d,c.marked,c.to,f.to,e),c.to=f.to))}))}function l(a,b,c,d,e,f){for(var g=c.classLocation,h=a.getLineHandle(b),i=0;i<g.length;i++)d&&a.addLineClass(h,g[i],c.chunk),e&&a.addLineClass(h,g[i],c.start),f&&a.addLineClass(h,g[i],c.end);return h}function m(a,b,c,d,e,f,g){function h(b,c){for(var h=Math.max(e,b),i=Math.min(f,c),j=h;j<i;++j)d.push(l(a,j,g,!0,j==b,j==c-1));b==c&&h==c&&i==c&&(h?d.push(l(a,h-1,g,!1,!1,!0)):d.push(l(a,h,g,!1,!0,!1)))}for(var i=U(0,0),j=U(e,0),k=a.clipPos(U(f-1)),m=c==DIFF_DELETE?g.del:g.insert,n=0,o=!1,p=0;p<b.length;++p){var q=b[p],r=q[0],s=q[1];if(r==DIFF_EQUAL){var t=i.line+(C(b,p)?0:1);M(i,s);var u=i.line+(B(b,p)?1:0);u>t&&(o&&(h(n,t),o=!1),n=u)}else if(o=!0,r==c){var v=M(i,s,!0),w=P(j,i),x=O(k,v);Q(w,x)||d.push(a.markText(w,x,{className:m})),i=v}}o&&h(n,i.line+1)}function n(a){if(a.showDifferences){if(a.svg){J(a.svg);var b=a.gap.offsetWidth;K(a.svg,"width",b,"height",a.gap.offsetHeight)}a.copyButtons&&J(a.copyButtons);for(var c=a.edit.getViewport(),d=a.orig.getViewport(),e=a.mv.wrap.getBoundingClientRect().top,f=e-a.edit.getScrollerElement().getBoundingClientRect().top+a.edit.getScrollInfo().top,g=e-a.orig.getScrollerElement().getBoundingClientRect().top+a.orig.getScrollInfo().top,h=0;h<a.chunks.length;h++){var i=a.chunks[h];i.editFrom<=c.to&&i.editTo>=c.from&&i.origFrom<=d.to&&i.origTo>=d.from&&v(a,i,g,f,b)}}}function o(a,b){for(var c=0,d=0,e=0;e<b.length;e++){var f=b[e];if(f.editTo>a&&f.editFrom<=a)return null;if(f.editFrom>a)break;c=f.editTo,d=f.origTo}return d+(a-c)}function p(a,b,c){for(var d=a.state.trackAlignable,e=a.firstLine(),f=0,g=[],h=0;;h++){for(var i=b[h],j=i?c?i.origFrom:i.editFrom:1e9;f<d.alignable.length;f+=2){var k=d.alignable[f]+1;if(!(k<=e)){if(!(k<=j))break;g.push(k)}}if(!i)break;g.push(e=c?i.origTo:i.editTo)}return g}function q(a,b,c,d){var e=0,f=0,g=0,h=0;a:for(;;e++){var i=a[e],j=b[f];if(!i&&null==j)break;for(var k=i?i[0]:1e9,l=null==j?1e9:j;g<c.length;){var m=c[g];if(m.origFrom<=l&&m.origTo>l){f++,e--;continue a}if(m.editTo>k){if(m.editFrom<=k)continue a;break}h+=m.origTo-m.origFrom-(m.editTo-m.editFrom),g++}if(k==l-h)i[d]=l,f++;else if(k<l-h)i[d]=k+h;else{var n=[l-h,null,null];n[d]=l,a.splice(e,0,n),f++}}}function r(a,b){var c=p(a.edit,a.chunks,!1),d=[];if(b)for(var e=0,f=0;e<b.chunks.length;e++){for(var g=b.chunks[e].editTo;f<c.length&&c[f]<g;)f++;f!=c.length&&c[f]==g||c.splice(f++,0,g)}for(var e=0;e<c.length;e++)d.push([c[e],null,null]);return q(d,p(a.orig,a.chunks,!0),a.chunks,1),b&&q(d,p(b.orig,b.chunks,!0),b.chunks,2),d}function s(a,b){if(a.dealigned||b){if(!a.orig.curOp)return a.orig.operation((function(){s(a,b)}));a.dealigned=!1;var d=a.mv.left==a?a.mv.right:a.mv.left;d&&(c(d),d.dealigned=!1);for(var e=r(a,d),f=a.mv.aligners,g=0;g<f.length;g++)f[g].clear();f.length=0;var h=[a.edit,a.orig],i=[];d&&h.push(d.orig);for(var g=0;g<h.length;g++)i.push(h[g].getScrollInfo().top);for(var j=0;j<e.length;j++)t(h,e[j],f);for(var g=0;g<h.length;g++)h[g].scrollTo(null,i[g])}}function t(a,b,c){for(var d=0,e=[],f=0;f<a.length;f++)if(null!=b[f]){var g=a[f].heightAtLine(b[f],"local");e[f]=g,d=Math.max(d,g)}for(var f=0;f<a.length;f++)if(null!=b[f]){var h=d-e[f];h>1&&c.push(u(a[f],b[f],h))}}function u(a,b,c){var d=!0;b>a.lastLine()&&(b--,d=!1);var e=document.createElement("div");return e.className="CodeMirror-merge-spacer",e.style.height=c+"px",e.style.minWidth="1px",a.addLineWidget(b,e,{height:c,above:d,mergeSpacer:!0,handleMouseEvents:!0})}function v(a,b,c,d,e){var f="left"==a.type,g=a.orig.heightAtLine(b.origFrom,"local",!0)-c;if(a.svg){var h=g,i=a.edit.heightAtLine(b.editFrom,"local",!0)-d;if(f){var j=h;h=i,i=j}var k=a.orig.heightAtLine(b.origTo,"local",!0)-c,l=a.edit.heightAtLine(b.editTo,"local",!0)-d;if(f){var j=k;k=l,l=j}var m=" C "+e/2+" "+i+" "+e/2+" "+h+" "+(e+2)+" "+h,n=" C "+e/2+" "+k+" "+e/2+" "+l+" -1 "+l;K(a.svg.appendChild(document.createElementNS(V,"path")),"d","M -1 "+i+m+" L "+(e+2)+" "+k+n+" z","class",a.classes.connect)}if(a.copyButtons){var o=a.copyButtons.appendChild(I("div","left"==a.type?"⇝":"⇜","CodeMirror-merge-copy")),p=a.mv.options.allowEditingOriginals;if(o.title=p?"Push to left":"Revert chunk",o.chunk=b,o.style.top=(b.origTo>b.origFrom?g:a.edit.heightAtLine(b.editFrom,"local")-d)+"px",p){var q=a.edit.heightAtLine(b.editFrom,"local")-d,r=a.copyButtons.appendChild(I("div","right"==a.type?"⇝":"⇜","CodeMirror-merge-copy-reverse"));r.title="Push to right",r.chunk={editFrom:b.origFrom,editTo:b.origTo,origFrom:b.editFrom,origTo:b.editTo},r.style.top=q+"px","right"==a.type?r.style.left="2px":r.style.right="2px"}}}function w(a,b,c,d){if(!a.diffOutOfDate){var e=d.origTo>c.lastLine()?U(d.origFrom-1):U(d.origFrom,0),f=U(d.origTo,0),g=d.editTo>b.lastLine()?U(d.editFrom-1):U(d.editFrom,0),h=U(d.editTo,0),i=a.mv.options.revertChunk;i?i(a.mv,c,e,f,b,g,h):b.replaceRange(c.getRange(e,f),g,h)}}function x(b){var c=b.lockButton=I("div",null,"CodeMirror-merge-scrolllock");c.title="Toggle locked scrolling";var d=I("div",[c],"CodeMirror-merge-scrolllock-wrap");a.on(c,"click",(function(){h(b,!b.lockScroll)}));var e=[d];if(b.mv.options.revertButtons!==!1&&(b.copyButtons=I("div",null,"CodeMirror-merge-copybuttons-"+b.type),a.on(b.copyButtons,"click",(function(a){var c=a.target||a.srcElement;if(c.chunk)return"CodeMirror-merge-copy-reverse"==c.className?void w(b,b.orig,b.edit,c.chunk):void w(b,b.edit,b.orig,c.chunk)})),e.unshift(b.copyButtons)),"align"!=b.mv.options.connect){var f=document.createElementNS&&document.createElementNS(V,"svg");f&&!f.createSVGRect&&(f=null),b.svg=f,f&&e.push(f)}return b.gap=I("div",e,"CodeMirror-merge-gap")}function y(a){return"string"==typeof a?a:a.getValue()}function z(a,b,c){Y||(Y=new diff_match_patch);for(var d=Y.diff_main(a,b),e=0;e<d.length;++e){var f=d[e];(c?/[^ \t]/.test(f[1]):f[1])?e&&d[e-1][0]==f[0]&&(d.splice(e--,1),d[e][1]+=f[1]):d.splice(e--,1)}return d}function A(a){for(var b=[],c=0,d=0,e=U(0,0),f=U(0,0),g=0;g<a.length;++g){var h=a[g],i=h[0];if(i==DIFF_EQUAL){var j=!C(a,g)||e.line<c||f.line<d?1:0,k=e.line+j,l=f.line+j;M(e,h[1],null,f);var m=B(a,g)?1:0,n=e.line+m,o=f.line+m;n>k&&(g&&b.push({origFrom:d,origTo:l,editFrom:c,editTo:k}),c=n,d=o)}else M(i==DIFF_INSERT?e:f,h[1])}return(c<=e.line||d<=f.line)&&b.push({origFrom:d,origTo:f.line+1,editFrom:c,editTo:e.line+1}),b}function B(a,b){if(b==a.length-1)return!0;var c=a[b+1][1];return!(1==c.length&&b<a.length-2||10!=c.charCodeAt(0))&&(b==a.length-2||(c=a[b+2][1],(c.length>1||b==a.length-3)&&10==c.charCodeAt(0)))}function C(a,b){if(0==b)return!0;var c=a[b-1][1];return 10==c.charCodeAt(c.length-1)&&(1==b||(c=a[b-2][1],10==c.charCodeAt(c.length-1)))}function D(a,b,c){for(var d,e,f,g,h=0;h<a.length;h++){var i=a[h],j=c?i.editFrom:i.origFrom,k=c?i.editTo:i.origTo;null==e&&(j>b?(e=i.editFrom,g=i.origFrom):k>b&&(e=i.editTo,g=i.origTo)),k<=b?(d=i.editTo,f=i.origTo):j<=b&&(d=i.editFrom,f=i.origFrom)}return{edit:{before:d,after:e},orig:{before:f,after:g}}}function E(b,c,d){function e(){g.clear(),b.removeLineClass(c,"wrap","CodeMirror-merge-collapsed-line")}b.addLineClass(c,"wrap","CodeMirror-merge-collapsed-line");var f=document.createElement("span");f.className="CodeMirror-merge-collapsed-widget",f.title="Identical text collapsed. Click to expand.";var g=b.markText(U(c,0),U(d-1),{inclusiveLeft:!0,inclusiveRight:!0,replacedWith:f,clearOnEnter:!0});return a.on(f,"click",e),{mark:g,clear:e}}function F(a,b){function c(){for(var a=0;a<d.length;a++)d[a].clear()}for(var d=[],e=0;e<b.length;e++){var f=b[e],g=E(f.cm,f.line,f.line+a);d.push(g),g.mark.on("clear",c)}return d[0].mark}function G(a,b,c,d){for(var e=0;e<a.chunks.length;e++)for(var f=a.chunks[e],g=f.editFrom-b;g<f.editTo+b;g++){var h=g+c;h>=0&&h<d.length&&(d[h]=!1)}}function H(a,b){"number"!=typeof b&&(b=2);for(var c=[],d=a.editor(),e=d.firstLine(),f=e,g=d.lastLine();f<=g;f++)c.push(!0);a.left&&G(a.left,b,e,c),a.right&&G(a.right,b,e,c);for(var h=0;h<c.length;h++)if(c[h]){for(var i=h+e,j=1;h<c.length-1&&c[h+1];h++,j++);if(j>b){var k=[{line:i,cm:d}];a.left&&k.push({line:o(i,a.left.chunks),cm:a.left.orig}),a.right&&k.push({line:o(i,a.right.chunks),cm:a.right.orig});var l=F(j,k);a.options.onCollapse&&a.options.onCollapse(a,i,j,l)}}}function I(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function J(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild)}function K(a){for(var b=1;b<arguments.length;b+=2)a.setAttribute(arguments[b],arguments[b+1])}function L(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function M(a,b,c,d){for(var e=c?U(a.line,a.ch):a,f=0;;){var g=b.indexOf("\n",f);if(g==-1)break;++e.line,d&&++d.line,f=g+1}return e.ch=(f?0:e.ch)+(b.length-f),d&&(d.ch=(f?0:d.ch)+(b.length-f)),e}function N(a){this.cm=a,this.alignable=[],this.height=a.doc.height;var b=this;a.on("markerAdded",(function(a,c){if(c.collapsed){var d=c.find(1);null!=d&&b.set(d.line,_)}})),a.on("markerCleared",(function(a,c,d,e){null!=e&&c.collapsed&&b.check(e,_,b.hasMarker)})),a.on("markerChanged",this.signal.bind(this)),a.on("lineWidgetAdded",(function(a,c,d){c.mergeSpacer||(c.above?b.set(d-1,$):b.set(d,Z))})),a.on("lineWidgetCleared",(function(a,c,d){c.mergeSpacer||(c.above?b.check(d-1,$,b.hasWidgetBelow):b.check(d,Z,b.hasWidget))})),a.on("lineWidgetChanged",this.signal.bind(this)),a.on("change",(function(a,c){var d=c.from.line,e=c.to.line-c.from.line,f=c.text.length-1,g=d+f;(e||f)&&b.map(d,e,f),b.check(g,_,b.hasMarker),(e||f)&&b.check(c.from.line,_,b.hasMarker)})),a.on("viewportChange",(function(){b.cm.doc.height!=b.height&&b.signal()}))}function O(a,b){return(a.line-b.line||a.ch-b.ch)<0?a:b}function P(a,b){return(a.line-b.line||a.ch-b.ch)>0?a:b}function Q(a,b){return a.line==b.line&&a.ch==b.ch}function R(a,b,c){for(var d=a.length-1;d>=0;d--){var e=a[d],f=(c?e.origTo:e.editTo)-1;if(f<b)return f}}function S(a,b,c){for(var d=0;d<a.length;d++){var e=a[d],f=c?e.origFrom:e.editFrom;if(f>b)return f}}function T(b,d){var e=null,f=b.state.diffViews,g=b.getCursor().line;if(f)for(var h=0;h<f.length;h++){var i=f[h],j=b==i.orig;c(i);var k=d<0?R(i.chunks,g,j):S(i.chunks,g,j);null==k||null!=e&&!(d<0?k>e:k<e)||(e=k)}return null==e?a.Pass:void b.setCursor(e,0)}var U=a.Pos,V="http://www.w3.org/2000/svg";b.prototype={constructor:b,init:function(b,c,d){this.edit=this.mv.edit,(this.edit.state.diffViews||(this.edit.state.diffViews=[])).push(this),this.orig=a(b,L({value:c,readOnly:!this.mv.options.allowEditingOriginals},L(d))),"align"==this.mv.options.connect&&(this.edit.state.trackAlignable||(this.edit.state.trackAlignable=new N(this.edit)),this.orig.state.trackAlignable=new N(this.orig)),this.orig.state.diffViews=[this];var e=d.chunkClassLocation||"background";"[object Array]"!=Object.prototype.toString.call(e)&&(e=[e]),this.classes.classLocation=e,this.diff=z(y(c),y(d.value),this.mv.options.ignoreWhitespace),this.chunks=A(this.diff),this.diffOutOfDate=this.dealigned=!1,this.needsScrollSync=null,this.showDifferences=d.showDifferences!==!1},registerEvents:function(a){this.forceUpdate=d(this),h(this,!0,!1),e(this,a)},setShowDifferences:function(a){a=a!==!1,a!=this.showDifferences&&(this.showDifferences=a,this.forceUpdate("full"))}};var W=!1,X=a.MergeView=function(c,d){if(!(this instanceof X))return new X(c,d);this.options=d;var e=d.origLeft,f=null==d.origRight?d.orig:d.origRight,g=null!=e,h=null!=f,i=1+(g?1:0)+(h?1:0),j=[],k=this.left=null,l=this.right=null,m=this;if(g){k=this.left=new b(this,"left");var o=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-left");j.push(o),j.push(x(k))}var p=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-editor");if(j.push(p),h){l=this.right=new b(this,"right"),j.push(x(l));var q=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-right");j.push(q)}(h?q:p).className+=" CodeMirror-merge-pane-rightmost",j.push(I("div",null,null,"height: 0; clear: both;"));var r=this.wrap=c.appendChild(I("div",j,"CodeMirror-merge CodeMirror-merge-"+i+"pane"));this.edit=a(p,L(d)),k&&k.init(o,e,d),l&&l.init(q,f,d),d.collapseIdentical&&this.editor().operation((function(){H(m,d.collapseIdentical)})),"align"==d.connect&&(this.aligners=[],s(this.left||this.right,!0)),k&&k.registerEvents(l),l&&l.registerEvents(k);var t=function(){k&&n(k),l&&n(l)};a.on(window,"resize",t);var u=setInterval((function(){for(var b=r.parentNode;b&&b!=document.body;b=b.parentNode);b||(clearInterval(u),a.off(window,"resize",t))}),5e3)};X.prototype={constructor:X,editor:function(){return this.edit},rightOriginal:function(){return this.right&&this.right.orig},leftOriginal:function(){return this.left&&this.left.orig},setShowDifferences:function(a){this.right&&this.right.setShowDifferences(a),this.left&&this.left.setShowDifferences(a)},rightChunks:function(){if(this.right)return c(this.right),this.right.chunks},leftChunks:function(){if(this.left)return c(this.left),this.left.chunks}};var Y,Z=1,$=2,_=4;N.prototype={signal:function(){a.signal(this,"realign"),this.height=this.cm.doc.height},set:function(a,b){for(var c=-1;c<this.alignable.length;c+=2){var d=this.alignable[c]-a;if(0==d){if((this.alignable[c+1]&b)==b)return;return this.alignable[c+1]|=b,void this.signal()}if(d>0)break}this.signal(),this.alignable.splice(c,0,a,b)},find:function(a){for(var b=0;b<this.alignable.length;b+=2)if(this.alignable[b]==a)return b;return-1},check:function(a,b,c){var d=this.find(a);if(d!=-1&&this.alignable[d+1]&b&&!c.call(this,a)){this.signal();var e=this.alignable[d+1]&~b;e?this.alignable[d+1]=e:this.alignable.splice(d,2)}},hasMarker:function(a){var b=this.cm.getLineHandle(a);if(b.markedSpans)for(var c=0;c<b.markedSpans.length;c++)if(b.markedSpans[c].mark.collapsed&&null!=b.markedSpans[c].to)return!0;return!1},hasWidget:function(a){var b=this.cm.getLineHandle(a);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(!b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},hasWidgetBelow:function(a){if(a==this.cm.lastLine())return!1;var b=this.cm.getLineHandle(a+1);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},map:function(a,b,c){for(var d=c-b,e=a+b,f=-1,g=-1,h=0;h<this.alignable.length;h+=2){var i=this.alignable[h];i==a&&this.alignable[h+1]&$&&(f=h),i==e&&this.alignable[h+1]&$&&(g=h),i<=a||(i<e?this.alignable.splice(h--,2):this.alignable[h]+=d)}if(f>-1){var j=this.alignable[f+1];j==$?this.alignable.splice(f,2):this.alignable[f+1]=j&~$}g>-1&&c&&this.set(a+c,$)}},a.commands.goNextDiff=function(a){return T(a,1)},a.commands.goPrevDiff=function(a){return T(a,-1)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","diff_match_patch"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.mv=a,this.type=b,this.classes="left"==b?{chunk:"CodeMirror-merge-l-chunk",start:"CodeMirror-merge-l-chunk-start",end:"CodeMirror-merge-l-chunk-end",insert:"CodeMirror-merge-l-inserted",del:"CodeMirror-merge-l-deleted",connect:"CodeMirror-merge-l-connect"}:{chunk:"CodeMirror-merge-r-chunk",start:"CodeMirror-merge-r-chunk-start",end:"CodeMirror-merge-r-chunk-end",insert:"CodeMirror-merge-r-inserted",del:"CodeMirror-merge-r-deleted",connect:"CodeMirror-merge-r-connect"}}function c(b){b.diffOutOfDate&&(b.diff=z(b.orig.getValue(),b.edit.getValue(),b.mv.options.ignoreWhitespace),b.chunks=A(b.diff),b.diffOutOfDate=!1,a.signal(b.edit,"updateDiff",b.diff))}function d(b){function d(a){W=!0,p=!1,"full"==a&&(b.svg&&J(b.svg),b.copyButtons&&J(b.copyButtons),j(b.edit,m.marked,b.classes),j(b.orig,o.marked,b.classes),m.from=m.to=o.from=o.to=0),c(b),b.showDifferences&&(k(b.edit,b.diff,m,DIFF_INSERT,b.classes),k(b.orig,b.diff,o,DIFF_DELETE,b.classes)),"align"==b.mv.options.connect&&s(b),n(b),null!=b.needsScrollSync&&f(b,b.needsScrollSync),W=!1}function e(a){W||(b.dealigned=!0,g(a))}function g(a){W||p||(clearTimeout(l),a===!0&&(p=!0),l=setTimeout(d,a===!0?20:250))}function h(a,c){b.diffOutOfDate||(b.diffOutOfDate=!0,m.from=m.to=o.from=o.to=0),e(c.text.length-1!=c.to.line-c.from.line)}function i(){b.diffOutOfDate=!0,b.dealigned=!0,d("full")}var l,m={from:0,to:0,marked:[]},o={from:0,to:0,marked:[]},p=!1;return b.edit.on("change",h),b.orig.on("change",h),b.edit.on("swapDoc",i),b.orig.on("swapDoc",i),"align"==b.mv.options.connect&&(a.on(b.edit.state.trackAlignable,"realign",e),a.on(b.orig.state.trackAlignable,"realign",e)),b.edit.on("viewportChange",(function(){g(!1)})),b.orig.on("viewportChange",(function(){g(!1)})),d(),d}function e(a,b){a.edit.on("scroll",(function(){f(a,!0)&&n(a)})),a.orig.on("scroll",(function(){f(a,!1)&&n(a),b&&f(b,!0)&&n(b)}))}function f(a,b){if(a.diffOutOfDate)return a.lockScroll&&null==a.needsScrollSync&&(a.needsScrollSync=b),!1;if(a.needsScrollSync=null,!a.lockScroll)return!0;var c,d,e=+new Date;if(b?(c=a.edit,d=a.orig):(c=a.orig,d=a.edit),c.state.scrollSetBy==a&&(c.state.scrollSetAt||0)+250>e)return!1;var f=c.getScrollInfo();if("align"==a.mv.options.connect)q=f.top;else{var h,i,j=.5*f.clientHeight,k=f.top+j,l=c.lineAtHeight(k,"local"),m=D(a.chunks,l,b),n=g(c,b?m.edit:m.orig),o=g(d,b?m.orig:m.edit),p=(k-n.top)/(n.bot-n.top),q=o.top-j+p*(o.bot-o.top);if(q>f.top&&(i=f.top/j)<1)q=q*i+f.top*(1-i);else if((h=f.height-f.clientHeight-f.top)<j){var r=d.getScrollInfo(),s=r.height-r.clientHeight-q;s>h&&(i=h/j)<1&&(q=q*i+(r.height-r.clientHeight-h)*(1-i))}}return d.scrollTo(f.left,q),d.state.scrollSetAt=e,d.state.scrollSetBy=a,!0}function g(a,b){var c=b.after;return null==c&&(c=a.lastLine()+1),{top:a.heightAtLine(b.before||0,"local"),bot:a.heightAtLine(c,"local")}}function h(a,b,c){a.lockScroll=b,b&&0!=c&&f(a,DIFF_INSERT)&&n(a),a.lockButton.innerHTML=b?"⇛⇚":"⇛  ⇚"}function i(a,b,c){for(var d=c.classLocation,e=0;e<d.length;e++)a.removeLineClass(b,d[e],c.chunk),a.removeLineClass(b,d[e],c.start),a.removeLineClass(b,d[e],c.end)}function j(b,c,d){for(var e=0;e<c.length;++e){var f=c[e];f instanceof a.TextMarker?f.clear():f.parent&&i(b,f,d)}c.length=0}function k(a,b,c,d,e){var f=a.getViewport();a.operation((function(){c.from==c.to||f.from-c.to>20||c.from-f.to>20?(j(a,c.marked,e),m(a,b,d,c.marked,f.from,f.to,e),c.from=f.from,c.to=f.to):(f.from<c.from&&(m(a,b,d,c.marked,f.from,c.from,e),c.from=f.from),f.to>c.to&&(m(a,b,d,c.marked,c.to,f.to,e),c.to=f.to))}))}function l(a,b,c,d,e,f){for(var g=c.classLocation,h=a.getLineHandle(b),i=0;i<g.length;i++)d&&a.addLineClass(h,g[i],c.chunk),e&&a.addLineClass(h,g[i],c.start),f&&a.addLineClass(h,g[i],c.end);return h}function m(a,b,c,d,e,f,g){function h(b,c){for(var h=Math.max(e,b),i=Math.min(f,c),j=h;j<i;++j)d.push(l(a,j,g,!0,j==b,j==c-1));b==c&&h==c&&i==c&&(h?d.push(l(a,h-1,g,!1,!1,!0)):d.push(l(a,h,g,!1,!0,!1)))}for(var i=U(0,0),j=U(e,0),k=a.clipPos(U(f-1)),m=c==DIFF_DELETE?g.del:g.insert,n=0,o=!1,p=0;p<b.length;++p){var q=b[p],r=q[0],s=q[1];if(r==DIFF_EQUAL){var t=i.line+(C(b,p)?0:1);M(i,s);var u=i.line+(B(b,p)?1:0);u>t&&(o&&(h(n,t),o=!1),n=u)}else if(o=!0,r==c){var v=M(i,s,!0),w=P(j,i),x=O(k,v);Q(w,x)||d.push(a.markText(w,x,{className:m})),i=v}}o&&h(n,i.line+1)}function n(a){if(a.showDifferences){if(a.svg){J(a.svg);var b=a.gap.offsetWidth;K(a.svg,"width",b,"height",a.gap.offsetHeight)}a.copyButtons&&J(a.copyButtons);for(var c=a.edit.getViewport(),d=a.orig.getViewport(),e=a.mv.wrap.getBoundingClientRect().top,f=e-a.edit.getScrollerElement().getBoundingClientRect().top+a.edit.getScrollInfo().top,g=e-a.orig.getScrollerElement().getBoundingClientRect().top+a.orig.getScrollInfo().top,h=0;h<a.chunks.length;h++){var i=a.chunks[h];i.editFrom<=c.to&&i.editTo>=c.from&&i.origFrom<=d.to&&i.origTo>=d.from&&v(a,i,g,f,b)}}}function o(a,b){for(var c=0,d=0,e=0;e<b.length;e++){var f=b[e];if(f.editTo>a&&f.editFrom<=a)return null;if(f.editFrom>a)break;c=f.editTo,d=f.origTo}return d+(a-c)}function p(a,b,c){for(var d=a.state.trackAlignable,e=a.firstLine(),f=0,g=[],h=0;;h++){for(var i=b[h],j=i?c?i.origFrom:i.editFrom:1e9;f<d.alignable.length;f+=2){var k=d.alignable[f]+1;if(!(k<=e)){if(!(k<=j))break;g.push(k)}}if(!i)break;g.push(e=c?i.origTo:i.editTo)}return g}function q(a,b,c,d){var e=0,f=0,g=0,h=0;a:for(;;e++){var i=a[e],j=b[f];if(!i&&null==j)break;for(var k=i?i[0]:1e9,l=null==j?1e9:j;g<c.length;){var m=c[g];if(m.origFrom<=l&&m.origTo>l){f++,e--;continue a}if(m.editTo>k){if(m.editFrom<=k)continue a;break}h+=m.origTo-m.origFrom-(m.editTo-m.editFrom),g++}if(k==l-h)i[d]=l,f++;else if(k<l-h)i[d]=k+h;else{var n=[l-h,null,null];n[d]=l,a.splice(e,0,n),f++}}}function r(a,b){var c=p(a.edit,a.chunks,!1),d=[];if(b)for(var e=0,f=0;e<b.chunks.length;e++){for(var g=b.chunks[e].editTo;f<c.length&&c[f]<g;)f++;f!=c.length&&c[f]==g||c.splice(f++,0,g)}for(var e=0;e<c.length;e++)d.push([c[e],null,null]);return q(d,p(a.orig,a.chunks,!0),a.chunks,1),b&&q(d,p(b.orig,b.chunks,!0),b.chunks,2),d}function s(a,b){if(a.dealigned||b){if(!a.orig.curOp)return a.orig.operation((function(){s(a,b)}));a.dealigned=!1;var d=a.mv.left==a?a.mv.right:a.mv.left;d&&(c(d),d.dealigned=!1);for(var e=r(a,d),f=a.mv.aligners,g=0;g<f.length;g++)f[g].clear();f.length=0;var h=[a.edit,a.orig],i=[];d&&h.push(d.orig);for(var g=0;g<h.length;g++)i.push(h[g].getScrollInfo().top);for(var j=0;j<e.length;j++)t(h,e[j],f);for(var g=0;g<h.length;g++)h[g].scrollTo(null,i[g])}}function t(a,b,c){for(var d=0,e=[],f=0;f<a.length;f++)if(null!=b[f]){var g=a[f].heightAtLine(b[f],"local");e[f]=g,d=Math.max(d,g)}for(var f=0;f<a.length;f++)if(null!=b[f]){var h=d-e[f];h>1&&c.push(u(a[f],b[f],h))}}function u(a,b,c){var d=!0;b>a.lastLine()&&(b--,d=!1);var e=document.createElement("div");return e.className="CodeMirror-merge-spacer",e.style.height=c+"px",e.style.minWidth="1px",a.addLineWidget(b,e,{height:c,above:d,mergeSpacer:!0,handleMouseEvents:!0})}function v(a,b,c,d,e){var f="left"==a.type,g=a.orig.heightAtLine(b.origFrom,"local",!0)-c;if(a.svg){var h=g,i=a.edit.heightAtLine(b.editFrom,"local",!0)-d;if(f){var j=h;h=i,i=j}var k=a.orig.heightAtLine(b.origTo,"local",!0)-c,l=a.edit.heightAtLine(b.editTo,"local",!0)-d;if(f){var j=k;k=l,l=j}var m=" C "+e/2+" "+i+" "+e/2+" "+h+" "+(e+2)+" "+h,n=" C "+e/2+" "+k+" "+e/2+" "+l+" -1 "+l;K(a.svg.appendChild(document.createElementNS(V,"path")),"d","M -1 "+i+m+" L "+(e+2)+" "+k+n+" z","class",a.classes.connect)}if(a.copyButtons){var o=a.copyButtons.appendChild(I("div","left"==a.type?"⇝":"⇜","CodeMirror-merge-copy")),p=a.mv.options.allowEditingOriginals;if(o.title=p?"Push to left":"Revert chunk",o.chunk=b,o.style.top=(b.origTo>b.origFrom?g:a.edit.heightAtLine(b.editFrom,"local")-d)+"px",p){var q=a.edit.heightAtLine(b.editFrom,"local")-d,r=a.copyButtons.appendChild(I("div","right"==a.type?"⇝":"⇜","CodeMirror-merge-copy-reverse"));r.title="Push to right",r.chunk={editFrom:b.origFrom,editTo:b.origTo,origFrom:b.editFrom,origTo:b.editTo},r.style.top=q+"px","right"==a.type?r.style.left="2px":r.style.right="2px"}}}function w(a,b,c,d){if(!a.diffOutOfDate){var e=d.origTo>c.lastLine()?U(d.origFrom-1):U(d.origFrom,0),f=U(d.origTo,0),g=d.editTo>b.lastLine()?U(d.editFrom-1):U(d.editFrom,0),h=U(d.editTo,0),i=a.mv.options.revertChunk;i?i(a.mv,c,e,f,b,g,h):b.replaceRange(c.getRange(e,f),g,h)}}function x(b){var c=b.lockButton=I("div",null,"CodeMirror-merge-scrolllock");c.title="Toggle locked scrolling";var d=I("div",[c],"CodeMirror-merge-scrolllock-wrap");a.on(c,"click",(function(){h(b,!b.lockScroll)}));var e=[d];if(b.mv.options.revertButtons!==!1&&(b.copyButtons=I("div",null,"CodeMirror-merge-copybuttons-"+b.type),a.on(b.copyButtons,"click",(function(a){var c=a.target||a.srcElement;if(c.chunk)return"CodeMirror-merge-copy-reverse"==c.className?void w(b,b.orig,b.edit,c.chunk):void w(b,b.edit,b.orig,c.chunk)})),e.unshift(b.copyButtons)),"align"!=b.mv.options.connect){var f=document.createElementNS&&document.createElementNS(V,"svg");f&&!f.createSVGRect&&(f=null),b.svg=f,f&&e.push(f)}return b.gap=I("div",e,"CodeMirror-merge-gap")}function y(a){return"string"==typeof a?a:a.getValue()}function z(a,b,c){Y||(Y=new diff_match_patch);for(var d=Y.diff_main(a,b),e=0;e<d.length;++e){var f=d[e];(c?/[^ \t]/.test(f[1]):f[1])?e&&d[e-1][0]==f[0]&&(d.splice(e--,1),d[e][1]+=f[1]):d.splice(e--,1)}return d}function A(a){for(var b=[],c=0,d=0,e=U(0,0),f=U(0,0),g=0;g<a.length;++g){var h=a[g],i=h[0];if(i==DIFF_EQUAL){var j=!C(a,g)||e.line<c||f.line<d?1:0,k=e.line+j,l=f.line+j;M(e,h[1],null,f);var m=B(a,g)?1:0,n=e.line+m,o=f.line+m;n>k&&(g&&b.push({origFrom:d,origTo:l,editFrom:c,editTo:k}),c=n,d=o)}else M(i==DIFF_INSERT?e:f,h[1])}return(c<=e.line||d<=f.line)&&b.push({origFrom:d,origTo:f.line+1,editFrom:c,editTo:e.line+1}),b}function B(a,b){if(b==a.length-1)return!0;var c=a[b+1][1];return!(1==c.length&&b<a.length-2||10!=c.charCodeAt(0))&&(b==a.length-2||(c=a[b+2][1],(c.length>1||b==a.length-3)&&10==c.charCodeAt(0)))}function C(a,b){if(0==b)return!0;var c=a[b-1][1];return 10==c.charCodeAt(c.length-1)&&(1==b||(c=a[b-2][1],10==c.charCodeAt(c.length-1)))}function D(a,b,c){for(var d,e,f,g,h=0;h<a.length;h++){var i=a[h],j=c?i.editFrom:i.origFrom,k=c?i.editTo:i.origTo;null==e&&(j>b?(e=i.editFrom,g=i.origFrom):k>b&&(e=i.editTo,g=i.origTo)),k<=b?(d=i.editTo,f=i.origTo):j<=b&&(d=i.editFrom,f=i.origFrom)}return{edit:{before:d,after:e},orig:{before:f,after:g}}}function E(b,c,d){function e(){g.clear(),b.removeLineClass(c,"wrap","CodeMirror-merge-collapsed-line")}b.addLineClass(c,"wrap","CodeMirror-merge-collapsed-line");var f=document.createElement("span");f.className="CodeMirror-merge-collapsed-widget",f.title="Identical text collapsed. Click to expand.";var g=b.markText(U(c,0),U(d-1),{inclusiveLeft:!0,inclusiveRight:!0,replacedWith:f,clearOnEnter:!0});return g.explicitlyCleared&&e(),a.on(f,"click",e),g.on("clear",e),a.on(f,"click",e),{mark:g,clear:e}}function F(a,b){function c(){for(var a=0;a<d.length;a++)d[a].clear()}for(var d=[],e=0;e<b.length;e++){var f=b[e],g=E(f.cm,f.line,f.line+a);d.push(g),g.mark.on("clear",c)}return d[0].mark}function G(a,b,c,d){for(var e=0;e<a.chunks.length;e++)for(var f=a.chunks[e],g=f.editFrom-b;g<f.editTo+b;g++){var h=g+c;h>=0&&h<d.length&&(d[h]=!1)}}function H(a,b){"number"!=typeof b&&(b=2);for(var c=[],d=a.editor(),e=d.firstLine(),f=e,g=d.lastLine();f<=g;f++)c.push(!0);a.left&&G(a.left,b,e,c),a.right&&G(a.right,b,e,c);for(var h=0;h<c.length;h++)if(c[h]){for(var i=h+e,j=1;h<c.length-1&&c[h+1];h++,j++);if(j>b){var k=[{line:i,cm:d}];a.left&&k.push({line:o(i,a.left.chunks),cm:a.left.orig}),a.right&&k.push({line:o(i,a.right.chunks),cm:a.right.orig});var l=F(j,k);a.options.onCollapse&&a.options.onCollapse(a,i,j,l)}}}function I(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function J(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild)}function K(a){for(var b=1;b<arguments.length;b+=2)a.setAttribute(arguments[b],arguments[b+1])}function L(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function M(a,b,c,d){for(var e=c?U(a.line,a.ch):a,f=0;;){var g=b.indexOf("\n",f);if(g==-1)break;++e.line,d&&++d.line,f=g+1}return e.ch=(f?0:e.ch)+(b.length-f),d&&(d.ch=(f?0:d.ch)+(b.length-f)),e}function N(a){this.cm=a,this.alignable=[],this.height=a.doc.height;var b=this;a.on("markerAdded",(function(a,c){if(c.collapsed){var d=c.find(1);null!=d&&b.set(d.line,_)}})),a.on("markerCleared",(function(a,c,d,e){null!=e&&c.collapsed&&b.check(e,_,b.hasMarker)})),a.on("markerChanged",this.signal.bind(this)),a.on("lineWidgetAdded",(function(a,c,d){c.mergeSpacer||(c.above?b.set(d-1,$):b.set(d,Z))})),a.on("lineWidgetCleared",(function(a,c,d){c.mergeSpacer||(c.above?b.check(d-1,$,b.hasWidgetBelow):b.check(d,Z,b.hasWidget))})),a.on("lineWidgetChanged",this.signal.bind(this)),a.on("change",(function(a,c){var d=c.from.line,e=c.to.line-c.from.line,f=c.text.length-1,g=d+f;(e||f)&&b.map(d,e,f),b.check(g,_,b.hasMarker),(e||f)&&b.check(c.from.line,_,b.hasMarker)})),a.on("viewportChange",(function(){b.cm.doc.height!=b.height&&b.signal()}))}function O(a,b){return(a.line-b.line||a.ch-b.ch)<0?a:b}function P(a,b){return(a.line-b.line||a.ch-b.ch)>0?a:b}function Q(a,b){return a.line==b.line&&a.ch==b.ch}function R(a,b,c){for(var d=a.length-1;d>=0;d--){var e=a[d],f=(c?e.origTo:e.editTo)-1;if(f<b)return f}}function S(a,b,c){for(var d=0;d<a.length;d++){var e=a[d],f=c?e.origFrom:e.editFrom;if(f>b)return f}}function T(b,d){var e=null,f=b.state.diffViews,g=b.getCursor().line;if(f)for(var h=0;h<f.length;h++){var i=f[h],j=b==i.orig;c(i);var k=d<0?R(i.chunks,g,j):S(i.chunks,g,j);null==k||null!=e&&!(d<0?k>e:k<e)||(e=k)}return null==e?a.Pass:void b.setCursor(e,0)}var U=a.Pos,V="http://www.w3.org/2000/svg";b.prototype={constructor:b,init:function(b,c,d){this.edit=this.mv.edit,(this.edit.state.diffViews||(this.edit.state.diffViews=[])).push(this),this.orig=a(b,L({value:c,readOnly:!this.mv.options.allowEditingOriginals},L(d))),"align"==this.mv.options.connect&&(this.edit.state.trackAlignable||(this.edit.state.trackAlignable=new N(this.edit)),this.orig.state.trackAlignable=new N(this.orig)),this.orig.state.diffViews=[this];var e=d.chunkClassLocation||"background";"[object Array]"!=Object.prototype.toString.call(e)&&(e=[e]),this.classes.classLocation=e,this.diff=z(y(c),y(d.value),this.mv.options.ignoreWhitespace),this.chunks=A(this.diff),this.diffOutOfDate=this.dealigned=!1,this.needsScrollSync=null,this.showDifferences=d.showDifferences!==!1},registerEvents:function(a){this.forceUpdate=d(this),h(this,!0,!1),e(this,a)},setShowDifferences:function(a){a=a!==!1,a!=this.showDifferences&&(this.showDifferences=a,this.forceUpdate("full"))}};var W=!1,X=a.MergeView=function(c,d){if(!(this instanceof X))return new X(c,d);this.options=d;var e=d.origLeft,f=null==d.origRight?d.orig:d.origRight,g=null!=e,h=null!=f,i=1+(g?1:0)+(h?1:0),j=[],k=this.left=null,l=this.right=null,m=this;if(g){k=this.left=new b(this,"left");var o=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-left");j.push(o),j.push(x(k))}var p=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-editor");if(j.push(p),h){l=this.right=new b(this,"right"),j.push(x(l));var q=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-right");j.push(q)}(h?q:p).className+=" CodeMirror-merge-pane-rightmost",j.push(I("div",null,null,"height: 0; clear: both;"));var r=this.wrap=c.appendChild(I("div",j,"CodeMirror-merge CodeMirror-merge-"+i+"pane"));this.edit=a(p,L(d)),k&&k.init(o,e,d),l&&l.init(q,f,d),d.collapseIdentical&&this.editor().operation((function(){H(m,d.collapseIdentical)})),"align"==d.connect&&(this.aligners=[],s(this.left||this.right,!0)),k&&k.registerEvents(l),l&&l.registerEvents(k);var t=function(){k&&n(k),l&&n(l)};a.on(window,"resize",t);var u=setInterval((function(){for(var b=r.parentNode;b&&b!=document.body;b=b.parentNode);b||(clearInterval(u),a.off(window,"resize",t))}),5e3)};X.prototype={constructor:X,editor:function(){return this.edit},rightOriginal:function(){return this.right&&this.right.orig},leftOriginal:function(){return this.left&&this.left.orig},setShowDifferences:function(a){this.right&&this.right.setShowDifferences(a),this.left&&this.left.setShowDifferences(a)},rightChunks:function(){if(this.right)return c(this.right),this.right.chunks},leftChunks:function(){if(this.left)return c(this.left),this.left.chunks}};var Y,Z=1,$=2,_=4;N.prototype={signal:function(){a.signal(this,"realign"),this.height=this.cm.doc.height},set:function(a,b){for(var c=-1;c<this.alignable.length;c+=2){var d=this.alignable[c]-a;if(0==d){if((this.alignable[c+1]&b)==b)return;return this.alignable[c+1]|=b,void this.signal()}if(d>0)break}this.signal(),this.alignable.splice(c,0,a,b)},find:function(a){for(var b=0;b<this.alignable.length;b+=2)if(this.alignable[b]==a)return b;return-1},check:function(a,b,c){var d=this.find(a);if(d!=-1&&this.alignable[d+1]&b&&!c.call(this,a)){this.signal();var e=this.alignable[d+1]&~b;e?this.alignable[d+1]=e:this.alignable.splice(d,2)}},hasMarker:function(a){var b=this.cm.getLineHandle(a);if(b.markedSpans)for(var c=0;c<b.markedSpans.length;c++)if(b.markedSpans[c].mark.collapsed&&null!=b.markedSpans[c].to)return!0;return!1},hasWidget:function(a){var b=this.cm.getLineHandle(a);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(!b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},hasWidgetBelow:function(a){if(a==this.cm.lastLine())return!1;var b=this.cm.getLineHandle(a+1);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},map:function(a,b,c){for(var d=c-b,e=a+b,f=-1,g=-1,h=0;h<this.alignable.length;h+=2){var i=this.alignable[h];i==a&&this.alignable[h+1]&$&&(f=h),i==e&&this.alignable[h+1]&$&&(g=h),i<=a||(i<e?this.alignable.splice(h--,2):this.alignable[h]+=d)}if(f>-1){var j=this.alignable[f+1];j==$?this.alignable.splice(f,2):this.alignable[f+1]=j&~$}g>-1&&c&&this.set(a+c,$)}},a.commands.goNextDiff=function(a){return T(a,1)},a.commands.goPrevDiff=function(a){return T(a,-1)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/runmode/runmode.min.js b/media/editors/codemirror/addon/runmode/runmode.min.js index 6dc0fc8e69cf2..48c906d6d3949 100644 --- a/media/editors/codemirror/addon/runmode/runmode.min.js +++ b/media/editors/codemirror/addon/runmode/runmode.min.js @@ -1 +1 @@ -function splitLines(a){return a.split(/\r\n?|\n/)}function StringStream(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.context=c}function copyObj(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.runMode=function(b,c,d,e){var f=a.getMode(a.defaults,c),g=/MSIE \d/.test(navigator.userAgent),h=g&&(null==document.documentMode||document.documentMode<9);if(d.appendChild){var i=e&&e.tabSize||a.defaults.tabSize,j=d,k=0;j.innerHTML="",d=function(a,b){if("\n"==a)return j.appendChild(document.createTextNode(h?"\r":a)),void(k=0);for(var c="",d=0;;){var e=a.indexOf("\t",d);if(e==-1){c+=a.slice(d),k+=a.length-d;break}k+=e-d,c+=a.slice(d,e);var f=i-k%i;k+=f;for(var g=0;g<f;++g)c+=" ";d=e+1}if(b){var l=j.appendChild(document.createElement("span"));l.className="cm-"+b.replace(/ +/g," cm-"),l.appendChild(document.createTextNode(c))}else j.appendChild(document.createTextNode(c))}}for(var l=a.splitLines(b),m=e&&e.state||a.startState(f),n=0,o=l.length;n<o;++n){n&&d("\n");var p=new a.StringStream(l[n]);for(!p.string&&f.blankLine&&f.blankLine(m);!p.eol();){var q=f.token(p,m);d(p.current(),q,n,p.start,m),p.start=p.pos}}}}));var countColumn=exports.countColumn=function(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}};StringStream.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a)var c=b==a;else var c=b&&(a.test?a.test(b):a(b));if(c)return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=countColumn(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?countColumn(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return countColumn(this.string,null,this.tabSize)-(this.lineStart?countColumn(this.string,this.lineStart,this.tabSize):0)},match:function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lookAhead:function(a){var b=this.context.line+a;return b>=this.context.lines.length?null:this.context.lines[b]}},exports.StringStream=StringStream,exports.startState=function(a,b,c){return!a.startState||a.startState(b,c)};var modes=exports.modes={},mimeModes=exports.mimeModes={};exports.defineMode=function(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),modes[a]=b},exports.defineMIME=function(a,b){mimeModes[a]=b},exports.defineMode("null",(function(){return{token:function(a){a.skipToEnd()}}})),exports.defineMIME("text/plain","null"),exports.resolveMode=function(a){return"string"==typeof a&&mimeModes.hasOwnProperty(a)?a=mimeModes[a]:a&&"string"==typeof a.name&&mimeModes.hasOwnProperty(a.name)&&(a=mimeModes[a.name]),"string"==typeof a?{name:a}:a||{name:"null"}};var modeExtensions=exports.modeExtensions={};exports.extendMode=function(a,b){var c=modeExtensions.hasOwnProperty(a)?modeExtensions[a]:modeExtensions[a]={};copyObj(b,c)},exports.getMode=function(a,b){var b=exports.resolveMode(b),c=modes[b.name];if(!c)return exports.getMode(a,"text/plain");var d=c(a,b);if(modeExtensions.hasOwnProperty(b.name)){var e=modeExtensions[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var f in b.modeProps)d[f]=b.modeProps[f];return d},exports.registerHelper=exports.registerGlobalHelper=Math.min,exports.runMode=function(a,b,c,d){for(var e=exports.getMode({indentUnit:2},b),f=splitLines(a),g=d&&d.state||exports.startState(e),h={lines:f,line:0},i=0,j=f.length;i<j;++i,++h.line){i&&c("\n");var k=new exports.StringStream(f[i],4,h);for(!k.string&&e.blankLine&&e.blankLine(g);!k.eol();){var l=e.token(k,g);c(k.current(),l,i,k.start,g),k.start=k.pos}}},require.cache[require.resolve("../../lib/codemirror")]=require.cache[require.resolve("./runmode.node")],require.cache[require.resolve("../../addon/runmode/runmode")]=require.cache[require.resolve("./runmode.node")]; \ No newline at end of file +function splitLines(a){return a.split(/\r\n?|\n/)}function StringStream(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.context=c}function copyObj(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.runMode=function(b,c,d,e){var f=a.getMode(a.defaults,c),g=/MSIE \d/.test(navigator.userAgent),h=g&&(null==document.documentMode||document.documentMode<9);if(d.appendChild){var i=e&&e.tabSize||a.defaults.tabSize,j=d,k=0;j.innerHTML="",d=function(a,b){if("\n"==a)return j.appendChild(document.createTextNode(h?"\r":a)),void(k=0);for(var c="",d=0;;){var e=a.indexOf("\t",d);if(e==-1){c+=a.slice(d),k+=a.length-d;break}k+=e-d,c+=a.slice(d,e);var f=i-k%i;k+=f;for(var g=0;g<f;++g)c+=" ";d=e+1}if(b){var l=j.appendChild(document.createElement("span"));l.className="cm-"+b.replace(/ +/g," cm-"),l.appendChild(document.createTextNode(c))}else j.appendChild(document.createTextNode(c))}}for(var l=a.splitLines(b),m=e&&e.state||a.startState(f),n=0,o=l.length;n<o;++n){n&&d("\n");var p=new a.StringStream(l[n]);for(!p.string&&f.blankLine&&f.blankLine(m);!p.eol();){var q=f.token(p,m);d(p.current(),q,n,p.start,m),p.start=p.pos}}}}));var countColumn=exports.countColumn=function(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}};StringStream.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a)var c=b==a;else var c=b&&(a.test?a.test(b):a(b));if(c)return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=countColumn(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?countColumn(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return countColumn(this.string,null,this.tabSize)-(this.lineStart?countColumn(this.string,this.lineStart,this.tabSize):0)},match:function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lookAhead:function(a){var b=this.context.line+a;return b>=this.context.lines.length?null:this.context.lines[b]}},exports.StringStream=StringStream,exports.startState=function(a,b,c){return!a.startState||a.startState(b,c)};var modes=exports.modes={},mimeModes=exports.mimeModes={};exports.defineMode=function(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),modes[a]=b},exports.defineMIME=function(a,b){mimeModes[a]=b},exports.defineMode("null",(function(){return{token:function(a){a.skipToEnd()}}})),exports.defineMIME("text/plain","null"),exports.resolveMode=function(a){return"string"==typeof a&&mimeModes.hasOwnProperty(a)?a=mimeModes[a]:a&&"string"==typeof a.name&&mimeModes.hasOwnProperty(a.name)&&(a=mimeModes[a.name]),"string"==typeof a?{name:a}:a||{name:"null"}};var modeExtensions=exports.modeExtensions={};exports.extendMode=function(a,b){var c=modeExtensions.hasOwnProperty(a)?modeExtensions[a]:modeExtensions[a]={};copyObj(b,c)},exports.getMode=function(a,b){var b=exports.resolveMode(b),c=modes[b.name];if(!c)return exports.getMode(a,"text/plain");var d=c(a,b);if(modeExtensions.hasOwnProperty(b.name)){var e=modeExtensions[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var f in b.modeProps)d[f]=b.modeProps[f];return d},exports.innerMode=function(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}},exports.registerHelper=exports.registerGlobalHelper=Math.min,exports.runMode=function(a,b,c,d){for(var e=exports.getMode({indentUnit:2},b),f=splitLines(a),g=d&&d.state||exports.startState(e),h={lines:f,line:0},i=0,j=f.length;i<j;++i,++h.line){i&&c("\n");var k=new exports.StringStream(f[i],4,h);for(!k.string&&e.blankLine&&e.blankLine(g);!k.eol();){var l=e.token(k,g);c(k.current(),l,i,k.start,g),k.start=k.pos}}},require.cache[require.resolve("../../lib/codemirror")]=require.cache[require.resolve("./runmode.node")],require.cache[require.resolve("../../addon/runmode/runmode")]=require.cache[require.resolve("./runmode.node")]; \ No newline at end of file diff --git a/media/editors/codemirror/addon/runmode/runmode.node.js b/media/editors/codemirror/addon/runmode/runmode.node.js index 093cb30876180..21c72696c88b2 100644 --- a/media/editors/codemirror/addon/runmode/runmode.node.js +++ b/media/editors/codemirror/addon/runmode/runmode.node.js @@ -163,6 +163,18 @@ exports.getMode = function(options, spec) { return modeObj; }; + +exports.innerMode = function(mode, state) { + var info; + while (mode.innerMode) { + info = mode.innerMode(state); + if (!info || info.mode == mode) break; + state = info.state; + mode = info.mode; + } + return info || {mode: mode, state: state}; +} + exports.registerHelper = exports.registerGlobalHelper = Math.min; exports.runMode = function(string, modespec, callback, options) { diff --git a/media/editors/codemirror/addon/search/searchcursor.js b/media/editors/codemirror/addon/search/searchcursor.js index eccd81aab69c1..58bc47c2c3e67 100644 --- a/media/editors/codemirror/addon/search/searchcursor.js +++ b/media/editors/codemirror/addon/search/searchcursor.js @@ -159,7 +159,7 @@ for (var i = 1; i < lines.length - 1; i++) if (fold(doc.getLine(line + i)) != lines[i]) continue search var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1] - if (end.slice(0, lastLine.length) != lastLine) continue search + if (endString.slice(0, lastLine.length) != lastLine) continue search return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch), to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))} } diff --git a/media/editors/codemirror/addon/search/searchcursor.min.js b/media/editors/codemirror/addon/search/searchcursor.min.js index b8950749e27af..ece483d8c5993 100644 --- a/media/editors/codemirror/addon/search/searchcursor.min.js +++ b/media/editors/codemirror/addon/search/searchcursor.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(s.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/tern/tern.js b/media/editors/codemirror/addon/tern/tern.js index a80dc7e4b8e08..6276b53893a17 100644 --- a/media/editors/codemirror/addon/tern/tern.js +++ b/media/editors/codemirror/addon/tern/tern.js @@ -614,7 +614,8 @@ var mouseOnTip = false, old = false; CodeMirror.on(tip, "mousemove", function() { mouseOnTip = true; }); CodeMirror.on(tip, "mouseout", function(e) { - if (!CodeMirror.contains(tip, e.relatedTarget || e.toElement)) { + var related = e.relatedTarget || e.toElement + if (!related || !CodeMirror.contains(tip, related)) { if (old) clear(); else mouseOnTip = false; } diff --git a/media/editors/codemirror/addon/tern/tern.min.js b/media/editors/codemirror/addon/tern/tern.min.js index d54b464ca2498..3825adab20f1d 100644 --- a/media/editors/codemirror/addon/tern/tern.min.js +++ b/media/editors/codemirror/addon/tern/tern.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c){var d=a.docs[b];d?c(F(a,d)):a.options.getFile?a.options.getFile(b,c):c(null)}function c(a,b,c){for(var d in a.docs){var e=a.docs[d];if(e.doc==b)return e}if(!c)for(var f=0;;++f)if(d="[doc"+(f||"")+"]",!a.docs[d]){c=d;break}return a.addDoc(c,b)}function d(b,d){return"string"==typeof d?b.docs[d]:(d instanceof a&&(d=d.getDoc()),d instanceof a.Doc?c(b,d):void 0)}function e(a,b,d){var e=c(a,b),g=a.cachedArgHints;g&&g.doc==b&&L(g.start,d.to)>=0&&(a.cachedArgHints=null);var h=e.changed;null==h&&(e.changed=h={from:d.from.line,to:d.from.line});var i=d.from.line+(d.text.length-1);d.from.line<h.to&&(h.to=h.to-(d.to.line-i)),i>=h.to&&(h.to=i+1),h.from>d.from.line&&(h.from=d.from.line),b.lineCount()>J&&d.to-h.from>100&&setTimeout((function(){e.changed&&e.changed.to-e.changed.from>100&&f(a,e)}),200)}function f(a,b){a.server.request({files:[{type:"full",name:b.name,text:F(a,b)}]},(function(a){a?window.console.error(a):b.changed=null}))}function g(b,c,d){b.request(c,{type:"completions",types:!0,docs:!0,urls:!0},(function(e,f){if(e)return D(b,c,e);var g=[],i="",j=f.start,k=f.end;'["'==c.getRange(H(j.line,j.ch-2),j)&&'"]'!=c.getRange(k,H(k.line,k.ch+2))&&(i='"]');for(var l=0;l<f.completions.length;++l){var m=f.completions[l],n=h(m.type);f.guess&&(n+=" "+I+"guess"),g.push({text:m.name+i,displayText:m.displayName||m.name,className:n,data:m})}var o={from:j,to:k,list:g},p=null;a.on(o,"close",(function(){B(p)})),a.on(o,"update",(function(){B(p)})),a.on(o,"select",(function(a,c){B(p);var d=b.options.completionTip?b.options.completionTip(a.data):a.data.doc;d&&(p=A(c.parentNode.getBoundingClientRect().right+window.pageXOffset,c.getBoundingClientRect().top+window.pageYOffset,d),p.className+=" "+I+"hint-doc")})),d(o)}))}function h(a){var b;return b="?"==a?"unknown":"number"==a||"string"==a||"bool"==a?a:/^fn\(/.test(a)?"fn":/^\[/.test(a)?"array":"object",I+"completion "+I+"completion-"+b}function i(a,b,c,d,e){a.request(b,d,(function(c,d){if(c)return D(a,b,c);if(a.options.typeTip)var f=a.options.typeTip(d);else{var f=w("span",null,w("strong",null,d.type||"not found"));if(d.doc&&f.appendChild(document.createTextNode(" — "+d.doc)),d.url){f.appendChild(document.createTextNode(" "));var g=f.appendChild(w("a",null,"[docs]"));g.href=d.url,g.target="_blank"}}y(b,f,a),e&&e()}),c)}function j(b,c){if(E(b),!c.somethingSelected()){var d=c.getTokenAt(c.getCursor()).state,e=a.innerMode(c.getMode(),d);if("javascript"==e.mode.name){var f=e.state.lexical;if("call"==f.info){for(var g,h=f.pos||0,i=c.getOption("tabSize"),j=c.getCursor().line,m=Math.max(0,j-9),n=!1;j>=m;--j){for(var o=c.getLine(j),p=0,q=0;;){var r=o.indexOf("\t",q);if(r==-1)break;p+=i-(r+p)%i-1,q=r+1}if(g=f.column-p,"("==o.charAt(g)){n=!0;break}}if(n){var s=H(j,g),t=b.cachedArgHints;return t&&t.doc==c.getDoc()&&0==L(s,t.start)?k(b,c,h):void b.request(c,{type:"type",preferFunction:!0,end:s},(function(a,d){!a&&d.type&&/^fn\(/.test(d.type)&&(b.cachedArgHints={start:s,type:l(d.type),name:d.exprName||d.name||"fn",guess:d.guess,doc:c.getDoc()},k(b,c,h))}))}}}}}function k(a,b,c){E(a);for(var d=a.cachedArgHints,e=d.type,f=w("span",d.guess?I+"fhint-guess":null,w("span",I+"fname",d.name),"("),g=0;g<e.args.length;++g){g&&f.appendChild(document.createTextNode(", "));var h=e.args[g];f.appendChild(w("span",I+"farg"+(g==c?" "+I+"farg-current":""),h.name||"?")),"?"!=h.type&&(f.appendChild(document.createTextNode(": ")),f.appendChild(w("span",I+"type",h.type)))}f.appendChild(document.createTextNode(e.rettype?") -> ":")")),e.rettype&&f.appendChild(w("span",I+"type",e.rettype));var i=b.cursorCoords(null,"page"),j=a.activeArgHints=A(i.right+1,i.bottom,f);setTimeout((function(){j.clear=z(b,(function(){a.activeArgHints==j&&E(a)}))}),20)}function l(a){function b(b){for(var c=0,e=d;;){var f=a.charAt(d);if(b.test(f)&&!c)return a.slice(e,d);/[{\[\(]/.test(f)?++c:/[}\]\)]/.test(f)&&--c,++d}}var c=[],d=3;if(")"!=a.charAt(d))for(;;){var e=a.slice(d).match(/^([^, \(\[\{]+): /);if(e&&(d+=e[0].length,e=e[1]),c.push({name:e,type:b(/[\),]/)}),")"==a.charAt(d))break;d+=2}var f=a.slice(d).match(/^\) -> (.*)$/);return{args:c,rettype:f&&f[1]}}function m(a,b){function d(d){var e={type:"definition",variable:d||null},f=c(a,b.getDoc());a.server.request(u(a,f,e),(function(c,d){if(c)return D(a,b,c);if(!d.file&&d.url)return void window.open(d.url);if(d.file){var e,g=a.docs[d.file];if(g&&(e=p(g.doc,d)))return a.jumpStack.push({file:f.name,start:b.getCursor("from"),end:b.getCursor("to")}),void o(a,f,g,e.start,e.end)}D(a,b,"Could not find a definition.")}))}q(b)?d():x(b,"Jump to variable",(function(a){a&&d(a)}))}function n(a,b){var d=a.jumpStack.pop(),e=d&&a.docs[d.file];e&&o(a,c(a,b.getDoc()),e,d.start,d.end)}function o(a,b,c,d,e){c.doc.setSelection(d,e),b!=c&&a.options.switchToDoc&&(E(a),a.options.switchToDoc(c.name,c.doc))}function p(a,b){for(var c=b.context.slice(0,b.contextOffset).split("\n"),d=b.start.line-(c.length-1),e=H(d,(1==c.length?b.start.ch:a.getLine(d).length)-c[0].length),f=a.getLine(d).slice(e.ch),g=d+1;g<a.lineCount()&&f.length<b.context.length;++g)f+="\n"+a.getLine(g);if(f.slice(0,b.context.length)==b.context)return b;for(var h,i=a.getSearchCursor(b.context,0,!1),j=1/0;i.findNext();){var k=i.from(),l=1e4*Math.abs(k.line-e.line);l||(l=Math.abs(k.ch-e.ch)),l<j&&(h=k,j=l)}if(!h)return null;if(1==c.length?h.ch+=c[0].length:h=H(h.line+(c.length-1),c[c.length-1].length),b.start.line==b.end.line)var m=H(h.line,h.ch+(b.end.ch-b.start.ch));else var m=H(h.line+(b.end.line-b.start.line),b.end.ch);return{start:h,end:m}}function q(a){var b=a.getCursor("end"),c=a.getTokenAt(b);return!(c.start<b.ch&&"comment"==c.type)&&/[\w)\]]/.test(a.getLine(b.line).slice(Math.max(b.ch-1,0),b.ch+1))}function r(a,b){var c=b.getTokenAt(b.getCursor());return/\w/.test(c.string)?void x(b,"New name for "+c.string,(function(c){a.request(b,{type:"rename",newName:c,fullDocs:!0},(function(c,d){return c?D(a,b,c):void t(a,d.changes)}))})):D(a,b,"Not at a variable")}function s(a,b){var d=c(a,b.doc).name;a.request(b,{type:"refs"},(function(c,e){if(c)return D(a,b,c);for(var f=[],g=0,h=b.getCursor(),i=0;i<e.refs.length;i++){var j=e.refs[i];j.file==d&&(f.push({anchor:j.start,head:j.end}),L(h,j.start)>=0&&L(h,j.end)<=0&&(g=f.length-1))}b.setSelections(f,g)}))}function t(a,b){for(var c=Object.create(null),d=0;d<b.length;++d){var e=b[d];(c[e.file]||(c[e.file]=[])).push(e)}for(var f in c){var g=a.docs[f],h=c[f];if(g){h.sort((function(a,b){return L(b.start,a.start)}));for(var i="*rename"+ ++K,d=0;d<h.length;++d){var e=h[d];g.doc.replaceRange(e.text,e.start,e.end,i)}}}}function u(a,b,c,d){var e=[],f=0,g=!c.fullDocs;g||delete c.fullDocs,"string"==typeof c&&(c={type:c}),c.lineCharPositions=!0,null==c.end&&(c.end=d||b.doc.getCursor("end"),b.doc.somethingSelected()&&(c.start=b.doc.getCursor("start")));var h=c.start||c.end;if(b.changed)if(b.doc.lineCount()>J&&g!==!1&&b.changed.to-b.changed.from<100&&b.changed.from<=h.line&&b.changed.to>c.end.line){e.push(v(b,h,c.end)),c.file="#0";var f=e[0].offsetLines;null!=c.start&&(c.start=H(c.start.line- -f,c.start.ch)),c.end=H(c.end.line-f,c.end.ch)}else e.push({type:"full",name:b.name,text:F(a,b)}),c.file=b.name,b.changed=null;else c.file=b.name;for(var i in a.docs){var j=a.docs[i];j.changed&&j!=b&&(e.push({type:"full",name:j.name,text:F(a,j)}),j.changed=null)}return{query:c,files:e}}function v(b,c,d){for(var e,f=b.doc,g=null,h=null,i=4,j=c.line-1,k=Math.max(0,j-50);j>=k;--j){var l=f.getLine(j),m=l.search(/\bfunction\b/);if(!(m<0)){var n=a.countColumn(l,null,i);null!=g&&g<=n||(g=n,h=j)}}null==h&&(h=k);var o=Math.min(f.lastLine(),d.line+20);if(null==g||g==a.countColumn(f.getLine(c.line),null,i))e=o;else for(e=d.line+1;e<o;++e){var n=a.countColumn(f.getLine(e),null,i);if(n<=g)break}var p=H(h,0);return{type:"part",name:b.name,offsetLines:p.line,text:f.getRange(p,H(e,d.line==e?null:0))}}function w(a,b){var c=document.createElement(a);b&&(c.className=b);for(var d=2;d<arguments.length;++d){var e=arguments[d];"string"==typeof e&&(e=document.createTextNode(e)),c.appendChild(e)}return c}function x(a,b,c){a.openDialog?a.openDialog(b+": <input type=text>",c):c(prompt(b,""))}function y(b,c,d){function e(){j=!0,i||f()}function f(){b.state.ternTooltip=null,h.parentNode&&C(h),k()}b.state.ternTooltip&&B(b.state.ternTooltip);var g=b.cursorCoords(),h=b.state.ternTooltip=A(g.right+1,g.bottom,c),i=!1,j=!1;a.on(h,"mousemove",(function(){i=!0})),a.on(h,"mouseout",(function(b){a.contains(h,b.relatedTarget||b.toElement)||(j?f():i=!1)})),setTimeout(e,d.options.hintDelay?d.options.hintDelay:1700);var k=z(b,f)}function z(a,b){return a.on("cursorActivity",b),a.on("blur",b),a.on("scroll",b),a.on("setDoc",b),function(){a.off("cursorActivity",b),a.off("blur",b),a.off("scroll",b),a.off("setDoc",b)}}function A(a,b,c){var d=w("div",I+"tooltip",c);return d.style.left=a+"px",d.style.top=b+"px",document.body.appendChild(d),d}function B(a){var b=a&&a.parentNode;b&&b.removeChild(a)}function C(a){a.style.opacity="0",setTimeout((function(){B(a)}),1100)}function D(a,b,c){a.options.showError?a.options.showError(b,c):y(b,String(c),a)}function E(a){a.activeArgHints&&(a.activeArgHints.clear&&a.activeArgHints.clear(),B(a.activeArgHints),a.activeArgHints=null)}function F(a,b){var c=b.doc.getValue();return a.options.fileFilter&&(c=a.options.fileFilter(c,b.name,b.doc)),c}function G(a){function c(a,b){b&&(a.id=++e,f[e]=b),d.postMessage(a)}var d=a.worker=new Worker(a.options.workerScript);d.postMessage({type:"init",defs:a.options.defs,plugins:a.options.plugins,scripts:a.options.workerDeps});var e=0,f={};d.onmessage=function(d){var e=d.data;"getFile"==e.type?b(a,e.name,(function(a,b){c({type:"getFile",err:String(a),text:b,id:e.id})})):"debug"==e.type?window.console.log(e.message):e.id&&f[e.id]&&(f[e.id](e.err,e.body),delete f[e.id])},d.onerror=function(a){for(var b in f)f[b](a);f={}},this.addFile=function(a,b){c({type:"add",name:a,text:b})},this.delFile=function(a){c({type:"del",name:a})},this.request=function(a,b){c({type:"req",body:a},b)}}a.TernServer=function(a){var c=this;this.options=a||{};var d=this.options.plugins||(this.options.plugins={});d.doc_comment||(d.doc_comment=!0),this.docs=Object.create(null),this.options.useWorker?this.server=new G(this):this.server=new tern.Server({getFile:function(a,d){return b(c,a,d)},async:!0,defs:this.options.defs||[],plugins:d}),this.trackChange=function(a,b){e(c,a,b)},this.cachedArgHints=null,this.activeArgHints=null,this.jumpStack=[],this.getHint=function(a,b){return g(c,a,b)},this.getHint.async=!0},a.TernServer.prototype={addDoc:function(b,c){var d={doc:c,name:b,changed:null};return this.server.addFile(b,F(this,d)),a.on(c,"change",this.trackChange),this.docs[b]=d},delDoc:function(b){var c=d(this,b);c&&(a.off(c.doc,"change",this.trackChange),delete this.docs[c.name],this.server.delFile(c.name))},hideDoc:function(a){E(this);var b=d(this,a);b&&b.changed&&f(this,b)},complete:function(a){a.showHint({hint:this.getHint})},showType:function(a,b,c){i(this,a,b,"type",c)},showDocs:function(a,b,c){i(this,a,b,"documentation",c)},updateArgHints:function(a){j(this,a)},jumpToDef:function(a){m(this,a)},jumpBack:function(a){n(this,a)},rename:function(a){r(this,a)},selectName:function(a){s(this,a)},request:function(a,b,d,e){var f=this,g=c(this,a.getDoc()),h=u(this,g,b,e),i=h.query&&this.options.queryOptions&&this.options.queryOptions[h.query.type];if(i)for(var j in i)h.query[j]=i[j];this.server.request(h,(function(a,c){!a&&f.options.responseFilter&&(c=f.options.responseFilter(g,b,h,a,c)),d(a,c)}))},destroy:function(){E(this),this.worker&&(this.worker.terminate(),this.worker=null)}};var H=a.Pos,I="CodeMirror-Tern-",J=250,K=0,L=a.cmpPos})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c){var d=a.docs[b];d?c(F(a,d)):a.options.getFile?a.options.getFile(b,c):c(null)}function c(a,b,c){for(var d in a.docs){var e=a.docs[d];if(e.doc==b)return e}if(!c)for(var f=0;;++f)if(d="[doc"+(f||"")+"]",!a.docs[d]){c=d;break}return a.addDoc(c,b)}function d(b,d){return"string"==typeof d?b.docs[d]:(d instanceof a&&(d=d.getDoc()),d instanceof a.Doc?c(b,d):void 0)}function e(a,b,d){var e=c(a,b),g=a.cachedArgHints;g&&g.doc==b&&L(g.start,d.to)>=0&&(a.cachedArgHints=null);var h=e.changed;null==h&&(e.changed=h={from:d.from.line,to:d.from.line});var i=d.from.line+(d.text.length-1);d.from.line<h.to&&(h.to=h.to-(d.to.line-i)),i>=h.to&&(h.to=i+1),h.from>d.from.line&&(h.from=d.from.line),b.lineCount()>J&&d.to-h.from>100&&setTimeout((function(){e.changed&&e.changed.to-e.changed.from>100&&f(a,e)}),200)}function f(a,b){a.server.request({files:[{type:"full",name:b.name,text:F(a,b)}]},(function(a){a?window.console.error(a):b.changed=null}))}function g(b,c,d){b.request(c,{type:"completions",types:!0,docs:!0,urls:!0},(function(e,f){if(e)return D(b,c,e);var g=[],i="",j=f.start,k=f.end;'["'==c.getRange(H(j.line,j.ch-2),j)&&'"]'!=c.getRange(k,H(k.line,k.ch+2))&&(i='"]');for(var l=0;l<f.completions.length;++l){var m=f.completions[l],n=h(m.type);f.guess&&(n+=" "+I+"guess"),g.push({text:m.name+i,displayText:m.displayName||m.name,className:n,data:m})}var o={from:j,to:k,list:g},p=null;a.on(o,"close",(function(){B(p)})),a.on(o,"update",(function(){B(p)})),a.on(o,"select",(function(a,c){B(p);var d=b.options.completionTip?b.options.completionTip(a.data):a.data.doc;d&&(p=A(c.parentNode.getBoundingClientRect().right+window.pageXOffset,c.getBoundingClientRect().top+window.pageYOffset,d),p.className+=" "+I+"hint-doc")})),d(o)}))}function h(a){var b;return b="?"==a?"unknown":"number"==a||"string"==a||"bool"==a?a:/^fn\(/.test(a)?"fn":/^\[/.test(a)?"array":"object",I+"completion "+I+"completion-"+b}function i(a,b,c,d,e){a.request(b,d,(function(c,d){if(c)return D(a,b,c);if(a.options.typeTip)var f=a.options.typeTip(d);else{var f=w("span",null,w("strong",null,d.type||"not found"));if(d.doc&&f.appendChild(document.createTextNode(" — "+d.doc)),d.url){f.appendChild(document.createTextNode(" "));var g=f.appendChild(w("a",null,"[docs]"));g.href=d.url,g.target="_blank"}}y(b,f,a),e&&e()}),c)}function j(b,c){if(E(b),!c.somethingSelected()){var d=c.getTokenAt(c.getCursor()).state,e=a.innerMode(c.getMode(),d);if("javascript"==e.mode.name){var f=e.state.lexical;if("call"==f.info){for(var g,h=f.pos||0,i=c.getOption("tabSize"),j=c.getCursor().line,m=Math.max(0,j-9),n=!1;j>=m;--j){for(var o=c.getLine(j),p=0,q=0;;){var r=o.indexOf("\t",q);if(r==-1)break;p+=i-(r+p)%i-1,q=r+1}if(g=f.column-p,"("==o.charAt(g)){n=!0;break}}if(n){var s=H(j,g),t=b.cachedArgHints;return t&&t.doc==c.getDoc()&&0==L(s,t.start)?k(b,c,h):void b.request(c,{type:"type",preferFunction:!0,end:s},(function(a,d){!a&&d.type&&/^fn\(/.test(d.type)&&(b.cachedArgHints={start:s,type:l(d.type),name:d.exprName||d.name||"fn",guess:d.guess,doc:c.getDoc()},k(b,c,h))}))}}}}}function k(a,b,c){E(a);for(var d=a.cachedArgHints,e=d.type,f=w("span",d.guess?I+"fhint-guess":null,w("span",I+"fname",d.name),"("),g=0;g<e.args.length;++g){g&&f.appendChild(document.createTextNode(", "));var h=e.args[g];f.appendChild(w("span",I+"farg"+(g==c?" "+I+"farg-current":""),h.name||"?")),"?"!=h.type&&(f.appendChild(document.createTextNode(": ")),f.appendChild(w("span",I+"type",h.type)))}f.appendChild(document.createTextNode(e.rettype?") -> ":")")),e.rettype&&f.appendChild(w("span",I+"type",e.rettype));var i=b.cursorCoords(null,"page"),j=a.activeArgHints=A(i.right+1,i.bottom,f);setTimeout((function(){j.clear=z(b,(function(){a.activeArgHints==j&&E(a)}))}),20)}function l(a){function b(b){for(var c=0,e=d;;){var f=a.charAt(d);if(b.test(f)&&!c)return a.slice(e,d);/[{\[\(]/.test(f)?++c:/[}\]\)]/.test(f)&&--c,++d}}var c=[],d=3;if(")"!=a.charAt(d))for(;;){var e=a.slice(d).match(/^([^, \(\[\{]+): /);if(e&&(d+=e[0].length,e=e[1]),c.push({name:e,type:b(/[\),]/)}),")"==a.charAt(d))break;d+=2}var f=a.slice(d).match(/^\) -> (.*)$/);return{args:c,rettype:f&&f[1]}}function m(a,b){function d(d){var e={type:"definition",variable:d||null},f=c(a,b.getDoc());a.server.request(u(a,f,e),(function(c,d){if(c)return D(a,b,c);if(!d.file&&d.url)return void window.open(d.url);if(d.file){var e,g=a.docs[d.file];if(g&&(e=p(g.doc,d)))return a.jumpStack.push({file:f.name,start:b.getCursor("from"),end:b.getCursor("to")}),void o(a,f,g,e.start,e.end)}D(a,b,"Could not find a definition.")}))}q(b)?d():x(b,"Jump to variable",(function(a){a&&d(a)}))}function n(a,b){var d=a.jumpStack.pop(),e=d&&a.docs[d.file];e&&o(a,c(a,b.getDoc()),e,d.start,d.end)}function o(a,b,c,d,e){c.doc.setSelection(d,e),b!=c&&a.options.switchToDoc&&(E(a),a.options.switchToDoc(c.name,c.doc))}function p(a,b){for(var c=b.context.slice(0,b.contextOffset).split("\n"),d=b.start.line-(c.length-1),e=H(d,(1==c.length?b.start.ch:a.getLine(d).length)-c[0].length),f=a.getLine(d).slice(e.ch),g=d+1;g<a.lineCount()&&f.length<b.context.length;++g)f+="\n"+a.getLine(g);if(f.slice(0,b.context.length)==b.context)return b;for(var h,i=a.getSearchCursor(b.context,0,!1),j=1/0;i.findNext();){var k=i.from(),l=1e4*Math.abs(k.line-e.line);l||(l=Math.abs(k.ch-e.ch)),l<j&&(h=k,j=l)}if(!h)return null;if(1==c.length?h.ch+=c[0].length:h=H(h.line+(c.length-1),c[c.length-1].length),b.start.line==b.end.line)var m=H(h.line,h.ch+(b.end.ch-b.start.ch));else var m=H(h.line+(b.end.line-b.start.line),b.end.ch);return{start:h,end:m}}function q(a){var b=a.getCursor("end"),c=a.getTokenAt(b);return!(c.start<b.ch&&"comment"==c.type)&&/[\w)\]]/.test(a.getLine(b.line).slice(Math.max(b.ch-1,0),b.ch+1))}function r(a,b){var c=b.getTokenAt(b.getCursor());return/\w/.test(c.string)?void x(b,"New name for "+c.string,(function(c){a.request(b,{type:"rename",newName:c,fullDocs:!0},(function(c,d){return c?D(a,b,c):void t(a,d.changes)}))})):D(a,b,"Not at a variable")}function s(a,b){var d=c(a,b.doc).name;a.request(b,{type:"refs"},(function(c,e){if(c)return D(a,b,c);for(var f=[],g=0,h=b.getCursor(),i=0;i<e.refs.length;i++){var j=e.refs[i];j.file==d&&(f.push({anchor:j.start,head:j.end}),L(h,j.start)>=0&&L(h,j.end)<=0&&(g=f.length-1))}b.setSelections(f,g)}))}function t(a,b){for(var c=Object.create(null),d=0;d<b.length;++d){var e=b[d];(c[e.file]||(c[e.file]=[])).push(e)}for(var f in c){var g=a.docs[f],h=c[f];if(g){h.sort((function(a,b){return L(b.start,a.start)}));for(var i="*rename"+ ++K,d=0;d<h.length;++d){var e=h[d];g.doc.replaceRange(e.text,e.start,e.end,i)}}}}function u(a,b,c,d){var e=[],f=0,g=!c.fullDocs;g||delete c.fullDocs,"string"==typeof c&&(c={type:c}),c.lineCharPositions=!0,null==c.end&&(c.end=d||b.doc.getCursor("end"),b.doc.somethingSelected()&&(c.start=b.doc.getCursor("start")));var h=c.start||c.end;if(b.changed)if(b.doc.lineCount()>J&&g!==!1&&b.changed.to-b.changed.from<100&&b.changed.from<=h.line&&b.changed.to>c.end.line){e.push(v(b,h,c.end)),c.file="#0";var f=e[0].offsetLines;null!=c.start&&(c.start=H(c.start.line- -f,c.start.ch)),c.end=H(c.end.line-f,c.end.ch)}else e.push({type:"full",name:b.name,text:F(a,b)}),c.file=b.name,b.changed=null;else c.file=b.name;for(var i in a.docs){var j=a.docs[i];j.changed&&j!=b&&(e.push({type:"full",name:j.name,text:F(a,j)}),j.changed=null)}return{query:c,files:e}}function v(b,c,d){for(var e,f=b.doc,g=null,h=null,i=4,j=c.line-1,k=Math.max(0,j-50);j>=k;--j){var l=f.getLine(j),m=l.search(/\bfunction\b/);if(!(m<0)){var n=a.countColumn(l,null,i);null!=g&&g<=n||(g=n,h=j)}}null==h&&(h=k);var o=Math.min(f.lastLine(),d.line+20);if(null==g||g==a.countColumn(f.getLine(c.line),null,i))e=o;else for(e=d.line+1;e<o;++e){var n=a.countColumn(f.getLine(e),null,i);if(n<=g)break}var p=H(h,0);return{type:"part",name:b.name,offsetLines:p.line,text:f.getRange(p,H(e,d.line==e?null:0))}}function w(a,b){var c=document.createElement(a);b&&(c.className=b);for(var d=2;d<arguments.length;++d){var e=arguments[d];"string"==typeof e&&(e=document.createTextNode(e)),c.appendChild(e)}return c}function x(a,b,c){a.openDialog?a.openDialog(b+": <input type=text>",c):c(prompt(b,""))}function y(b,c,d){function e(){j=!0,i||f()}function f(){b.state.ternTooltip=null,h.parentNode&&C(h),k()}b.state.ternTooltip&&B(b.state.ternTooltip);var g=b.cursorCoords(),h=b.state.ternTooltip=A(g.right+1,g.bottom,c),i=!1,j=!1;a.on(h,"mousemove",(function(){i=!0})),a.on(h,"mouseout",(function(b){var c=b.relatedTarget||b.toElement;c&&a.contains(h,c)||(j?f():i=!1)})),setTimeout(e,d.options.hintDelay?d.options.hintDelay:1700);var k=z(b,f)}function z(a,b){return a.on("cursorActivity",b),a.on("blur",b),a.on("scroll",b),a.on("setDoc",b),function(){a.off("cursorActivity",b),a.off("blur",b),a.off("scroll",b),a.off("setDoc",b)}}function A(a,b,c){var d=w("div",I+"tooltip",c);return d.style.left=a+"px",d.style.top=b+"px",document.body.appendChild(d),d}function B(a){var b=a&&a.parentNode;b&&b.removeChild(a)}function C(a){a.style.opacity="0",setTimeout((function(){B(a)}),1100)}function D(a,b,c){a.options.showError?a.options.showError(b,c):y(b,String(c),a)}function E(a){a.activeArgHints&&(a.activeArgHints.clear&&a.activeArgHints.clear(),B(a.activeArgHints),a.activeArgHints=null)}function F(a,b){var c=b.doc.getValue();return a.options.fileFilter&&(c=a.options.fileFilter(c,b.name,b.doc)),c}function G(a){function c(a,b){b&&(a.id=++e,f[e]=b),d.postMessage(a)}var d=a.worker=new Worker(a.options.workerScript);d.postMessage({type:"init",defs:a.options.defs,plugins:a.options.plugins,scripts:a.options.workerDeps});var e=0,f={};d.onmessage=function(d){var e=d.data;"getFile"==e.type?b(a,e.name,(function(a,b){c({type:"getFile",err:String(a),text:b,id:e.id})})):"debug"==e.type?window.console.log(e.message):e.id&&f[e.id]&&(f[e.id](e.err,e.body),delete f[e.id])},d.onerror=function(a){for(var b in f)f[b](a);f={}},this.addFile=function(a,b){c({type:"add",name:a,text:b})},this.delFile=function(a){c({type:"del",name:a})},this.request=function(a,b){c({type:"req",body:a},b)}}a.TernServer=function(a){var c=this;this.options=a||{};var d=this.options.plugins||(this.options.plugins={});d.doc_comment||(d.doc_comment=!0),this.docs=Object.create(null),this.options.useWorker?this.server=new G(this):this.server=new tern.Server({getFile:function(a,d){return b(c,a,d)},async:!0,defs:this.options.defs||[],plugins:d}),this.trackChange=function(a,b){e(c,a,b)},this.cachedArgHints=null,this.activeArgHints=null,this.jumpStack=[],this.getHint=function(a,b){return g(c,a,b)},this.getHint.async=!0},a.TernServer.prototype={addDoc:function(b,c){var d={doc:c,name:b,changed:null};return this.server.addFile(b,F(this,d)),a.on(c,"change",this.trackChange),this.docs[b]=d},delDoc:function(b){var c=d(this,b);c&&(a.off(c.doc,"change",this.trackChange),delete this.docs[c.name],this.server.delFile(c.name))},hideDoc:function(a){E(this);var b=d(this,a);b&&b.changed&&f(this,b)},complete:function(a){a.showHint({hint:this.getHint})},showType:function(a,b,c){i(this,a,b,"type",c)},showDocs:function(a,b,c){i(this,a,b,"documentation",c)},updateArgHints:function(a){j(this,a)},jumpToDef:function(a){m(this,a)},jumpBack:function(a){n(this,a)},rename:function(a){r(this,a)},selectName:function(a){s(this,a)},request:function(a,b,d,e){var f=this,g=c(this,a.getDoc()),h=u(this,g,b,e),i=h.query&&this.options.queryOptions&&this.options.queryOptions[h.query.type];if(i)for(var j in i)h.query[j]=i[j];this.server.request(h,(function(a,c){!a&&f.options.responseFilter&&(c=f.options.responseFilter(g,b,h,a,c)),d(a,c)}))},destroy:function(){E(this),this.worker&&(this.worker.terminate(),this.worker=null)}};var H=a.Pos,I="CodeMirror-Tern-",J=250,K=0,L=a.cmpPos})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/emacs.js b/media/editors/codemirror/keymap/emacs.js index 33db0c15a2d89..3160453283293 100644 --- a/media/editors/codemirror/keymap/emacs.js +++ b/media/editors/codemirror/keymap/emacs.js @@ -30,16 +30,16 @@ var lastKill = null; - function kill(cm, from, to, mayGrow, text) { + function kill(cm, from, to, ring, text) { if (text == null) text = cm.getRange(from, to); - if (mayGrow && lastKill && lastKill.cm == cm && posEq(from, lastKill.pos) && cm.isClean(lastKill.gen)) + if (ring == "grow" && lastKill && lastKill.cm == cm && posEq(from, lastKill.pos) && cm.isClean(lastKill.gen)) growRingTop(text); - else + else if (ring !== false) addToRing(text); cm.replaceRange("", from, to, "+delete"); - if (mayGrow) lastKill = {cm: cm, pos: from, gen: cm.changeGeneration()}; + if (ring == "grow") lastKill = {cm: cm, pos: from, gen: cm.changeGeneration()}; else lastKill = null; } @@ -151,22 +151,22 @@ return f; } - function killTo(cm, by, dir) { + function killTo(cm, by, dir, ring) { var selections = cm.listSelections(), cursor; var i = selections.length; while (i--) { cursor = selections[i].head; - kill(cm, cursor, findEnd(cm, cursor, by, dir), true); + kill(cm, cursor, findEnd(cm, cursor, by, dir), ring); } } - function killRegion(cm) { + function killRegion(cm, ring) { if (cm.somethingSelected()) { var selections = cm.listSelections(), selection; var i = selections.length; while (i--) { selection = selections[i]; - kill(cm, selection.anchor, selection.head); + kill(cm, selection.anchor, selection.head, ring); } return true; } @@ -276,7 +276,7 @@ // Actual keymap var keyMap = CodeMirror.keyMap.emacs = CodeMirror.normalizeKeyMap({ - "Ctrl-W": function(cm) {kill(cm, cm.getCursor("start"), cm.getCursor("end"));}, + "Ctrl-W": function(cm) {kill(cm, cm.getCursor("start"), cm.getCursor("end"), true);}, "Ctrl-K": repeated(function(cm) { var start = cm.getCursor(), end = cm.clipPos(Pos(start.line)); var text = cm.getRange(start, end); @@ -284,7 +284,7 @@ text += "\n"; end = Pos(start.line + 1, 0); } - kill(cm, start, end, true, text); + kill(cm, start, end, "grow", text); }), "Alt-W": function(cm) { addToRing(cm.getSelection()); @@ -301,14 +301,14 @@ "Ctrl-F": move(byChar, 1), "Ctrl-B": move(byChar, -1), "Right": move(byChar, 1), "Left": move(byChar, -1), - "Ctrl-D": function(cm) { killTo(cm, byChar, 1); }, - "Delete": function(cm) { killRegion(cm) || killTo(cm, byChar, 1); }, - "Ctrl-H": function(cm) { killTo(cm, byChar, -1); }, - "Backspace": function(cm) { killRegion(cm) || killTo(cm, byChar, -1); }, + "Ctrl-D": function(cm) { killTo(cm, byChar, 1, false); }, + "Delete": function(cm) { killRegion(cm, false) || killTo(cm, byChar, 1, false); }, + "Ctrl-H": function(cm) { killTo(cm, byChar, -1, false); }, + "Backspace": function(cm) { killRegion(cm, false) || killTo(cm, byChar, -1, false); }, "Alt-F": move(byWord, 1), "Alt-B": move(byWord, -1), - "Alt-D": function(cm) { killTo(cm, byWord, 1); }, - "Alt-Backspace": function(cm) { killTo(cm, byWord, -1); }, + "Alt-D": function(cm) { killTo(cm, byWord, 1, "grow"); }, + "Alt-Backspace": function(cm) { killTo(cm, byWord, -1, "grow"); }, "Ctrl-N": move(byLine, 1), "Ctrl-P": move(byLine, -1), "Down": move(byLine, 1), "Up": move(byLine, -1), @@ -321,11 +321,11 @@ "Ctrl-Up": move(byParagraph, -1), "Ctrl-Down": move(byParagraph, 1), "Alt-A": move(bySentence, -1), "Alt-E": move(bySentence, 1), - "Alt-K": function(cm) { killTo(cm, bySentence, 1); }, + "Alt-K": function(cm) { killTo(cm, bySentence, 1, "grow"); }, - "Ctrl-Alt-K": function(cm) { killTo(cm, byExpr, 1); }, - "Ctrl-Alt-Backspace": function(cm) { killTo(cm, byExpr, -1); }, - "Ctrl-Alt-F": move(byExpr, 1), "Ctrl-Alt-B": move(byExpr, -1), + "Ctrl-Alt-K": function(cm) { killTo(cm, byExpr, 1, "grow"); }, + "Ctrl-Alt-Backspace": function(cm) { killTo(cm, byExpr, -1, "grow"); }, + "Ctrl-Alt-F": move(byExpr, 1), "Ctrl-Alt-B": move(byExpr, -1, "grow"), "Shift-Ctrl-Alt-2": function(cm) { var cursor = cm.getCursor(); @@ -398,7 +398,7 @@ "Ctrl-X F": "open", "Ctrl-X U": repeated("undo"), "Ctrl-X K": "close", - "Ctrl-X Delete": function(cm) { kill(cm, cm.getCursor(), bySentence(cm, cm.getCursor(), 1), true); }, + "Ctrl-X Delete": function(cm) { kill(cm, cm.getCursor(), bySentence(cm, cm.getCursor(), 1), "grow"); }, "Ctrl-X H": "selectAll", "Ctrl-Q Tab": repeated("insertTab"), diff --git a/media/editors/codemirror/keymap/emacs.min.js b/media/editors/codemirror/keymap/emacs.min.js index ffc9f9f4186a4..b430f9a1b46d2 100644 --- a/media/editors/codemirror/keymap/emacs.min.js +++ b/media/editors/codemirror/keymap/emacs.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line==b.line&&a.ch==b.ch}function c(a){I.push(a),I.length>50&&I.shift()}function d(a){return I.length?void(I[I.length-1]+=a):c(a)}function e(a){return I[I.length-(a?Math.min(a,1):1)]||""}function f(){return I.length>1&&I.pop(),e()}function g(a,e,f,g,h){null==h&&(h=a.getRange(e,f)),g&&J&&J.cm==a&&b(e,J.pos)&&a.isClean(J.gen)?d(h):c(h),a.replaceRange("",e,f,"+delete"),J=g?{cm:a,pos:e,gen:a.changeGeneration()}:null}function h(a,b,c){return a.findPosH(b,c,"char",!0)}function i(a,b,c){return a.findPosH(b,c,"word",!0)}function j(a,b,c){return a.findPosV(b,c,"line",a.doc.sel.goalColumn)}function k(a,b,c){return a.findPosV(b,c,"page",a.doc.sel.goalColumn)}function l(a,b,c){for(var d=b.line,e=a.getLine(d),f=/\S/.test(c<0?e.slice(0,b.ch):e.slice(b.ch)),g=a.firstLine(),h=a.lastLine();;){if(d+=c,d<g||d>h)return a.clipPos(H(d-c,c<0?0:null));e=a.getLine(d);var i=/\S/.test(e);if(i)f=!0;else if(f)return H(d,0)}}function m(a,b,c){for(var d=b.line,e=b.ch,f=a.getLine(b.line),g=!1;;){var h=f.charAt(e+(c<0?-1:0));if(h){if(g&&/[!?.]/.test(h))return H(d,e+(c>0?1:0));g||(g=/\w/.test(h)),e+=c}else{if(d==(c<0?a.firstLine():a.lastLine()))return H(d,e);if(f=a.getLine(d+c),!/\S/.test(f))return H(d,e);d+=c,e=c<0?f.length:0}}}function n(a,c,d){var e;if(a.findMatchingBracket&&(e=a.findMatchingBracket(c,{strict:!0}))&&e.match&&(e.forward?1:-1)==d)return d>0?H(e.to.line,e.to.ch+1):e.to;for(var f=!0;;f=!1){var g=a.getTokenAt(c),h=H(c.line,d<0?g.start:g.end);if(!(f&&d>0&&g.end==c.ch)&&/\w/.test(g.string))return h;var i=a.findPosH(h,d,"char");if(b(h,i))return c;c=i}}function o(a,b){var c=a.state.emacsPrefix;return c?(w(a),"-"==c?-1:Number(c)):b?null:1}function p(a){var b="string"==typeof a?function(b){b.execCommand(a)}:a;return function(a){var c=o(a);b(a);for(var d=1;d<c;++d)b(a)}}function q(a,c,d,e){var f=o(a);f<0&&(e=-e,f=-f);for(var g=0;g<f;++g){var h=d(a,c,e);if(b(h,c))break;c=h}return c}function r(a,b){var c=function(c){c.extendSelection(q(c,c.getCursor(),a,b))};return c.motion=!0,c}function s(a,b,c){for(var d,e=a.listSelections(),f=e.length;f--;)d=e[f].head,g(a,d,q(a,d,b,c),!0)}function t(a){if(a.somethingSelected()){for(var b,c=a.listSelections(),d=c.length;d--;)b=c[d],g(a,b.anchor,b.head);return!0}}function u(a,b){return a.state.emacsPrefix?void("-"!=b&&(a.state.emacsPrefix+=b)):(a.state.emacsPrefix=b,a.on("keyHandled",v),void a.on("inputRead",x))}function v(a,b){a.state.emacsPrefixMap||K.hasOwnProperty(b)||w(a)}function w(a){a.state.emacsPrefix=null,a.off("keyHandled",v),a.off("inputRead",x)}function x(a,b){var c=o(a);if(c>1&&"+input"==b.origin){for(var d=b.text.join("\n"),e="",f=1;f<c;++f)e+=d;a.replaceSelection(e)}}function y(a){a.state.emacsPrefixMap=!0,a.addKeyMap(M),a.on("keyHandled",z),a.on("inputRead",z)}function z(a,b){("string"!=typeof b||!/^\d$/.test(b)&&"Ctrl-U"!=b)&&(a.removeKeyMap(M),a.state.emacsPrefixMap=!1,a.off("keyHandled",z),a.off("inputRead",z))}function A(a){a.setCursor(a.getCursor()),a.setExtending(!a.getExtending()),a.on("change",(function(){a.setExtending(!1)}))}function B(a){a.setExtending(!1),a.setCursor(a.getCursor())}function C(a,b,c){a.openDialog?a.openDialog(b+': <input type="text" style="width: 10em"/>',c,{bottom:!0}):c(prompt(b,""))}function D(a,b){var c=a.getCursor(),d=a.findPosH(c,1,"word");a.replaceRange(b(a.getRange(c,d)),c,d),a.setCursor(d)}function E(a){for(var b=a.getCursor(),c=b.line,d=b.ch,e=[];c>=a.firstLine();){for(var f=a.getLine(c),g=null==d?f.length:d;g>0;){var d=f.charAt(--g);if(")"==d)e.push("(");else if("]"==d)e.push("[");else if("}"==d)e.push("{");else if(/[\(\{\[]/.test(d)&&(!e.length||e.pop()!=d))return a.extendSelection(H(c,g))}--c,d=null}}function F(a){a.execCommand("clearSearch"),B(a)}function G(a){M[a]=function(b){u(b,a)},L["Ctrl-"+a]=function(b){u(b,a)},K["Ctrl-"+a]=!0}var H=a.Pos,I=[],J=null,K={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};a.emacs={kill:g,killRegion:t,repeated:p};for(var L=a.keyMap.emacs=a.normalizeKeyMap({"Ctrl-W":function(a){g(a,a.getCursor("start"),a.getCursor("end"))},"Ctrl-K":p((function(a){var b=a.getCursor(),c=a.clipPos(H(b.line)),d=a.getRange(b,c);/\S/.test(d)||(d+="\n",c=H(b.line+1,0)),g(a,b,c,!0,d)})),"Alt-W":function(a){c(a.getSelection()),B(a)},"Ctrl-Y":function(a){var b=a.getCursor();a.replaceRange(e(o(a)),b,b,"paste"),a.setSelection(b,a.getCursor())},"Alt-Y":function(a){a.replaceSelection(f(),"around","paste")},"Ctrl-Space":A,"Ctrl-Shift-2":A,"Ctrl-F":r(h,1),"Ctrl-B":r(h,-1),Right:r(h,1),Left:r(h,-1),"Ctrl-D":function(a){s(a,h,1)},Delete:function(a){t(a)||s(a,h,1)},"Ctrl-H":function(a){s(a,h,-1)},Backspace:function(a){t(a)||s(a,h,-1)},"Alt-F":r(i,1),"Alt-B":r(i,-1),"Alt-D":function(a){s(a,i,1)},"Alt-Backspace":function(a){s(a,i,-1)},"Ctrl-N":r(j,1),"Ctrl-P":r(j,-1),Down:r(j,1),Up:r(j,-1),"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":r(k,-1),"Ctrl-V":r(k,1),PageUp:r(k,-1),PageDown:r(k,1),"Ctrl-Up":r(l,-1),"Ctrl-Down":r(l,1),"Alt-A":r(m,-1),"Alt-E":r(m,1),"Alt-K":function(a){s(a,m,1)},"Ctrl-Alt-K":function(a){s(a,n,1)},"Ctrl-Alt-Backspace":function(a){s(a,n,-1)},"Ctrl-Alt-F":r(n,1),"Ctrl-Alt-B":r(n,-1),"Shift-Ctrl-Alt-2":function(a){var b=a.getCursor();a.setSelection(q(a,b,n,1),b)},"Ctrl-Alt-T":function(a){var b=n(a,a.getCursor(),-1),c=n(a,b,1),d=n(a,c,1),e=n(a,d,-1);a.replaceRange(a.getRange(e,d)+a.getRange(c,e)+a.getRange(b,c),b,d)},"Ctrl-Alt-U":p(E),"Alt-Space":function(a){for(var b=a.getCursor(),c=b.ch,d=b.ch,e=a.getLine(b.line);c&&/\s/.test(e.charAt(c-1));)--c;for(;d<e.length&&/\s/.test(e.charAt(d));)++d;a.replaceRange(" ",H(b.line,c),H(b.line,d))},"Ctrl-O":p((function(a){a.replaceSelection("\n","start")})),"Ctrl-T":p((function(a){a.execCommand("transposeChars")})),"Alt-C":p((function(a){D(a,(function(a){var b=a.search(/\w/);return b==-1?a:a.slice(0,b)+a.charAt(b).toUpperCase()+a.slice(b+1).toLowerCase()}))})),"Alt-U":p((function(a){D(a,(function(a){return a.toUpperCase()}))})),"Alt-L":p((function(a){D(a,(function(a){return a.toLowerCase()}))})),"Alt-;":"toggleComment","Ctrl-/":p("undo"),"Shift-Ctrl--":p("undo"),"Ctrl-Z":p("undo"),"Cmd-Z":p("undo"),"Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":F,"Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":p((function(a){a.replaceSelection("\n","end")})),Tab:"indentAuto","Alt-G G":function(a){var b=o(a,!0);return null!=b&&b>0?a.setCursor(b-1):void C(a,"Goto line",(function(b){var c;b&&!isNaN(c=Number(b))&&c==(0|c)&&c>0&&a.setCursor(c-1)}))},"Ctrl-X Tab":function(a){a.indentSelection(o(a,!0)||a.getOption("indentUnit"))},"Ctrl-X Ctrl-X":function(a){a.setSelection(a.getCursor("head"),a.getCursor("anchor"))},"Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X U":p("undo"),"Ctrl-X K":"close","Ctrl-X Delete":function(a){g(a,a.getCursor(),m(a,a.getCursor(),1),!0)},"Ctrl-X H":"selectAll","Ctrl-Q Tab":p("insertTab"),"Ctrl-U":y}),M={"Ctrl-G":w},N=0;N<10;++N)G(String(N));G("-")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line==b.line&&a.ch==b.ch}function c(a){I.push(a),I.length>50&&I.shift()}function d(a){return I.length?void(I[I.length-1]+=a):c(a)}function e(a){return I[I.length-(a?Math.min(a,1):1)]||""}function f(){return I.length>1&&I.pop(),e()}function g(a,e,f,g,h){null==h&&(h=a.getRange(e,f)),"grow"==g&&J&&J.cm==a&&b(e,J.pos)&&a.isClean(J.gen)?d(h):g!==!1&&c(h),a.replaceRange("",e,f,"+delete"),J="grow"==g?{cm:a,pos:e,gen:a.changeGeneration()}:null}function h(a,b,c){return a.findPosH(b,c,"char",!0)}function i(a,b,c){return a.findPosH(b,c,"word",!0)}function j(a,b,c){return a.findPosV(b,c,"line",a.doc.sel.goalColumn)}function k(a,b,c){return a.findPosV(b,c,"page",a.doc.sel.goalColumn)}function l(a,b,c){for(var d=b.line,e=a.getLine(d),f=/\S/.test(c<0?e.slice(0,b.ch):e.slice(b.ch)),g=a.firstLine(),h=a.lastLine();;){if(d+=c,d<g||d>h)return a.clipPos(H(d-c,c<0?0:null));e=a.getLine(d);var i=/\S/.test(e);if(i)f=!0;else if(f)return H(d,0)}}function m(a,b,c){for(var d=b.line,e=b.ch,f=a.getLine(b.line),g=!1;;){var h=f.charAt(e+(c<0?-1:0));if(h){if(g&&/[!?.]/.test(h))return H(d,e+(c>0?1:0));g||(g=/\w/.test(h)),e+=c}else{if(d==(c<0?a.firstLine():a.lastLine()))return H(d,e);if(f=a.getLine(d+c),!/\S/.test(f))return H(d,e);d+=c,e=c<0?f.length:0}}}function n(a,c,d){var e;if(a.findMatchingBracket&&(e=a.findMatchingBracket(c,{strict:!0}))&&e.match&&(e.forward?1:-1)==d)return d>0?H(e.to.line,e.to.ch+1):e.to;for(var f=!0;;f=!1){var g=a.getTokenAt(c),h=H(c.line,d<0?g.start:g.end);if(!(f&&d>0&&g.end==c.ch)&&/\w/.test(g.string))return h;var i=a.findPosH(h,d,"char");if(b(h,i))return c;c=i}}function o(a,b){var c=a.state.emacsPrefix;return c?(w(a),"-"==c?-1:Number(c)):b?null:1}function p(a){var b="string"==typeof a?function(b){b.execCommand(a)}:a;return function(a){var c=o(a);b(a);for(var d=1;d<c;++d)b(a)}}function q(a,c,d,e){var f=o(a);f<0&&(e=-e,f=-f);for(var g=0;g<f;++g){var h=d(a,c,e);if(b(h,c))break;c=h}return c}function r(a,b){var c=function(c){c.extendSelection(q(c,c.getCursor(),a,b))};return c.motion=!0,c}function s(a,b,c,d){for(var e,f=a.listSelections(),h=f.length;h--;)e=f[h].head,g(a,e,q(a,e,b,c),d)}function t(a,b){if(a.somethingSelected()){for(var c,d=a.listSelections(),e=d.length;e--;)c=d[e],g(a,c.anchor,c.head,b);return!0}}function u(a,b){return a.state.emacsPrefix?void("-"!=b&&(a.state.emacsPrefix+=b)):(a.state.emacsPrefix=b,a.on("keyHandled",v),void a.on("inputRead",x))}function v(a,b){a.state.emacsPrefixMap||K.hasOwnProperty(b)||w(a)}function w(a){a.state.emacsPrefix=null,a.off("keyHandled",v),a.off("inputRead",x)}function x(a,b){var c=o(a);if(c>1&&"+input"==b.origin){for(var d=b.text.join("\n"),e="",f=1;f<c;++f)e+=d;a.replaceSelection(e)}}function y(a){a.state.emacsPrefixMap=!0,a.addKeyMap(M),a.on("keyHandled",z),a.on("inputRead",z)}function z(a,b){("string"!=typeof b||!/^\d$/.test(b)&&"Ctrl-U"!=b)&&(a.removeKeyMap(M),a.state.emacsPrefixMap=!1,a.off("keyHandled",z),a.off("inputRead",z))}function A(a){a.setCursor(a.getCursor()),a.setExtending(!a.getExtending()),a.on("change",(function(){a.setExtending(!1)}))}function B(a){a.setExtending(!1),a.setCursor(a.getCursor())}function C(a,b,c){a.openDialog?a.openDialog(b+': <input type="text" style="width: 10em"/>',c,{bottom:!0}):c(prompt(b,""))}function D(a,b){var c=a.getCursor(),d=a.findPosH(c,1,"word");a.replaceRange(b(a.getRange(c,d)),c,d),a.setCursor(d)}function E(a){for(var b=a.getCursor(),c=b.line,d=b.ch,e=[];c>=a.firstLine();){for(var f=a.getLine(c),g=null==d?f.length:d;g>0;){var d=f.charAt(--g);if(")"==d)e.push("(");else if("]"==d)e.push("[");else if("}"==d)e.push("{");else if(/[\(\{\[]/.test(d)&&(!e.length||e.pop()!=d))return a.extendSelection(H(c,g))}--c,d=null}}function F(a){a.execCommand("clearSearch"),B(a)}function G(a){M[a]=function(b){u(b,a)},L["Ctrl-"+a]=function(b){u(b,a)},K["Ctrl-"+a]=!0}var H=a.Pos,I=[],J=null,K={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};a.emacs={kill:g,killRegion:t,repeated:p};for(var L=a.keyMap.emacs=a.normalizeKeyMap({"Ctrl-W":function(a){g(a,a.getCursor("start"),a.getCursor("end"),!0)},"Ctrl-K":p((function(a){var b=a.getCursor(),c=a.clipPos(H(b.line)),d=a.getRange(b,c);/\S/.test(d)||(d+="\n",c=H(b.line+1,0)),g(a,b,c,"grow",d)})),"Alt-W":function(a){c(a.getSelection()),B(a)},"Ctrl-Y":function(a){var b=a.getCursor();a.replaceRange(e(o(a)),b,b,"paste"),a.setSelection(b,a.getCursor())},"Alt-Y":function(a){a.replaceSelection(f(),"around","paste")},"Ctrl-Space":A,"Ctrl-Shift-2":A,"Ctrl-F":r(h,1),"Ctrl-B":r(h,-1),Right:r(h,1),Left:r(h,-1),"Ctrl-D":function(a){s(a,h,1,!1)},Delete:function(a){t(a,!1)||s(a,h,1,!1)},"Ctrl-H":function(a){s(a,h,-1,!1)},Backspace:function(a){t(a,!1)||s(a,h,-1,!1)},"Alt-F":r(i,1),"Alt-B":r(i,-1),"Alt-D":function(a){s(a,i,1,"grow")},"Alt-Backspace":function(a){s(a,i,-1,"grow")},"Ctrl-N":r(j,1),"Ctrl-P":r(j,-1),Down:r(j,1),Up:r(j,-1),"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":r(k,-1),"Ctrl-V":r(k,1),PageUp:r(k,-1),PageDown:r(k,1),"Ctrl-Up":r(l,-1),"Ctrl-Down":r(l,1),"Alt-A":r(m,-1),"Alt-E":r(m,1),"Alt-K":function(a){s(a,m,1,"grow")},"Ctrl-Alt-K":function(a){s(a,n,1,"grow")},"Ctrl-Alt-Backspace":function(a){s(a,n,-1,"grow")},"Ctrl-Alt-F":r(n,1),"Ctrl-Alt-B":r(n,-1,"grow"),"Shift-Ctrl-Alt-2":function(a){var b=a.getCursor();a.setSelection(q(a,b,n,1),b)},"Ctrl-Alt-T":function(a){var b=n(a,a.getCursor(),-1),c=n(a,b,1),d=n(a,c,1),e=n(a,d,-1);a.replaceRange(a.getRange(e,d)+a.getRange(c,e)+a.getRange(b,c),b,d)},"Ctrl-Alt-U":p(E),"Alt-Space":function(a){for(var b=a.getCursor(),c=b.ch,d=b.ch,e=a.getLine(b.line);c&&/\s/.test(e.charAt(c-1));)--c;for(;d<e.length&&/\s/.test(e.charAt(d));)++d;a.replaceRange(" ",H(b.line,c),H(b.line,d))},"Ctrl-O":p((function(a){a.replaceSelection("\n","start")})),"Ctrl-T":p((function(a){a.execCommand("transposeChars")})),"Alt-C":p((function(a){D(a,(function(a){var b=a.search(/\w/);return b==-1?a:a.slice(0,b)+a.charAt(b).toUpperCase()+a.slice(b+1).toLowerCase()}))})),"Alt-U":p((function(a){D(a,(function(a){return a.toUpperCase()}))})),"Alt-L":p((function(a){D(a,(function(a){return a.toLowerCase()}))})),"Alt-;":"toggleComment","Ctrl-/":p("undo"),"Shift-Ctrl--":p("undo"),"Ctrl-Z":p("undo"),"Cmd-Z":p("undo"),"Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":F,"Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":p((function(a){a.replaceSelection("\n","end")})),Tab:"indentAuto","Alt-G G":function(a){var b=o(a,!0);return null!=b&&b>0?a.setCursor(b-1):void C(a,"Goto line",(function(b){var c;b&&!isNaN(c=Number(b))&&c==(0|c)&&c>0&&a.setCursor(c-1)}))},"Ctrl-X Tab":function(a){a.indentSelection(o(a,!0)||a.getOption("indentUnit"))},"Ctrl-X Ctrl-X":function(a){a.setSelection(a.getCursor("head"),a.getCursor("anchor"))},"Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X U":p("undo"),"Ctrl-X K":"close","Ctrl-X Delete":function(a){g(a,a.getCursor(),m(a,a.getCursor(),1),"grow")},"Ctrl-X H":"selectAll","Ctrl-Q Tab":p("insertTab"),"Ctrl-U":y}),M={"Ctrl-G":w},N=0;N<10;++N)G(String(N));G("-")})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/sublime.js b/media/editors/codemirror/keymap/sublime.js index 98266e44f07cf..5925b7c51f145 100644 --- a/media/editors/codemirror/keymap/sublime.js +++ b/media/editors/codemirror/keymap/sublime.js @@ -14,11 +14,8 @@ })(function(CodeMirror) { "use strict"; - var map = CodeMirror.keyMap.sublime = {fallthrough: "default"}; var cmds = CodeMirror.commands; var Pos = CodeMirror.Pos; - var mac = CodeMirror.keyMap["default"] == CodeMirror.keyMap.macDefault; - var ctrl = mac ? "Cmd-" : "Ctrl-"; // This is not exactly Sublime's algorithm. I couldn't make heads or tails of that. function findPosSubword(doc, start, dir) { @@ -52,16 +49,10 @@ }); } - var goSubwordCombo = mac ? "Ctrl-" : "Alt-"; + cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); }; + cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); }; - cmds[map[goSubwordCombo + "Left"] = "goSubwordLeft"] = function(cm) { moveSubword(cm, -1); }; - cmds[map[goSubwordCombo + "Right"] = "goSubwordRight"] = function(cm) { moveSubword(cm, 1); }; - - if (mac) map["Cmd-Left"] = "goLineStartSmart"; - - var scrollLineCombo = mac ? "Ctrl-Alt-" : "Ctrl-"; - - cmds[map[scrollLineCombo + "Up"] = "scrollLineUp"] = function(cm) { + cmds.scrollLineUp = function(cm) { var info = cm.getScrollInfo(); if (!cm.somethingSelected()) { var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, "local"); @@ -70,7 +61,7 @@ } cm.scrollTo(null, info.top - cm.defaultTextHeight()); }; - cmds[map[scrollLineCombo + "Down"] = "scrollLineDown"] = function(cm) { + cmds.scrollLineDown = function(cm) { var info = cm.getScrollInfo(); if (!cm.somethingSelected()) { var visibleTopLine = cm.lineAtHeight(info.top, "local")+1; @@ -80,7 +71,7 @@ cm.scrollTo(null, info.top + cm.defaultTextHeight()); }; - cmds[map["Shift-" + ctrl + "L"] = "splitSelectionByLine"] = function(cm) { + cmds.splitSelectionByLine = function(cm) { var ranges = cm.listSelections(), lineRanges = []; for (var i = 0; i < ranges.length; i++) { var from = ranges[i].from(), to = ranges[i].to(); @@ -92,14 +83,12 @@ cm.setSelections(lineRanges, 0); }; - map["Shift-Tab"] = "indentLess"; - - cmds[map["Esc"] = "singleSelectionTop"] = function(cm) { + cmds.singleSelectionTop = function(cm) { var range = cm.listSelections()[0]; cm.setSelection(range.anchor, range.head, {scroll: false}); }; - cmds[map[ctrl + "L"] = "selectLine"] = function(cm) { + cmds.selectLine = function(cm) { var ranges = cm.listSelections(), extended = []; for (var i = 0; i < ranges.length; i++) { var range = ranges[i]; @@ -109,8 +98,6 @@ cm.setSelections(extended); }; - map["Shift-Ctrl-K"] = "deleteLine"; - function insertLine(cm, above) { if (cm.isReadOnly()) return CodeMirror.Pass cm.operation(function() { @@ -129,9 +116,9 @@ cm.execCommand("indentAuto"); } - cmds[map[ctrl + "Enter"] = "insertLineAfter"] = function(cm) { return insertLine(cm, false); }; + cmds.insertLineAfter = function(cm) { return insertLine(cm, false); }; - cmds[map["Shift-" + ctrl + "Enter"] = "insertLineBefore"] = function(cm) { return insertLine(cm, true); }; + cmds.insertLineBefore = function(cm) { return insertLine(cm, true); }; function wordAt(cm, pos) { var start = pos.ch, end = start, line = cm.getLine(pos.line); @@ -140,7 +127,7 @@ return {from: Pos(pos.line, start), to: Pos(pos.line, end), word: line.slice(start, end)}; } - cmds[map[ctrl + "D"] = "selectNextOccurrence"] = function(cm) { + cmds.selectNextOccurrence = function(cm) { var from = cm.getCursor("from"), to = cm.getCursor("to"); var fullWord = cm.state.sublimeFindFullWord == cm.doc.sel; if (CodeMirror.cmpPos(from, to) == 0) { @@ -177,10 +164,8 @@ } cm.setSelections(newRanges); } - - var addCursorToLineCombo = mac ? "Shift-Cmd" : 'Alt-Ctrl'; - cmds[map[addCursorToLineCombo + "Up"] = "addCursorToPrevLine"] = function(cm) { addCursorToSelection(cm, -1); }; - cmds[map[addCursorToLineCombo + "Down"] = "addCursorToNextLine"] = function(cm) { addCursorToSelection(cm, 1); }; + cmds.addCursorToPrevLine = function(cm) { addCursorToSelection(cm, -1); }; + cmds.addCursorToNextLine = function(cm) { addCursorToSelection(cm, 1); }; function isSelectedRange(ranges, from, to) { for (var i = 0; i < ranges.length; i++) @@ -198,9 +183,15 @@ var closing = cm.scanForBracket(pos, 1); if (!closing) return false; if (closing.ch == mirror.charAt(mirror.indexOf(opening.ch) + 1)) { - newRanges.push({anchor: Pos(opening.pos.line, opening.pos.ch + 1), - head: closing.pos}); - break; + var startPos = Pos(opening.pos.line, opening.pos.ch + 1); + if (CodeMirror.cmpPos(startPos, range.from()) == 0 && + CodeMirror.cmpPos(closing.pos, range.to()) == 0) { + opening = cm.scanForBracket(opening.pos, -1); + if (!opening) return false; + } else { + newRanges.push({anchor: startPos, head: closing.pos}); + break; + } } pos = Pos(closing.pos.line, closing.pos.ch + 1); } @@ -209,14 +200,14 @@ return true; } - cmds[map["Shift-" + ctrl + "Space"] = "selectScope"] = function(cm) { + cmds.selectScope = function(cm) { selectBetweenBrackets(cm) || cm.execCommand("selectAll"); }; - cmds[map["Shift-" + ctrl + "M"] = "selectBetweenBrackets"] = function(cm) { + cmds.selectBetweenBrackets = function(cm) { if (!selectBetweenBrackets(cm)) return CodeMirror.Pass; }; - cmds[map[ctrl + "M"] = "goToBracket"] = function(cm) { + cmds.goToBracket = function(cm) { cm.extendSelectionsBy(function(range) { var next = cm.scanForBracket(range.head, 1); if (next && CodeMirror.cmpPos(next.pos, range.head) != 0) return next.pos; @@ -225,9 +216,7 @@ }); }; - var swapLineCombo = mac ? "Cmd-Ctrl-" : "Shift-Ctrl-"; - - cmds[map[swapLineCombo + "Up"] = "swapLineUp"] = function(cm) { + cmds.swapLineUp = function(cm) { if (cm.isReadOnly()) return CodeMirror.Pass var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = []; for (var i = 0; i < ranges.length; i++) { @@ -254,7 +243,7 @@ }); }; - cmds[map[swapLineCombo + "Down"] = "swapLineDown"] = function(cm) { + cmds.swapLineDown = function(cm) { if (cm.isReadOnly()) return CodeMirror.Pass var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1; for (var i = ranges.length - 1; i >= 0; i--) { @@ -278,11 +267,11 @@ }); }; - cmds[map[ctrl + "/"] = "toggleCommentIndented"] = function(cm) { + cmds.toggleCommentIndented = function(cm) { cm.toggleComment({ indent: true }); } - cmds[map[ctrl + "J"] = "joinLines"] = function(cm) { + cmds.joinLines = function(cm) { var ranges = cm.listSelections(), joined = []; for (var i = 0; i < ranges.length; i++) { var range = ranges[i], from = range.from(); @@ -310,7 +299,7 @@ }); }; - cmds[map["Shift-" + ctrl + "D"] = "duplicateLine"] = function(cm) { + cmds.duplicateLine = function(cm) { cm.operation(function() { var rangeCount = cm.listSelections().length; for (var i = 0; i < rangeCount; i++) { @@ -324,7 +313,6 @@ }); }; - if (!mac) map[ctrl + "T"] = "transposeChars"; function sortLines(cm, caseSensitive) { if (cm.isReadOnly()) return CodeMirror.Pass @@ -362,10 +350,10 @@ }); } - cmds[map["F9"] = "sortLines"] = function(cm) { sortLines(cm, true); }; - cmds[map[ctrl + "F9"] = "sortLinesInsensitive"] = function(cm) { sortLines(cm, false); }; + cmds.sortLines = function(cm) { sortLines(cm, true); }; + cmds.sortLinesInsensitive = function(cm) { sortLines(cm, false); }; - cmds[map["F2"] = "nextBookmark"] = function(cm) { + cmds.nextBookmark = function(cm) { var marks = cm.state.sublimeBookmarks; if (marks) while (marks.length) { var current = marks.shift(); @@ -377,7 +365,7 @@ } }; - cmds[map["Shift-F2"] = "prevBookmark"] = function(cm) { + cmds.prevBookmark = function(cm) { var marks = cm.state.sublimeBookmarks; if (marks) while (marks.length) { marks.unshift(marks.pop()); @@ -389,7 +377,7 @@ } }; - cmds[map[ctrl + "F2"] = "toggleBookmark"] = function(cm) { + cmds.toggleBookmark = function(cm) { var ranges = cm.listSelections(); var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []); for (var i = 0; i < ranges.length; i++) { @@ -409,13 +397,13 @@ } }; - cmds[map["Shift-" + ctrl + "F2"] = "clearBookmarks"] = function(cm) { + cmds.clearBookmarks = function(cm) { var marks = cm.state.sublimeBookmarks; if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear(); marks.length = 0; }; - cmds[map["Alt-F2"] = "selectBookmarks"] = function(cm) { + cmds.selectBookmarks = function(cm) { var marks = cm.state.sublimeBookmarks, ranges = []; if (marks) for (var i = 0; i < marks.length; i++) { var found = marks[i].find(); @@ -428,10 +416,6 @@ cm.setSelections(ranges, 0); }; - map["Alt-Q"] = "wrapLines"; - - var cK = ctrl + "K "; - function modifyWordOrSelection(cm, mod) { cm.operation(function() { var ranges = cm.listSelections(), indices = [], replacements = []; @@ -451,9 +435,7 @@ }); } - map[cK + ctrl + "Backspace"] = "delLineLeft"; - - cmds[map["Backspace"] = "smartBackspace"] = function(cm) { + cmds.smartBackspace = function(cm) { if (cm.somethingSelected()) return CodeMirror.Pass; cm.operation(function() { @@ -481,7 +463,7 @@ }); }; - cmds[map[cK + ctrl + "K"] = "delLineRight"] = function(cm) { + cmds.delLineRight = function(cm) { cm.operation(function() { var ranges = cm.listSelections(); for (var i = ranges.length - 1; i >= 0; i--) @@ -490,22 +472,22 @@ }); }; - cmds[map[cK + ctrl + "U"] = "upcaseAtCursor"] = function(cm) { + cmds.upcaseAtCursor = function(cm) { modifyWordOrSelection(cm, function(str) { return str.toUpperCase(); }); }; - cmds[map[cK + ctrl + "L"] = "downcaseAtCursor"] = function(cm) { + cmds.downcaseAtCursor = function(cm) { modifyWordOrSelection(cm, function(str) { return str.toLowerCase(); }); }; - cmds[map[cK + ctrl + "Space"] = "setSublimeMark"] = function(cm) { + cmds.setSublimeMark = function(cm) { if (cm.state.sublimeMark) cm.state.sublimeMark.clear(); cm.state.sublimeMark = cm.setBookmark(cm.getCursor()); }; - cmds[map[cK + ctrl + "A"] = "selectToSublimeMark"] = function(cm) { + cmds.selectToSublimeMark = function(cm) { var found = cm.state.sublimeMark && cm.state.sublimeMark.find(); if (found) cm.setSelection(cm.getCursor(), found); }; - cmds[map[cK + ctrl + "W"] = "deleteToSublimeMark"] = function(cm) { + cmds.deleteToSublimeMark = function(cm) { var found = cm.state.sublimeMark && cm.state.sublimeMark.find(); if (found) { var from = cm.getCursor(), to = found; @@ -514,7 +496,7 @@ cm.replaceRange("", from, to); } }; - cmds[map[cK + ctrl + "X"] = "swapWithSublimeMark"] = function(cm) { + cmds.swapWithSublimeMark = function(cm) { var found = cm.state.sublimeMark && cm.state.sublimeMark.find(); if (found) { cm.state.sublimeMark.clear(); @@ -522,39 +504,16 @@ cm.setCursor(found); } }; - cmds[map[cK + ctrl + "Y"] = "sublimeYank"] = function(cm) { + cmds.sublimeYank = function(cm) { if (cm.state.sublimeKilled != null) cm.replaceSelection(cm.state.sublimeKilled, null, "paste"); }; - map[cK + ctrl + "G"] = "clearBookmarks"; - cmds[map[cK + ctrl + "C"] = "showInCenter"] = function(cm) { + cmds.showInCenter = function(cm) { var pos = cm.cursorCoords(null, "local"); cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2); }; - var selectLinesCombo = mac ? "Ctrl-Shift-" : "Ctrl-Alt-"; - cmds[map[selectLinesCombo + "Up"] = "selectLinesUpward"] = function(cm) { - cm.operation(function() { - var ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - if (range.head.line > cm.firstLine()) - cm.addSelection(Pos(range.head.line - 1, range.head.ch)); - } - }); - }; - cmds[map[selectLinesCombo + "Down"] = "selectLinesDownward"] = function(cm) { - cm.operation(function() { - var ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - if (range.head.line < cm.lastLine()) - cm.addSelection(Pos(range.head.line + 1, range.head.ch)); - } - }); - }; - function getTarget(cm) { var from = cm.getCursor("from"), to = cm.getCursor("to"); if (CodeMirror.cmpPos(from, to) == 0) { @@ -583,9 +542,9 @@ cm.setSelection(target.from, target.to); } }; - cmds[map[ctrl + "F3"] = "findUnder"] = function(cm) { findAndGoTo(cm, true); }; - cmds[map["Shift-" + ctrl + "F3"] = "findUnderPrevious"] = function(cm) { findAndGoTo(cm,false); }; - cmds[map["Alt-F3"] = "findAllUnder"] = function(cm) { + cmds.findUnder = function(cm) { findAndGoTo(cm, true); }; + cmds.findUnderPrevious = function(cm) { findAndGoTo(cm,false); }; + cmds.findAllUnder = function(cm) { var target = getTarget(cm); if (!target) return; var cur = cm.getSearchCursor(target.query); @@ -599,15 +558,128 @@ cm.setSelections(matches, primaryIndex); }; - map["Shift-" + ctrl + "["] = "fold"; - map["Shift-" + ctrl + "]"] = "unfold"; - map[cK + ctrl + "0"] = map[cK + ctrl + "J"] = "unfoldAll"; - - map[ctrl + "I"] = "findIncremental"; - map["Shift-" + ctrl + "I"] = "findIncrementalReverse"; - map[ctrl + "H"] = "replace"; - map["F3"] = "findNext"; - map["Shift-F3"] = "findPrev"; - CodeMirror.normalizeKeyMap(map); + var keyMap = CodeMirror.keyMap; + keyMap.macSublime = { + "Cmd-Left": "goLineStartSmart", + "Shift-Tab": "indentLess", + "Shift-Ctrl-K": "deleteLine", + "Alt-Q": "wrapLines", + "Ctrl-Left": "goSubwordLeft", + "Ctrl-Right": "goSubwordRight", + "Ctrl-Alt-Up": "scrollLineUp", + "Ctrl-Alt-Down": "scrollLineDown", + "Cmd-L": "selectLine", + "Shift-Cmd-L": "splitSelectionByLine", + "Esc": "singleSelectionTop", + "Cmd-Enter": "insertLineAfter", + "Shift-Cmd-Enter": "insertLineBefore", + "Cmd-D": "selectNextOccurrence", + "Shift-Cmd-Space": "selectScope", + "Shift-Cmd-M": "selectBetweenBrackets", + "Cmd-M": "goToBracket", + "Cmd-Ctrl-Up": "swapLineUp", + "Cmd-Ctrl-Down": "swapLineDown", + "Cmd-/": "toggleCommentIndented", + "Cmd-J": "joinLines", + "Shift-Cmd-D": "duplicateLine", + "F9": "sortLines", + "Cmd-F9": "sortLinesInsensitive", + "F2": "nextBookmark", + "Shift-F2": "prevBookmark", + "Cmd-F2": "toggleBookmark", + "Shift-Cmd-F2": "clearBookmarks", + "Alt-F2": "selectBookmarks", + "Backspace": "smartBackspace", + "Cmd-K Cmd-K": "delLineRight", + "Cmd-K Cmd-U": "upcaseAtCursor", + "Cmd-K Cmd-L": "downcaseAtCursor", + "Cmd-K Cmd-Space": "setSublimeMark", + "Cmd-K Cmd-A": "selectToSublimeMark", + "Cmd-K Cmd-W": "deleteToSublimeMark", + "Cmd-K Cmd-X": "swapWithSublimeMark", + "Cmd-K Cmd-Y": "sublimeYank", + "Cmd-K Cmd-C": "showInCenter", + "Cmd-K Cmd-G": "clearBookmarks", + "Cmd-K Cmd-Backspace": "delLineLeft", + "Cmd-K Cmd-0": "unfoldAll", + "Cmd-K Cmd-J": "unfoldAll", + "Ctrl-Shift-Up": "addCursorToPrevLine", + "Ctrl-Shift-Down": "addCursorToNextLine", + "Cmd-F3": "findUnder", + "Shift-Cmd-F3": "findUnderPrevious", + "Alt-F3": "findAllUnder", + "Shift-Cmd-[": "fold", + "Shift-Cmd-]": "unfold", + "Cmd-I": "findIncremental", + "Shift-Cmd-I": "findIncrementalReverse", + "Cmd-H": "replace", + "F3": "findNext", + "Shift-F3": "findPrev", + "fallthrough": "macDefault" + }; + CodeMirror.normalizeKeyMap(keyMap.macSublime); + + keyMap.pcSublime = { + "Shift-Tab": "indentLess", + "Shift-Ctrl-K": "deleteLine", + "Alt-Q": "wrapLines", + "Ctrl-T": "transposeChars", + "Alt-Left": "goSubwordLeft", + "Alt-Right": "goSubwordRight", + "Ctrl-Up": "scrollLineUp", + "Ctrl-Down": "scrollLineDown", + "Ctrl-L": "selectLine", + "Shift-Ctrl-L": "splitSelectionByLine", + "Esc": "singleSelectionTop", + "Ctrl-Enter": "insertLineAfter", + "Shift-Ctrl-Enter": "insertLineBefore", + "Ctrl-D": "selectNextOccurrence", + "Shift-Ctrl-Space": "selectScope", + "Shift-Ctrl-M": "selectBetweenBrackets", + "Ctrl-M": "goToBracket", + "Shift-Ctrl-Up": "swapLineUp", + "Shift-Ctrl-Down": "swapLineDown", + "Ctrl-/": "toggleCommentIndented", + "Ctrl-J": "joinLines", + "Shift-Ctrl-D": "duplicateLine", + "F9": "sortLines", + "Ctrl-F9": "sortLinesInsensitive", + "F2": "nextBookmark", + "Shift-F2": "prevBookmark", + "Ctrl-F2": "toggleBookmark", + "Shift-Ctrl-F2": "clearBookmarks", + "Alt-F2": "selectBookmarks", + "Backspace": "smartBackspace", + "Ctrl-K Ctrl-K": "delLineRight", + "Ctrl-K Ctrl-U": "upcaseAtCursor", + "Ctrl-K Ctrl-L": "downcaseAtCursor", + "Ctrl-K Ctrl-Space": "setSublimeMark", + "Ctrl-K Ctrl-A": "selectToSublimeMark", + "Ctrl-K Ctrl-W": "deleteToSublimeMark", + "Ctrl-K Ctrl-X": "swapWithSublimeMark", + "Ctrl-K Ctrl-Y": "sublimeYank", + "Ctrl-K Ctrl-C": "showInCenter", + "Ctrl-K Ctrl-G": "clearBookmarks", + "Ctrl-K Ctrl-Backspace": "delLineLeft", + "Ctrl-K Ctrl-0": "unfoldAll", + "Ctrl-K Ctrl-J": "unfoldAll", + "Ctrl-Alt-Up": "addCursorToPrevLine", + "Ctrl-Alt-Down": "addCursorToNextLine", + "Ctrl-F3": "findUnder", + "Shift-Ctrl-F3": "findUnderPrevious", + "Alt-F3": "findAllUnder", + "Shift-Ctrl-[": "fold", + "Shift-Ctrl-]": "unfold", + "Ctrl-I": "findIncremental", + "Shift-Ctrl-I": "findIncrementalReverse", + "Ctrl-H": "replace", + "F3": "findNext", + "Shift-F3": "findPrev", + "fallthrough": "pcDefault" + }; + CodeMirror.normalizeKeyMap(keyMap.pcSublime); + + var mac = keyMap.default == keyMap.macDefault; + keyMap.sublime = mac ? keyMap.macSublime : keyMap.pcSublime; }); diff --git a/media/editors/codemirror/keymap/sublime.min.js b/media/editors/codemirror/keymap/sublime.min.js index e6bf885aede51..dd0d0fc7a4d12 100644 --- a/media/editors/codemirror/keymap/sublime.min.js +++ b/media/editors/codemirror/keymap/sublime.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(o(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(o(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return o(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=o(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:o(c.line,d),to:o(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line"),h=a.findPosV(f.head,b,"line"),i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d],f=e.head,g=a.scanForBracket(f,-1);if(!g)return!1;for(;;){var h=a.scanForBracket(f,1);if(!h)return!1;if(h.ch==u.charAt(u.indexOf(g.ch)+1)){c.push({anchor:o(g.pos.line,g.pos.ch+1),head:h.pos});break}f=o(h.pos.line,h.pos.ch+1)}}return a.setSelections(c),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=o(g,0),j=o(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:o(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?o(a.firstLine(),0):a.clipPos(o(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.keyMap.sublime={fallthrough:"default"},n=a.commands,o=a.Pos,p=a.keyMap.default==a.keyMap.macDefault,q=p?"Cmd-":"Ctrl-",r=p?"Ctrl-":"Alt-";n[m[r+"Left"]="goSubwordLeft"]=function(a){c(a,-1)},n[m[r+"Right"]="goSubwordRight"]=function(a){c(a,1)},p&&(m["Cmd-Left"]="goLineStartSmart");var s=p?"Ctrl-Alt-":"Ctrl-";n[m[s+"Up"]="scrollLineUp"]=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},n[m[s+"Down"]="scrollLineDown"]=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},n[m["Shift-"+q+"L"]="splitSelectionByLine"]=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:o(g,0),head:g==f.line?f:o(g)});a.setSelections(c,0)},m["Shift-Tab"]="indentLess",n[m.Esc="singleSelectionTop"]=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},n[m[q+"L"]="selectLine"]=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:o(e.from().line,0),head:o(e.to().line+1,0)})}a.setSelections(c)},m["Shift-Ctrl-K"]="deleteLine",n[m[q+"Enter"]="insertLineAfter"]=function(a){return d(a,!1)},n[m["Shift-"+q+"Enter"]="insertLineBefore"]=function(a){return d(a,!0)},n[m[q+"D"]="selectNextOccurrence"]=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,o(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)};var t=p?"Shift-Cmd":"Alt-Ctrl";n[m[t+"Up"]="addCursorToPrevLine"]=function(a){f(a,-1)},n[m[t+"Down"]="addCursorToNextLine"]=function(a){f(a,1)};var u="(){}[]";n[m["Shift-"+q+"Space"]="selectScope"]=function(a){h(a)||a.execCommand("selectAll")},n[m["Shift-"+q+"M"]="selectBetweenBrackets"]=function(b){if(!h(b))return a.Pass},n[m[q+"M"]="goToBracket"]=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&o(e.pos.line,e.pos.ch+1)||c.head}))};var v=p?"Cmd-Ctrl-":"Shift-Ctrl-";n[m[v+"Up"]="swapLineUp"]=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:o(h.anchor.line-1,h.anchor.ch),head:o(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",o(c,0),o(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,o(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",o(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},n[m[v+"Down"]="swapLineDown"]=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",o(c-1),o(c),"+swapLine"):b.replaceRange("",o(c,0),o(c+1,0),"+swapLine"),b.replaceRange(f+"\n",o(e,0),null,"+swapLine")}b.scrollIntoView()}))},n[m[q+"/"]="toggleCommentIndented"]=function(a){a.toggleComment({indent:!0})},n[m[q+"J"]="joinLines"]=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&o(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=o(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",o(j),o(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},n[m["Shift-"+q+"D"]="duplicateLine"]=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",o(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},p||(m[q+"T"]="transposeChars"),n[m.F9="sortLines"]=function(a){i(a,!0)},n[m[q+"F9"]="sortLinesInsensitive"]=function(a){i(a,!1)},n[m.F2="nextBookmark"]=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},n[m["Shift-F2"]="prevBookmark"]=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},n[m[q+"F2"]="toggleBookmark"]=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},n[m["Shift-"+q+"F2"]="clearBookmarks"]=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},n[m["Alt-F2"]="selectBookmarks"]=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m["Alt-Q"]="wrapLines";var w=q+"K ";m[w+q+"Backspace"]="delLineLeft",n[m.Backspace="smartBackspace"]=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new o(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},n[m[w+q+"K"]="delLineRight"]=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,o(b[c].to().line),"+delete");a.scrollIntoView()}))},n[m[w+q+"U"]="upcaseAtCursor"]=function(a){j(a,(function(a){return a.toUpperCase()}))},n[m[w+q+"L"]="downcaseAtCursor"]=function(a){j(a,(function(a){return a.toLowerCase()}))},n[m[w+q+"Space"]="setSublimeMark"]=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},n[m[w+q+"A"]="selectToSublimeMark"]=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},n[m[w+q+"W"]="deleteToSublimeMark"]=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},n[m[w+q+"X"]="swapWithSublimeMark"]=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},n[m[w+q+"Y"]="sublimeYank"]=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m[w+q+"G"]="clearBookmarks",n[m[w+q+"C"]="showInCenter"]=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)};var x=p?"Ctrl-Shift-":"Ctrl-Alt-";n[m[x+"Up"]="selectLinesUpward"]=function(a){a.operation((function(){for(var b=a.listSelections(),c=0;c<b.length;c++){var d=b[c];d.head.line>a.firstLine()&&a.addSelection(o(d.head.line-1,d.head.ch))}}))},n[m[x+"Down"]="selectLinesDownward"]=function(a){a.operation((function(){for(var b=a.listSelections(),c=0;c<b.length;c++){var d=b[c];d.head.line<a.lastLine()&&a.addSelection(o(d.head.line+1,d.head.ch))}}))},n[m[q+"F3"]="findUnder"]=function(a){l(a,!0)},n[m["Shift-"+q+"F3"]="findUnderPrevious"]=function(a){l(a,!1)},n[m["Alt-F3"]="findAllUnder"]=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}},m["Shift-"+q+"["]="fold",m["Shift-"+q+"]"]="unfold",m[w+q+"0"]=m[w+q+"J"]="unfoldAll",m[q+"I"]="findIncremental",m["Shift-"+q+"I"]="findIncrementalReverse",m[q+"H"]="replace",m.F3="findNext",m["Shift-F3"]="findPrev",a.normalizeKeyMap(m)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(n(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(n(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return n(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=n(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:n(c.line,d),to:n(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line"),h=a.findPosV(f.head,b,"line"),i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(b){for(var c=b.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=f.head,h=b.scanForBracket(g,-1);if(!h)return!1;for(;;){var i=b.scanForBracket(g,1);if(!i)return!1;if(i.ch==o.charAt(o.indexOf(h.ch)+1)){var j=n(h.pos.line,h.pos.ch+1);if(0!=a.cmpPos(j,f.from())||0!=a.cmpPos(i.pos,f.to())){d.push({anchor:j,head:i.pos});break}if(h=b.scanForBracket(h.pos,-1),!h)return!1}g=n(i.pos.line,i.pos.ch+1)}}return b.setSelections(d),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=n(g,0),j=n(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:n(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?n(a.firstLine(),0):a.clipPos(n(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.commands,n=a.Pos;m.goSubwordLeft=function(a){c(a,-1)},m.goSubwordRight=function(a){c(a,1)},m.scrollLineUp=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},m.scrollLineDown=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},m.splitSelectionByLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:n(g,0),head:g==f.line?f:n(g)});a.setSelections(c,0)},m.singleSelectionTop=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},m.selectLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:n(e.from().line,0),head:n(e.to().line+1,0)})}a.setSelections(c)},m.insertLineAfter=function(a){return d(a,!1)},m.insertLineBefore=function(a){return d(a,!0)},m.selectNextOccurrence=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,n(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)},m.addCursorToPrevLine=function(a){f(a,-1)},m.addCursorToNextLine=function(a){f(a,1)};var o="(){}[]";m.selectScope=function(a){h(a)||a.execCommand("selectAll")},m.selectBetweenBrackets=function(b){if(!h(b))return a.Pass},m.goToBracket=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&n(e.pos.line,e.pos.ch+1)||c.head}))},m.swapLineUp=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:n(h.anchor.line-1,h.anchor.ch),head:n(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,n(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",n(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},m.swapLineDown=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",n(c-1),n(c),"+swapLine"):b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),b.replaceRange(f+"\n",n(e,0),null,"+swapLine")}b.scrollIntoView()}))},m.toggleCommentIndented=function(a){a.toggleComment({indent:!0})},m.joinLines=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&n(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=n(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",n(j),n(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},m.duplicateLine=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",n(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},m.sortLines=function(a){i(a,!0)},m.sortLinesInsensitive=function(a){i(a,!1)},m.nextBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},m.prevBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},m.toggleBookmark=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},m.clearBookmarks=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},m.selectBookmarks=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m.smartBackspace=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new n(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},m.delLineRight=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,n(b[c].to().line),"+delete");a.scrollIntoView()}))},m.upcaseAtCursor=function(a){j(a,(function(a){return a.toUpperCase()}))},m.downcaseAtCursor=function(a){j(a,(function(a){return a.toLowerCase()}))},m.setSublimeMark=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},m.selectToSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},m.deleteToSublimeMark=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},m.swapWithSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},m.sublimeYank=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m.showInCenter=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)},m.findUnder=function(a){l(a,!0)},m.findUnderPrevious=function(a){l(a,!1)},m.findAllUnder=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}};var p=a.keyMap;p.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},a.normalizeKeyMap(p.macSublime),p.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},a.normalizeKeyMap(p.pcSublime);var q=p.default==p.macDefault;p.sublime=q?p.macSublime:p.pcSublime})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/vim.js b/media/editors/codemirror/keymap/vim.js index d8a2d60d416c5..b082268183720 100644 --- a/media/editors/codemirror/keymap/vim.js +++ b/media/editors/codemirror/keymap/vim.js @@ -255,20 +255,67 @@ } function detachVimMap(cm, next) { - if (this == CodeMirror.keyMap.vim) + if (this == CodeMirror.keyMap.vim) { CodeMirror.rmClass(cm.getWrapperElement(), "cm-fat-cursor"); + if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { + disableFatCursorMark(cm); + cm.getInputField().style.caretColor = ""; + } + } if (!next || next.attach != attachVimMap) leaveVimMode(cm); } function attachVimMap(cm, prev) { - if (this == CodeMirror.keyMap.vim) + if (this == CodeMirror.keyMap.vim) { CodeMirror.addClass(cm.getWrapperElement(), "cm-fat-cursor"); + if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { + enableFatCursorMark(cm); + cm.getInputField().style.caretColor = "transparent"; + } + } if (!prev || prev.attach != attachVimMap) enterVimMode(cm); } + function fatCursorMarks(cm) { + var ranges = cm.listSelections(), result = [] + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i] + if (range.empty()) { + if (range.anchor.ch < cm.getLine(range.anchor.line).length) { + result.push(cm.markText(range.anchor, Pos(range.anchor.line, range.anchor.ch + 1), + {className: "cm-fat-cursor-mark"})) + } else { + var widget = document.createElement("span") + widget.textContent = "\u00a0" + widget.className = "cm-fat-cursor-mark" + result.push(cm.setBookmark(range.anchor, {widget: widget})) + } + } + } + return result + } + + function updateFatCursorMark(cm) { + var marks = cm.state.fatCursorMarks + if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() + cm.state.fatCursorMarks = fatCursorMarks(cm) + } + + function enableFatCursorMark(cm) { + cm.state.fatCursorMarks = fatCursorMarks(cm) + cm.on("cursorActivity", updateFatCursorMark) + } + + function disableFatCursorMark(cm) { + var marks = cm.state.fatCursorMarks + if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() + cm.state.fatCursorMarks = null + cm.off("cursorActivity", updateFatCursorMark) + } + // Deprecated, simply setting the keymap works again. CodeMirror.defineOption('vimMode', false, function(cm, val, prev) { if (val && cm.getOption("keyMap") != "vim") @@ -2034,7 +2081,8 @@ vimGlobalState.registerController.pushText( args.registerName, 'delete', text, args.linewise, vim.visualBlock); - return clipCursorToContent(cm, finalHead); + var includeLineBreak = vim.insertMode + return clipCursorToContent(cm, finalHead, includeLineBreak); }, indent: function(cm, args, ranges) { var vim = cm.state.vim; @@ -2589,25 +2637,32 @@ incrementNumberToken: function(cm, actionArgs) { var cur = cm.getCursor(); var lineStr = cm.getLine(cur.line); - var re = /-?\d+/g; + var re = /(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi; var match; var start; var end; var numberStr; - var token; while ((match = re.exec(lineStr)) !== null) { - token = match[0]; start = match.index; - end = start + token.length; + end = start + match[0].length; if (cur.ch < end)break; } if (!actionArgs.backtrack && (end <= cur.ch))return; - if (token) { + if (match) { + var baseStr = match[2] || match[4] + var digits = match[3] || match[5] var increment = actionArgs.increase ? 1 : -1; - var number = parseInt(token) + (increment * actionArgs.repeat); + var base = {'0b': 2, '0': 8, '': 10, '0x': 16}[baseStr.toLowerCase()]; + var number = parseInt(match[1] + digits, base) + (increment * actionArgs.repeat); + numberStr = number.toString(base); + var zeroPadding = baseStr ? new Array(digits.length - numberStr.length + 1 + match[1].length).join('0') : '' + if (numberStr.charAt(0) === '-') { + numberStr = '-' + baseStr + zeroPadding + numberStr.substr(1); + } else { + numberStr = baseStr + zeroPadding + numberStr; + } var from = Pos(cur.line, start); var to = Pos(cur.line, end); - numberStr = number.toString(); cm.replaceRange(numberStr, from, to); } else { return; @@ -3244,7 +3299,7 @@ return cur; } - /** + /* * Returns the boundaries of the next word. If the cursor in the middle of * the word, then returns the boundaries of the current word, starting at * the cursor. If the cursor is at the start/end of a word, and we are going @@ -3978,6 +4033,15 @@ var history = cm.doc.history.done; var event = history[history.length - 2]; return event && event.ranges && event.ranges[0].head; + } else if (markName == '.') { + if (cm.doc.history.lastModTime == 0) { + return // If no changes, bail out; don't bother to copy or reverse history array. + } else { + var changeHistory = cm.doc.history.done.filter(function(el){ if (el.changes !== undefined) { return el } }); + changeHistory.reverse(); + var lastEditPos = changeHistory[0].changes[0].to; + } + return lastEditPos; } var mark = vim.marks[markName]; @@ -4788,7 +4852,8 @@ // so as to update the ". register as expected in real vim. var text = []; if (!isPlaying) { - var selLength = lastChange.inVisualBlock ? vim.lastSelection.visualBlock.height : 1; + var selLength = lastChange.inVisualBlock && vim.lastSelection ? + vim.lastSelection.visualBlock.height : 1; var changes = lastChange.changes; var text = []; var i = 0; diff --git a/media/editors/codemirror/keymap/vim.min.js b/media/editors/codemirror/keymap/vim.min.js index f86805c3cce8a..de60763a08ec8 100644 --- a/media/editors/codemirror/keymap/vim.min.js +++ b/media/editors/codemirror/keymap/vim.min.js @@ -1,3 +1,3 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",bb),x(b),a.on(b.getInputField(),"paste",k(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",bb),a.off(b.getInputField(),"paste",k(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&a.addClass(b.getWrapperElement(),"cm-fat-cursor"),c&&c.attach==h||e(b)}function i(b,c){if(c){if(this[b])return this[b];var d=j(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function j(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ib?b[e]=ib[f]:d=!0,f in jb&&(b[e]=jb[f])}return!!d&&(q(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function k(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(L(a.getCursor(),0,1)),Bb.enterInsertMode(a,{},b))}),b.onPasteFn}function l(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function m(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function n(a){return/^[a-z]$/.test(a)}function o(a){return"()[]{}".indexOf(a)!=-1}function p(a){return kb.test(a)}function q(a){return/^[A-Z]$/.test(a)}function r(a){return/^\s*$/.test(a)}function s(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function t(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),sb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)sb[d[f]]=sb[a];b&&u(a,b)}function u(a,b,c,d){var e=sb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function v(a,b,c){var d=sb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function w(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=ub()}function x(a){return a.state.vim||(a.state.vim={inputState:new z,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function y(){vb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:tb(),macroModeState:new w,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new D({}),searchHistoryController:new E,exCommandHistoryController:new E};for(var a in sb){var b=sb[a];b.value=b.defaultValue}}function z(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function A(b,c){b.state.vim.inputState=new z,a.signal(b,"vim-command-done",c)}function B(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function C(a,b){var c=vb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,rb.push(a)}function D(a){this.registers=a,this.unnamedRegister=a['"']=new B,a["."]=new B,a[":"]=new B,a["/"]=new B}function E(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function F(a,b){zb[a]=b}function G(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function H(a,b){Ab[a]=b}function I(a,b){Bb[a]=b}function J(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=X(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function K(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function L(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function M(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function N(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=O(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function O(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function P(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function Q(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function R(a){return d(a.line,a.ch)}function S(a,b){return a.ch==b.ch&&a.line==b.line}function T(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function U(a,b){return arguments.length>2&&(b=U.apply(void 0,Array.prototype.slice.call(arguments,1))),T(a,b)?a:b}function V(a,b){return arguments.length>2&&(b=V.apply(void 0,Array.prototype.slice.call(arguments,1))),T(a,b)?b:a}function W(a,b,c){var d=T(a,b),e=T(b,c);return d&&e}function X(a,b){return a.getLine(b).length}function Y(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function Z(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function $(a,b,c){var e=X(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function _(a,b){var c=[],e=a.listSelections(),f=R(a.clipPos(b)),g=!S(b,f),h=a.getCursor("head"),i=ba(e,h),j=S(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function aa(a,b,c){for(var d=[],e=0;e<c;e++){var f=L(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function ba(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&S(a[d].anchor,b),f="anchor"!=c&&S(a[d].head,b);if(e||f)return d}return-1}function ca(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=T(c.anchor,c.head)?c.anchor:c.head,f=T(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,X(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function da(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:R(c),head:R(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ea(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return T(c,b)&&(e=c,c=b,b=e),T(g,h)?(g=U(b,g),h=V(h,c)):(h=U(b,h),g=V(g,c),g=L(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,X(a,g.line-1)))),[h,g]}function fa(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ga(a,b,c);a.setSelections(e.ranges,e.primary),cb(a)}function ga(a,b,c,e){var f=R(b.head),g=R(b.anchor);if("char"==c){var h=e||T(b.head,b.anchor)?0:1,i=T(b.head,b.anchor)?1:0;return f=L(b.head,0,h),g=L(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(T(b.head,b.anchor))f.ch=0,g.ch=X(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=X(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function ha(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=U(b,a.getCursor("anchor"))),b}function ia(b,c){var d=b.state.vim;c!==!1&&b.setCursor(J(b,d.sel.head)),da(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function ja(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&r(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=X(a,c.line)):c.ch=0}}function ka(a,b,c){b.ch=0,c.ch=0,c.line++}function la(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function ma(a,b,c,e,f){for(var g=ha(a),h=a.getLine(g.line),i=g.ch,j=f?lb[0]:mb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=mb[0]:(j=lb[0],j(h.charAt(i))||(j=lb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function na(a,b,c){S(b,c)||vb.jumpList.add(a,b,c)}function oa(a,b){vb.lastCharacterSearch.increment=a,vb.lastCharacterSearch.forward=b.forward,vb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function pa(a,b,c,e){var f=R(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Cb[e];if(!m)return f;var n=Db[m].init,o=Db[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function qa(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?mb:lb;if(e&&""==h){if(f+=i,h=a.getLine(f),!m(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,n=k;g!=k;){for(var o=!1,p=0;p<j.length&&!o;++p)if(j[p](h.charAt(g))){for(l=g;g!=k&&j[p](h.charAt(g));)g+=i;if(n=g,o=l!=n,l==b.ch&&f==b.line&&n==l+i)continue;return{from:Math.min(l,n+1),to:Math.max(l,n),line:f}}o||(g+=i)}if(f+=i,!m(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function ra(a,b,c,e,f,g){var h=R(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=qa(a,b,e,g,j);if(!l){var m=X(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function sa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=va(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function ta(a,b){var c=a.getCursor().line;return J(a,d(c,b-1))}function ua(a,b,c,d){s(c,qb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function va(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function wa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function xa(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function ya(a,b,c,e){var f,g,h,i,j=R(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function za(){}function Aa(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new za)}function Ba(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ca(a){var b=Da(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Da(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ea(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Fa(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Eb[e+f]?(c.push(Eb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,p(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ga(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Fb)if(c.match(f,!0)){e=!0,d.push(Fb[f]);break}e||d.push(c.next())}return d.join("")}function Ha(a,b,c){var d=vb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Da(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;v("pcre")||(e=Ea(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ia(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Ja(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Ka(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Ja(b.prefix,b.desc);Ba(a,d,c,b.onClose,b)}function La(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Ma(a,b,c,d){if(b){var e=Aa(a),f=Ha(b,!!c,!!d);if(f)return Oa(a,f),La(f,e.getQuery())?f:(e.setQuery(f),f)}}function Na(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Oa(a,b){var c=Aa(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Na(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Pa(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&S(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Qa(a){var b=Aa(a);a.removeOverlay(Aa(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Ra(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?s(a,b):c?a>=b&&a<=c:a==b}function Sa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Ta(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}var f=b.marks[c];return f&&f.find()}function Ua(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Ra(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ia(b,"No matches for "+h.source):c?void Ka(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Va(b){var c=b.state.vim,d=vb.macroModeState,e=vb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof eb?k++:k+=i;g.changes=h,b.off("change",ab),a.off(b.getInputField(),"keydown",fb)}!f&&c.insertModeRepeat>1&&(gb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&$a(d)}function Wa(a){b.unshift(a)}function Xa(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];Wa(f)}function Ya(b,c,d,e){var f=vb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Jb.processCommand(b,f.keyBuffer[0]), -void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;vb.macroModeState.lastInsertModeChanges.changes=m,hb(b,m,1),Va(b)}d.isPlaying=!1}function Za(a,b){if(!a.isPlaying){var c=a.latestRegister,d=vb.registerController.getRegister(c);d&&d.pushText(b)}}function $a(a){if(!a.isPlaying){var b=a.latestRegister,c=vb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function _a(a,b){if(!a.isPlaying){var c=a.latestRegister,d=vb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function ab(a,b){var c=vb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function bb(a){var b=a.state.vim;if(b.insertMode){var c=vb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||db(a,b);b.visualMode&&cb(a)}function cb(a){var b=a.state.vim,c=J(a,R(b.sel.head)),d=L(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function db(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ia(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=T(e,d)?0:-1,g=T(e,d)?-1:0;e=L(e,0,f),d=L(d,0,g),c.sel={anchor:d,head:e},ua(b,c,"<",U(e,d)),ua(b,c,">",V(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function eb(a){this.keyName=a}function fb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new eb(f)),!0}var d=vb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function gb(a,b,c,d){function e(){h?yb.processAction(a,b,b.lastEditActionCommand):yb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;hb(a,d.changes,c)}}var g=vb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Va(a),g.isPlaying=!1}function hb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=vb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=M(i.anchor,i.head);aa(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(L(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof eb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=L(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(L(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ib={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},jb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},kb=/[\d]/,lb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],mb=[function(a){return/\S/.test(a)}],nb=l(65,26),ob=l(97,26),pb=l(48,10),qb=[].concat(nb,ob,pb,["<",">"]),rb=[].concat(nb,ob,pb,["-",'"',".",":","/"]),sb={};t("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var tb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!S(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!S(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},ub=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};w.prototype={exitMacroRecordMode:function(){var a=vb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=vb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var vb,wb,xb={buildKeyMap:function(){},getRegisterController:function(){return vb.registerController},resetVimGlobalState_:y,getVimGlobalState_:function(){return vb},maybeInitVimState_:x,suppressErrorLogging:!1,InsertModeKey:eb,map:function(a,b,c){Jb.map(a,b,c)},unmap:function(a,b){Jb.unmap(a,b)},setOption:u,getOption:v,defineOption:t,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ib[a]=c,Jb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=vb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),A(c),!0;"mapping"!=e&&Za(a,d)}}function g(){if("<Esc>"==d)return A(c),l.visualMode?ia(c):l.insertMode&&Va(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=yb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=yb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return A(c),!1;if("partial"==f.type)return wb&&window.clearTimeout(wb),wb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&A(c)}),v("insertModeEscKeysTimeout")),!e;if(wb&&window.clearTimeout(wb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",L(k,0,-(a.length-1)),k,"+input")}vb.macroModeState.lastInsertModeChanges.changes.pop()}return A(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return A(c),!1;var h=l.visualMode?"visual":"normal",i=yb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return A(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=x(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):yb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,x(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Jb.processCommand(a,b)},defineMotion:F,defineAction:I,defineOperator:H,mapCommand:Xa,_mapCommand:Wa,defineRegister:C,exitVisualMode:ia,exitInsertMode:Va};z.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},z.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},B.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(ub(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},D.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new B(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new B(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new B(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=q(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new B),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&s(a,rb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},E.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var yb={matchCommand:function(a,b,c,d){var e=N(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=P(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=K(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);A(a)}d.operator=c.operator,d.operatorArgs=K(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=K(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=K(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,A(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Bb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){vb.searchHistoryController.pushInput(a),vb.searchHistoryController.reset();try{Ma(b,a,e,f)}catch(c){return Ia(b,"Invalid regex: "+a),void A(b)}yb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=vb.macroModeState;c.isRecording&&_a(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=vb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&vb.searchHistoryController.reset();var j;try{j=Ma(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Pa(b,!i,j),30):(Qa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(vb.searchHistoryController.pushInput(d),vb.searchHistoryController.reset(),Ma(b,l),Qa(b),b.scrollTo(m.left,m.top),a.e_stop(c),A(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Aa(b).setReversed(!i);var k=i?"/":"?",l=Aa(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=vb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Ka(b,{onClose:f,prefix:k,desc:Gb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=ma(b,!1,!0,!1,!0),q=!0;if(p||(p=ma(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":Z(o),vb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){vb.exCommandHistoryController.pushInput(a),vb.exCommandHistoryController.reset(),Jb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(vb.exCommandHistoryController.pushInput(d),vb.exCommandHistoryController.reset(),a.e_stop(c),A(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=vb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&vb.exCommandHistoryController.reset()}"keyToEx"==d.type?Jb.processCommand(b,d.exArgs.input):c.visualMode?Ka(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Ka(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=R(b.visualMode?J(a,m.head):a.getCursor("head")),o=R(b.visualMode?J(a,m.anchor):a.getCursor("anchor")),p=R(n),q=R(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,A(a),h){var r=zb[h](a,n,i,b);if(b.lastMotion=zb[h],!r)return;if(i.toJumplist){var s=vb.jumpList,t=s.cachedCursor;t?(na(a,t,r),delete s.cachedCursor):na(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=R(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=J(a,c,b.visualBlock)),e&&(e=J(a,e,!0)),e=e||q,m.anchor=e,m.head=c,fa(a),ua(a,b,"<",T(e,c)?e:c),ua(a,b,">",T(e,c)?c:e)):j||(c=J(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},fa(a)}else b.visualMode&&(k.lastSel={anchor:R(m.anchor),head:R(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,B,C;if(b.visualMode){if(x=U(m.head,m.anchor),y=V(m.head,m.anchor),z=b.visualLine||k.linewise,B=b.visualBlock?"block":z?"line":"char",C=ga(a,{anchor:x,head:y},B),z){var D=C.ranges;if("block"==B)for(var E=0;E<D.length;E++)D[E].head.ch=X(a,D[E].head.line);else"line"==B&&(D[0].head=d(D[0].head.line+1,0))}}else{if(x=R(e||q),y=R(c||p),T(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?ka(a,x,y):i.forward&&ja(a,x,y),B="char";var G=!i.inclusive||z;C=ga(a,{anchor:x,head:y},B,G)}a.setSelections(C.ranges,C.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Ab[j](a,k,C.ranges,q,c);b.visualMode&&ia(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=vb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},zb={moveToTopLine:function(a,b,c){var e=Sa(a).top+c.repeat-1;return d(e,la(a.getLine(e)))},moveToMiddleLine:function(a){var b=Sa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,la(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Sa(a).bottom-c.repeat+1;return d(e,la(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Aa(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Oa(a,e),Pa(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Ta(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:la(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[J(a,d(f.anchor.line,f.head.ch)),J(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(n(i)){var j=e.marks[i].find(),k=c.forward?T(j,h):T(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=S(h,f),m=c.forward?W(h,j,f):W(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,la(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=la(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return wa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=zb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return ra(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=sa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return oa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return oa(0,c),sa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return pa(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,ta(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,la(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&o(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,la(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=xa(a,b,g,i);else if(f[g])h=ya(a,b,g,i);else if("W"===g)h=ma(a,i,!0,!0);else if("w"===g)h=ma(a,i,!0,!1);else{if("p"!==g)return null;if(h=wa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ea(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=vb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=sa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Ab={change:function(b,c,e){var f,g,h=b.state.vim;if(vb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=G("",e.length);b.replaceSelections(i),f=U(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!r(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=L(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}vb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Bb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=G("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,X(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=zb.moveToFirstNonWhiteSpaceCharacter(a,i))}return vb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock),J(a,e)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return zb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=q(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?zb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:U(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?U(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return vb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Bb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=vb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=R(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=vb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)Ya(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=vb.macroModeState,d=b.selectedCharacter;vb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,X(b,h.line));else if("charAfter"==f)h=L(h,0,1);else if("firstNonBlank"==f)h=zb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?L(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),vb.macroModeState.isPlaying||(b.on("change",ab),a.on(b.getInputField(),"keydown",fb)),e.visualMode&&ia(b),aa(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),fa(b)):ia(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=J(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),fa(b),ua(b,e,"<",U(h,f)),ua(b,e,">",V(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&da(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,fa(b),ua(b,d,"<",U(f,g)),ua(b,d,">",V(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),T(f,e)){var g=f;f=e,e=g}f.ch=X(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=J(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=X(a,e.line);var g=d(e.line+1,X(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ia(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=R(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=X(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=R(a.getCursor()),f=vb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=X(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ca(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),vb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),_(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=X(a,A);B<e.ch&&$(a,A,e.ch)}a.setCursor(e),_(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,la(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,la(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ia(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){Q(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){Q(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ua(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=T(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ia(b,!1)):b.setCursor(L(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h,i=a.getCursor(),j=a.getLine(i.line),k=/-?\d+/g;null!==(c=k.exec(j))&&(h=c[0],e=c.index,f=e+h.length,!(i.ch<f)););if((b.backtrack||!(f<=i.ch))&&h){var l=b.increase?1:-1,m=parseInt(h)+l*b.repeat,n=d(i.line,e),o=d(i.line,f);g=m.toString(),a.replaceRange(g,n,o),a.setCursor(d(i.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,gb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Va},Cb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Db={bracket:{isComplete:function(a){ -if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};t("pcre",!0,"boolean"),za.prototype={getQuery:function(){return vb.query},setQuery:function(a){vb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return vb.isReversed},setReversed:function(a){vb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Eb={"\\n":"\n","\\r":"\r","\\t":"\t"},Fb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Gb="(Javascript regexp)",Hb=function(){this.buildCommandMap_()};Hb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=vb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ia(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ia(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ia(b,'Not an editor command ":'+c+'"');try{Ib[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ia(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Ta(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=Y(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ib={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ia(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ia(a,"Invalid mapping: "+b.input)):void Jb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ia(a,"No such mapping: "+b.input)):void Jb.unmap(d[0],c)},move:function(a,b){yb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ia(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=sb[f]&&"boolean"==sb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=v(f,a,d);j instanceof Error?Ia(a,j.message):j===!0||j===!1?Ia(a," "+(j?"":"no")+f):Ia(a," "+f+"="+j)}else{var k=u(f,g,a,d);k instanceof Error&&Ia(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=vb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),vb.registerController.isValidRegister(f)){var h=d[f]||new B;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ia(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ia(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,X(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ia(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ca(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Ma(a,h,!0,!0)}catch(b){return void Ia(a,"Invalid regex: "+h)}for(var i=Aa(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ia(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Jb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ca(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=v("pcre")?Ga(j):Fa(j),vb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ia(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Ma(a,c,!0,!0)}catch(b){return void Ia(a,"Invalid regex: "+c)}if(j=j||vb.lastSubstituteReplacePart,void 0===j)return void Ia(a,"No previous substitute regular expression");var m=Aa(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=J(a,d(o,0)),r=a.getSearchCursor(n,q);Ua(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Qa(a)},yank:function(a){var b=R(a.getCursor()),c=b.line,d=a.getLine(c);vb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!Y(c.argString))return void Ia(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(Y(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ia(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ia(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(n(h)&&n(i)||q(h)&&q(i)))return void Ia(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ia(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Jb=new Hb;return a.keyMap.vim={attach:h,detach:g,call:i},t("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:i},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:i},y(),xb};a.Vim=e()})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[": +n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g), +(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/addons.js b/media/editors/codemirror/lib/addons.js index 1b8807219ebb2..1e8a8854818fc 100644 --- a/media/editors/codemirror/lib/addons.js +++ b/media/editors/codemirror/lib/addons.js @@ -250,7 +250,8 @@ if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; } cm.operation(function() { - cm.replaceSelection("\n\n", null); + var linesep = cm.lineSeparator() || "\n"; + cm.replaceSelection(linesep + linesep, null); cm.execCommand("goCharLeft"); ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { @@ -298,7 +299,8 @@ (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { curType = "addFour"; } else if (identical) { - if (!CodeMirror.isWordChar(next) && enteringString(cm, cur, ch)) curType = "both"; + var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) + if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both"; else return CodeMirror.Pass; } else if (opening && (cm.getLine(cur.line).length == cur.ch || isClosingBracket(next, pairs) || @@ -350,25 +352,10 @@ return str.length == 2 ? str : null; } - // Project the token type that will exists after the given char is - // typed, and use it to determine whether it would cause the start - // of a string token. - function enteringString(cm, pos, ch) { - var line = cm.getLine(pos.line); - var token = cm.getTokenAt(pos); - if (/\bstring2?\b/.test(token.type) || stringStartsAfter(cm, pos)) return false; - var stream = new CodeMirror.StringStream(line.slice(0, pos.ch) + ch + line.slice(pos.ch), 4); - stream.pos = stream.start = token.start; - for (;;) { - var type1 = cm.getMode().token(stream, token.state); - if (stream.pos >= pos.ch + 1) return /\bstring2?\b/.test(type1); - stream.start = stream.pos; - } - } - function stringStartsAfter(cm, pos) { var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1)) - return /\bstring/.test(token.type) && token.start == pos.ch + return /\bstring/.test(token.type) && token.start == pos.ch && + (pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos))) } }); @@ -427,13 +414,14 @@ function autoCloseGT(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), replacements = []; + var opt = cm.getOption("autoCloseTags"); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state; if (inner.mode.name != "xml" || !state.tagName) return CodeMirror.Pass; - var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html"; + var html = inner.mode.configuration == "html"; var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose); var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent); @@ -455,13 +443,14 @@ newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)}; } + var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnAutoClose); for (var i = ranges.length - 1; i >= 0; i--) { var info = replacements[i]; cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, "+insert"); var sel = cm.listSelections().slice(0); sel[i] = {head: info.newPos, anchor: info.newPos}; cm.setSelections(sel); - if (info.indent) { + if (!dontIndentOnAutoClose && info.indent) { cm.indentLine(info.newPos.line, null, true); cm.indentLine(info.newPos.line + 1, null, true); } @@ -471,6 +460,8 @@ function autoCloseCurrent(cm, typingSlash) { var ranges = cm.listSelections(), replacements = []; var head = typingSlash ? "/" : "</"; + var opt = cm.getOption("autoCloseTags"); + var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnSlash); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); @@ -501,9 +492,11 @@ } cm.replaceSelections(replacements); ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) - if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line) - cm.indentLine(ranges[i].head.line); + if (!dontIndentOnAutoClose) { + for (var i = 0; i < ranges.length; i++) + if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line) + cm.indentLine(ranges[i].head.line); + } } function autoCloseSlash(cm) { @@ -2229,7 +2222,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { for (var i = 1; i < lines.length - 1; i++) if (fold(doc.getLine(line + i)) != lines[i]) continue search var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1] - if (end.slice(0, lastLine.length) != lastLine) continue search + if (endString.slice(0, lastLine.length) != lastLine) continue search return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch), to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))} } @@ -2688,20 +2681,67 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } function detachVimMap(cm, next) { - if (this == CodeMirror.keyMap.vim) + if (this == CodeMirror.keyMap.vim) { CodeMirror.rmClass(cm.getWrapperElement(), "cm-fat-cursor"); + if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { + disableFatCursorMark(cm); + cm.getInputField().style.caretColor = ""; + } + } if (!next || next.attach != attachVimMap) leaveVimMode(cm); } function attachVimMap(cm, prev) { - if (this == CodeMirror.keyMap.vim) + if (this == CodeMirror.keyMap.vim) { CodeMirror.addClass(cm.getWrapperElement(), "cm-fat-cursor"); + if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { + enableFatCursorMark(cm); + cm.getInputField().style.caretColor = "transparent"; + } + } if (!prev || prev.attach != attachVimMap) enterVimMode(cm); } + function fatCursorMarks(cm) { + var ranges = cm.listSelections(), result = [] + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i] + if (range.empty()) { + if (range.anchor.ch < cm.getLine(range.anchor.line).length) { + result.push(cm.markText(range.anchor, Pos(range.anchor.line, range.anchor.ch + 1), + {className: "cm-fat-cursor-mark"})) + } else { + var widget = document.createElement("span") + widget.textContent = "\u00a0" + widget.className = "cm-fat-cursor-mark" + result.push(cm.setBookmark(range.anchor, {widget: widget})) + } + } + } + return result + } + + function updateFatCursorMark(cm) { + var marks = cm.state.fatCursorMarks + if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() + cm.state.fatCursorMarks = fatCursorMarks(cm) + } + + function enableFatCursorMark(cm) { + cm.state.fatCursorMarks = fatCursorMarks(cm) + cm.on("cursorActivity", updateFatCursorMark) + } + + function disableFatCursorMark(cm) { + var marks = cm.state.fatCursorMarks + if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() + cm.state.fatCursorMarks = null + cm.off("cursorActivity", updateFatCursorMark) + } + // Deprecated, simply setting the keymap works again. CodeMirror.defineOption('vimMode', false, function(cm, val, prev) { if (val && cm.getOption("keyMap") != "vim") @@ -4467,7 +4507,8 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { vimGlobalState.registerController.pushText( args.registerName, 'delete', text, args.linewise, vim.visualBlock); - return clipCursorToContent(cm, finalHead); + var includeLineBreak = vim.insertMode + return clipCursorToContent(cm, finalHead, includeLineBreak); }, indent: function(cm, args, ranges) { var vim = cm.state.vim; @@ -5022,25 +5063,32 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { incrementNumberToken: function(cm, actionArgs) { var cur = cm.getCursor(); var lineStr = cm.getLine(cur.line); - var re = /-?\d+/g; + var re = /(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi; var match; var start; var end; var numberStr; - var token; while ((match = re.exec(lineStr)) !== null) { - token = match[0]; start = match.index; - end = start + token.length; + end = start + match[0].length; if (cur.ch < end)break; } if (!actionArgs.backtrack && (end <= cur.ch))return; - if (token) { + if (match) { + var baseStr = match[2] || match[4] + var digits = match[3] || match[5] var increment = actionArgs.increase ? 1 : -1; - var number = parseInt(token) + (increment * actionArgs.repeat); + var base = {'0b': 2, '0': 8, '': 10, '0x': 16}[baseStr.toLowerCase()]; + var number = parseInt(match[1] + digits, base) + (increment * actionArgs.repeat); + numberStr = number.toString(base); + var zeroPadding = baseStr ? new Array(digits.length - numberStr.length + 1 + match[1].length).join('0') : '' + if (numberStr.charAt(0) === '-') { + numberStr = '-' + baseStr + zeroPadding + numberStr.substr(1); + } else { + numberStr = baseStr + zeroPadding + numberStr; + } var from = Pos(cur.line, start); var to = Pos(cur.line, end); - numberStr = number.toString(); cm.replaceRange(numberStr, from, to); } else { return; @@ -5677,7 +5725,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { return cur; } - /** + /* * Returns the boundaries of the next word. If the cursor in the middle of * the word, then returns the boundaries of the current word, starting at * the cursor. If the cursor is at the start/end of a word, and we are going @@ -6411,6 +6459,15 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { var history = cm.doc.history.done; var event = history[history.length - 2]; return event && event.ranges && event.ranges[0].head; + } else if (markName == '.') { + if (cm.doc.history.lastModTime == 0) { + return // If no changes, bail out; don't bother to copy or reverse history array. + } else { + var changeHistory = cm.doc.history.done.filter(function(el){ if (el.changes !== undefined) { return el } }); + changeHistory.reverse(); + var lastEditPos = changeHistory[0].changes[0].to; + } + return lastEditPos; } var mark = vim.marks[markName]; @@ -7221,7 +7278,8 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { // so as to update the ". register as expected in real vim. var text = []; if (!isPlaying) { - var selLength = lastChange.inVisualBlock ? vim.lastSelection.visualBlock.height : 1; + var selLength = lastChange.inVisualBlock && vim.lastSelection ? + vim.lastSelection.visualBlock.height : 1; var changes = lastChange.changes; var text = []; var i = 0; @@ -7682,14 +7740,14 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]}, {name: "NTriples", mimes: ["application/n-triples", "application/n-quads", "text/n-triples"], mode: "ntriples", ext: ["nt", "nq"]}, - {name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, + {name: "Objective-C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, {name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]}, {name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]}, {name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]}, {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, - {name: "PHP", mime: "application/x-httpd-php", mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, + {name: "PHP", mime: ["application/x-httpd-php", "text/x-php"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, diff --git a/media/editors/codemirror/lib/addons.min.js b/media/editors/codemirror/lib/addons.min.js index fb0d4ca28cef1..9b743339b995d 100644 --- a/media/editors/codemirror/lib/addons.min.js +++ b/media/editors/codemirror/lib/addons.min.js @@ -1,5 +1,5 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:n[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";p[e]||(p[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",o(j.line,j.ch-1),o(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){c.replaceSelection("\n\n",null),c.execCommand("goCharLeft"),g=c.listSelections();for(var a=0;a<g.length;a++){var b=g[a].head.line;c.indentLine(b,null,!0),c.indentLine(b+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new o(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new o(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,n=b(f,"triples"),p=g.charAt(i+1)==d,q=c.listSelections(),r=i%2==0,s=0;s<q.length;s++){var t,u=q[s],v=u.head,w=c.getRange(v,o(v.line,v.ch+1));if(r&&!u.empty())t="surround";else if(!p&&r||w!=d)if(p&&v.ch>1&&n.indexOf(d)>=0&&c.getRange(o(v.line,v.ch-2),v)==d+d&&(v.ch<=2||c.getRange(o(v.line,v.ch-3),o(v.line,v.ch-2))!=d))t="addFour";else if(p){if(a.isWordChar(w)||!l(c,v,d))return a.Pass;t="both"}else{if(!r||c.getLine(v.line).length!=v.ch&&!j(w,g)&&!/\s/.test(w))return a.Pass;t="both"}else t=p&&m(c,v)?"both":n.indexOf(d)>=0&&c.getRange(v,o(v.line,v.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=t)return a.Pass}else k=t}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(o(b.line,b.ch-1),o(b.line,b.ch+1));return 2==c.length?c:null}function l(b,c,d){var e=b.getLine(c.line),f=b.getTokenAt(c);if(/\bstring2?\b/.test(f.type)||m(b,c))return!1;var g=new a.StringStream(e.slice(0,c.ch)+d+e.slice(c.ch),4);for(g.pos=g.start=f.start;;){var h=b.getMode().token(g,f.state);if(g.pos>=c.ch+1)return/\bstring2?\b/.test(h);g.start=g.pos}}function m(a,b){var c=a.getTokenAt(o(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch}var n={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},o=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(p),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(p))}));var p={Backspace:f,Enter:g};c(n.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=0;i<c.length;i++){if(!c[i].empty())return a.Pass;var j=c[i].head,k=b.getTokenAt(j),l=a.innerMode(b.getMode(),k.state),m=l.state;if("xml"!=l.mode.name||!m.tagName)return a.Pass;var n=b.getOption("autoCloseTags"),o="html"==l.mode.configuration,p="object"==typeof n&&n.dontCloseTags||o&&g,q="object"==typeof n&&n.indentTags||o&&h,r=m.tagName;k.end>j.ch&&(r=r.slice(0,r.length-k.end+j.ch));var s=r.toLowerCase();if(!r||"string"==k.type&&(k.end!=j.ch||!/[\"\']/.test(k.string.charAt(k.string.length-1))||1==k.string.length)||"tag"==k.type&&"closeTag"==m.type||k.string.indexOf("/")==k.string.length-1||p&&e(p,s)>-1||f(b,r,j,m,!0))return a.Pass;var t=q&&e(q,s)>-1;d[i]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(j.line+1,0):a.Pos(j.line,j.ch+1)}}for(var i=c.length-1;i>=0;i--){var u=d[i];b.replaceRange(u.text,c[i].head,c[i].anchor,"+insert");var v=b.listSelections().slice(0);v[i]={head:u.newPos,anchor:u.newPos},b.setSelections(v),u.indent&&(b.indentLine(u.newPos.line,null,!0),b.indentLine(u.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=0;h<d.length;h++){if(!d[h].empty())return a.Pass;var i=d[h].head,j=b.getTokenAt(i),k=a.innerMode(b.getMode(),j.state),l=k.state;if(c&&("string"==j.type||"<"!=j.string.charAt(0)||j.start!=i.ch-1))return a.Pass;var m;if("xml"!=k.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==k.mode.name)m=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=k.mode.name)return a.Pass;m=g+"style"}else{if(!l.context||!l.context.tagName||f(b,l.context.tagName,i,l))return a.Pass;m=g+l.context.tagName}">"!=b.getLine(i.line).charAt(j.end)&&(m+=">"),e[h]=m}b.replaceSelections(e),d=b.listSelections();for(var h=0;h<d.length;h++)(h==d.length-1||d[h].head.line<d[h+1].head.line)&&b.indentLine(d[h].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||d.line!=b.line||!(e=g(d)))return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen),!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){ -var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(s.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",bb),x(b),a.on(b.getInputField(),"paste",k(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",bb),a.off(b.getInputField(),"paste",k(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&a.addClass(b.getWrapperElement(),"cm-fat-cursor"),c&&c.attach==h||e(b)}function i(b,c){if(c){if(this[b])return this[b];var d=j(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function j(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ib?b[e]=ib[f]:d=!0,f in jb&&(b[e]=jb[f])}return!!d&&(q(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function k(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(L(a.getCursor(),0,1)),Bb.enterInsertMode(a,{},b))}),b.onPasteFn}function l(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function m(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function n(a){return/^[a-z]$/.test(a)}function o(a){return"()[]{}".indexOf(a)!=-1}function p(a){return kb.test(a)}function q(a){return/^[A-Z]$/.test(a)}function r(a){return/^\s*$/.test(a)}function s(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function t(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),sb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)sb[d[f]]=sb[a];b&&u(a,b)}function u(a,b,c,d){var e=sb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function v(a,b,c){var d=sb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function w(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=ub()}function x(a){return a.state.vim||(a.state.vim={inputState:new z,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function y(){vb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:tb(),macroModeState:new w,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new D({}),searchHistoryController:new E,exCommandHistoryController:new E};for(var a in sb){var b=sb[a];b.value=b.defaultValue}}function z(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function A(b,c){b.state.vim.inputState=new z,a.signal(b,"vim-command-done",c)}function B(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function C(a,b){var c=vb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,rb.push(a)}function D(a){this.registers=a,this.unnamedRegister=a['"']=new B,a["."]=new B,a[":"]=new B,a["/"]=new B}function E(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function F(a,b){zb[a]=b}function G(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function H(a,b){Ab[a]=b}function I(a,b){Bb[a]=b}function J(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=X(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function K(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function L(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function M(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function N(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=O(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function O(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function P(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function Q(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function R(a){return d(a.line,a.ch)}function S(a,b){return a.ch==b.ch&&a.line==b.line}function T(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function U(a,b){return arguments.length>2&&(b=U.apply(void 0,Array.prototype.slice.call(arguments,1))),T(a,b)?a:b}function V(a,b){return arguments.length>2&&(b=V.apply(void 0,Array.prototype.slice.call(arguments,1))),T(a,b)?b:a}function W(a,b,c){var d=T(a,b),e=T(b,c);return d&&e}function X(a,b){return a.getLine(b).length}function Y(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function Z(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function $(a,b,c){var e=X(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function _(a,b){var c=[],e=a.listSelections(),f=R(a.clipPos(b)),g=!S(b,f),h=a.getCursor("head"),i=ba(e,h),j=S(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--, -j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function aa(a,b,c){for(var d=[],e=0;e<c;e++){var f=L(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function ba(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&S(a[d].anchor,b),f="anchor"!=c&&S(a[d].head,b);if(e||f)return d}return-1}function ca(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=T(c.anchor,c.head)?c.anchor:c.head,f=T(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,X(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function da(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:R(c),head:R(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ea(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return T(c,b)&&(e=c,c=b,b=e),T(g,h)?(g=U(b,g),h=V(h,c)):(h=U(b,h),g=V(g,c),g=L(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,X(a,g.line-1)))),[h,g]}function fa(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ga(a,b,c);a.setSelections(e.ranges,e.primary),cb(a)}function ga(a,b,c,e){var f=R(b.head),g=R(b.anchor);if("char"==c){var h=e||T(b.head,b.anchor)?0:1,i=T(b.head,b.anchor)?1:0;return f=L(b.head,0,h),g=L(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(T(b.head,b.anchor))f.ch=0,g.ch=X(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=X(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function ha(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=U(b,a.getCursor("anchor"))),b}function ia(b,c){var d=b.state.vim;c!==!1&&b.setCursor(J(b,d.sel.head)),da(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function ja(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&r(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=X(a,c.line)):c.ch=0}}function ka(a,b,c){b.ch=0,c.ch=0,c.line++}function la(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function ma(a,b,c,e,f){for(var g=ha(a),h=a.getLine(g.line),i=g.ch,j=f?lb[0]:mb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=mb[0]:(j=lb[0],j(h.charAt(i))||(j=lb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function na(a,b,c){S(b,c)||vb.jumpList.add(a,b,c)}function oa(a,b){vb.lastCharacterSearch.increment=a,vb.lastCharacterSearch.forward=b.forward,vb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function pa(a,b,c,e){var f=R(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Cb[e];if(!m)return f;var n=Db[m].init,o=Db[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function qa(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?mb:lb;if(e&&""==h){if(f+=i,h=a.getLine(f),!m(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,n=k;g!=k;){for(var o=!1,p=0;p<j.length&&!o;++p)if(j[p](h.charAt(g))){for(l=g;g!=k&&j[p](h.charAt(g));)g+=i;if(n=g,o=l!=n,l==b.ch&&f==b.line&&n==l+i)continue;return{from:Math.min(l,n+1),to:Math.max(l,n),line:f}}o||(g+=i)}if(f+=i,!m(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function ra(a,b,c,e,f,g){var h=R(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=qa(a,b,e,g,j);if(!l){var m=X(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function sa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=va(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function ta(a,b){var c=a.getCursor().line;return J(a,d(c,b-1))}function ua(a,b,c,d){s(c,qb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function va(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function wa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function xa(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function ya(a,b,c,e){var f,g,h,i,j=R(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function za(){}function Aa(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new za)}function Ba(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ca(a){var b=Da(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Da(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ea(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Fa(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Eb[e+f]?(c.push(Eb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,p(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ga(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Fb)if(c.match(f,!0)){e=!0,d.push(Fb[f]);break}e||d.push(c.next())}return d.join("")}function Ha(a,b,c){var d=vb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Da(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;v("pcre")||(e=Ea(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ia(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Ja(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Ka(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Ja(b.prefix,b.desc);Ba(a,d,c,b.onClose,b)}function La(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Ma(a,b,c,d){if(b){var e=Aa(a),f=Ha(b,!!c,!!d);if(f)return Oa(a,f),La(f,e.getQuery())?f:(e.setQuery(f),f)}}function Na(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Oa(a,b){var c=Aa(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Na(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Pa(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&S(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Qa(a){var b=Aa(a);a.removeOverlay(Aa(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Ra(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?s(a,b):c?a>=b&&a<=c:a==b}function Sa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Ta(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}var f=b.marks[c];return f&&f.find()}function Ua(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Ra(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ia(b,"No matches for "+h.source):c?void Ka(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Va(b){var c=b.state.vim,d=vb.macroModeState,e=vb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof eb?k++:k+=i;g.changes=h,b.off("change",ab),a.off(b.getInputField(),"keydown",fb)}!f&&c.insertModeRepeat>1&&(gb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&$a(d)}function Wa(a){b.unshift(a)}function Xa(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];Wa(f)}function Ya(b,c,d,e){var f=vb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Jb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;vb.macroModeState.lastInsertModeChanges.changes=m,hb(b,m,1),Va(b)}d.isPlaying=!1}function Za(a,b){if(!a.isPlaying){var c=a.latestRegister,d=vb.registerController.getRegister(c);d&&d.pushText(b)}}function $a(a){if(!a.isPlaying){var b=a.latestRegister,c=vb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function _a(a,b){if(!a.isPlaying){var c=a.latestRegister,d=vb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function ab(a,b){var c=vb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function bb(a){var b=a.state.vim;if(b.insertMode){var c=vb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||db(a,b);b.visualMode&&cb(a)}function cb(a){var b=a.state.vim,c=J(a,R(b.sel.head)),d=L(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function db(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ia(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=T(e,d)?0:-1,g=T(e,d)?-1:0;e=L(e,0,f),d=L(d,0,g),c.sel={anchor:d,head:e},ua(b,c,"<",U(e,d)),ua(b,c,">",V(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function eb(a){this.keyName=a}function fb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new eb(f)),!0}var d=vb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function gb(a,b,c,d){function e(){h?yb.processAction(a,b,b.lastEditActionCommand):yb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;hb(a,d.changes,c)}}var g=vb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Va(a),g.isPlaying=!1}function hb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=vb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=M(i.anchor,i.head);aa(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(L(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof eb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=L(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(L(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ib={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},jb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},kb=/[\d]/,lb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],mb=[function(a){return/\S/.test(a)}],nb=l(65,26),ob=l(97,26),pb=l(48,10),qb=[].concat(nb,ob,pb,["<",">"]),rb=[].concat(nb,ob,pb,["-",'"',".",":","/"]),sb={};t("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var tb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!S(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!S(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},ub=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};w.prototype={exitMacroRecordMode:function(){var a=vb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=vb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var vb,wb,xb={buildKeyMap:function(){},getRegisterController:function(){return vb.registerController},resetVimGlobalState_:y,getVimGlobalState_:function(){return vb},maybeInitVimState_:x,suppressErrorLogging:!1,InsertModeKey:eb,map:function(a,b,c){Jb.map(a,b,c)},unmap:function(a,b){Jb.unmap(a,b)},setOption:u,getOption:v,defineOption:t,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ib[a]=c,Jb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=vb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),A(c),!0;"mapping"!=e&&Za(a,d)}}function g(){if("<Esc>"==d)return A(c),l.visualMode?ia(c):l.insertMode&&Va(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=yb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=yb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return A(c),!1;if("partial"==f.type)return wb&&window.clearTimeout(wb),wb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&A(c)}),v("insertModeEscKeysTimeout")),!e;if(wb&&window.clearTimeout(wb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",L(k,0,-(a.length-1)),k,"+input")}vb.macroModeState.lastInsertModeChanges.changes.pop()}return A(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return A(c),!1;var h=l.visualMode?"visual":"normal",i=yb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return A(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=x(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):yb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,x(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Jb.processCommand(a,b)},defineMotion:F,defineAction:I,defineOperator:H,mapCommand:Xa,_mapCommand:Wa,defineRegister:C,exitVisualMode:ia,exitInsertMode:Va};z.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},z.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},B.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(ub(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},D.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new B(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new B(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new B(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=q(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new B),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&s(a,rb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},E.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var yb={matchCommand:function(a,b,c,d){var e=N(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=P(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=K(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);A(a)}d.operator=c.operator,d.operatorArgs=K(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=K(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=K(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,A(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Bb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){vb.searchHistoryController.pushInput(a),vb.searchHistoryController.reset();try{Ma(b,a,e,f)}catch(c){return Ia(b,"Invalid regex: "+a),void A(b)}yb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=vb.macroModeState;c.isRecording&&_a(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=vb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&vb.searchHistoryController.reset();var j;try{j=Ma(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Pa(b,!i,j),30):(Qa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(vb.searchHistoryController.pushInput(d),vb.searchHistoryController.reset(),Ma(b,l),Qa(b),b.scrollTo(m.left,m.top),a.e_stop(c),A(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Aa(b).setReversed(!i);var k=i?"/":"?",l=Aa(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=vb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Ka(b,{onClose:f,prefix:k,desc:Gb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=ma(b,!1,!0,!1,!0),q=!0;if(p||(p=ma(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":Z(o),vb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){vb.exCommandHistoryController.pushInput(a),vb.exCommandHistoryController.reset(),Jb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(vb.exCommandHistoryController.pushInput(d),vb.exCommandHistoryController.reset(),a.e_stop(c),A(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=vb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&vb.exCommandHistoryController.reset()}"keyToEx"==d.type?Jb.processCommand(b,d.exArgs.input):c.visualMode?Ka(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Ka(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=R(b.visualMode?J(a,m.head):a.getCursor("head")),o=R(b.visualMode?J(a,m.anchor):a.getCursor("anchor")),p=R(n),q=R(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,A(a),h){var r=zb[h](a,n,i,b);if(b.lastMotion=zb[h],!r)return;if(i.toJumplist){var s=vb.jumpList,t=s.cachedCursor;t?(na(a,t,r),delete s.cachedCursor):na(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=R(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=J(a,c,b.visualBlock)),e&&(e=J(a,e,!0)),e=e||q,m.anchor=e,m.head=c,fa(a),ua(a,b,"<",T(e,c)?e:c),ua(a,b,">",T(e,c)?c:e)):j||(c=J(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},fa(a)}else b.visualMode&&(k.lastSel={anchor:R(m.anchor),head:R(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,B,C;if(b.visualMode){if(x=U(m.head,m.anchor),y=V(m.head,m.anchor),z=b.visualLine||k.linewise,B=b.visualBlock?"block":z?"line":"char",C=ga(a,{anchor:x,head:y},B),z){var D=C.ranges;if("block"==B)for(var E=0;E<D.length;E++)D[E].head.ch=X(a,D[E].head.line);else"line"==B&&(D[0].head=d(D[0].head.line+1,0))}}else{if(x=R(e||q),y=R(c||p),T(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?ka(a,x,y):i.forward&&ja(a,x,y),B="char";var G=!i.inclusive||z;C=ga(a,{anchor:x,head:y},B,G)}a.setSelections(C.ranges,C.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Ab[j](a,k,C.ranges,q,c);b.visualMode&&ia(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=vb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},zb={moveToTopLine:function(a,b,c){var e=Sa(a).top+c.repeat-1;return d(e,la(a.getLine(e)))},moveToMiddleLine:function(a){var b=Sa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,la(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Sa(a).bottom-c.repeat+1;return d(e,la(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Aa(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Oa(a,e),Pa(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Ta(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:la(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[J(a,d(f.anchor.line,f.head.ch)),J(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(n(i)){var j=e.marks[i].find(),k=c.forward?T(j,h):T(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=S(h,f),m=c.forward?W(h,j,f):W(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,la(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=la(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return wa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=zb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top), -f},moveByWords:function(a,b,c){return ra(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=sa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return oa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return oa(0,c),sa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return pa(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,ta(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,la(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&o(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,la(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=xa(a,b,g,i);else if(f[g])h=ya(a,b,g,i);else if("W"===g)h=ma(a,i,!0,!0);else if("w"===g)h=ma(a,i,!0,!1);else{if("p"!==g)return null;if(h=wa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ea(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=vb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=sa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Ab={change:function(b,c,e){var f,g,h=b.state.vim;if(vb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=G("",e.length);b.replaceSelections(i),f=U(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!r(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=L(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}vb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Bb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=G("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,X(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=zb.moveToFirstNonWhiteSpaceCharacter(a,i))}return vb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock),J(a,e)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return zb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=q(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?zb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:U(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?U(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return vb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Bb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=vb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=R(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=vb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)Ya(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=vb.macroModeState,d=b.selectedCharacter;vb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,X(b,h.line));else if("charAfter"==f)h=L(h,0,1);else if("firstNonBlank"==f)h=zb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?L(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),vb.macroModeState.isPlaying||(b.on("change",ab),a.on(b.getInputField(),"keydown",fb)),e.visualMode&&ia(b),aa(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),fa(b)):ia(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=J(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),fa(b),ua(b,e,"<",U(h,f)),ua(b,e,">",V(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&da(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,fa(b),ua(b,d,"<",U(f,g)),ua(b,d,">",V(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),T(f,e)){var g=f;f=e,e=g}f.ch=X(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=J(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=X(a,e.line);var g=d(e.line+1,X(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ia(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=R(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=X(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=R(a.getCursor()),f=vb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=X(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ca(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),vb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),_(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=X(a,A);B<e.ch&&$(a,A,e.ch)}a.setCursor(e),_(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,la(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,la(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ia(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){Q(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){Q(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ua(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=T(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ia(b,!1)):b.setCursor(L(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h,i=a.getCursor(),j=a.getLine(i.line),k=/-?\d+/g;null!==(c=k.exec(j))&&(h=c[0],e=c.index,f=e+h.length,!(i.ch<f)););if((b.backtrack||!(f<=i.ch))&&h){var l=b.increase?1:-1,m=parseInt(h)+l*b.repeat,n=d(i.line,e),o=d(i.line,f);g=m.toString(),a.replaceRange(g,n,o),a.setCursor(d(i.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,gb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Va},Cb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Db={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};t("pcre",!0,"boolean"),za.prototype={getQuery:function(){return vb.query},setQuery:function(a){vb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return vb.isReversed},setReversed:function(a){vb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Eb={"\\n":"\n","\\r":"\r","\\t":"\t"},Fb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Gb="(Javascript regexp)",Hb=function(){this.buildCommandMap_()};Hb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=vb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ia(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ia(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ia(b,'Not an editor command ":'+c+'"');try{Ib[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ia(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Ta(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=Y(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ib={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ia(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ia(a,"Invalid mapping: "+b.input)):void Jb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ia(a,"No such mapping: "+b.input)):void Jb.unmap(d[0],c)},move:function(a,b){yb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ia(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=sb[f]&&"boolean"==sb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=v(f,a,d);j instanceof Error?Ia(a,j.message):j===!0||j===!1?Ia(a," "+(j?"":"no")+f):Ia(a," "+f+"="+j)}else{var k=u(f,g,a,d);k instanceof Error&&Ia(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=vb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),vb.registerController.isValidRegister(f)){var h=d[f]||new B;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ia(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ia(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,X(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ia(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ca(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Ma(a,h,!0,!0)}catch(b){return void Ia(a,"Invalid regex: "+h)}for(var i=Aa(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ia(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Jb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ca(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=v("pcre")?Ga(j):Fa(j),vb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ia(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Ma(a,c,!0,!0)}catch(b){return void Ia(a,"Invalid regex: "+c)}if(j=j||vb.lastSubstituteReplacePart,void 0===j)return void Ia(a,"No previous substitute regular expression");var m=Aa(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=J(a,d(o,0)),r=a.getSearchCursor(n,q);Ua(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Qa(a)},yank:function(a){var b=R(a.getCursor()),c=b.line,d=a.getLine(c);vb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!Y(c.argString))return void Ia(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(Y(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ia(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ia(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(n(h)&&n(i)||q(h)&&q(i)))return void Ia(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ia(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Jb=new Hb;return a.keyMap.vim={attach:h,detach:g,call:i},t("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:i},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:i},y(),xb};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:"application/x-httpd-php",mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query", -mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d&&(u.ch<=2||c.getRange(n(u.line,u.ch-3),n(u.line,u.ch-2))!=d))s="addFour";else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||d.line!=b.line||!(e=g(d)))return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen),!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c; +e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line; +}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)), +e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:["application/x-httpd-php","text/x-php"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"] +},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/codemirror.css b/media/editors/codemirror/lib/codemirror.css index 9d8ff0ce66e06..c7a8ae70478fc 100644 --- a/media/editors/codemirror/lib/codemirror.css +++ b/media/editors/codemirror/lib/codemirror.css @@ -59,7 +59,12 @@ .cm-fat-cursor div.CodeMirror-cursors { z-index: 1; } - +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} .cm-animate-fat-cursor { width: auto; border: 0; @@ -140,8 +145,8 @@ /* Default styles for common addons */ -div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} -div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } .CodeMirror-activeline-background {background: #e8f2ff;} @@ -265,7 +270,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} .CodeMirror-linewidget { position: relative; z-index: 2; - overflow: auto; + padding: 0.1px; /* Force widget margins to stay inside of the container */ } .CodeMirror-widget {} diff --git a/media/editors/codemirror/lib/codemirror.js b/media/editors/codemirror/lib/codemirror.js index 5a6ef52d380fe..7549661169e5f 100644 --- a/media/editors/codemirror/lib/codemirror.js +++ b/media/editors/codemirror/lib/codemirror.js @@ -1088,13 +1088,15 @@ var bidiOrdering = (function() { if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); } } } - if (order[0].level == 1 && (m = str.match(/^\s+/))) { - order[0].from = m[0].length; - order.unshift(new BidiSpan(0, 0, m[0].length)); - } - if (lst(order).level == 1 && (m = str.match(/\s+$/))) { - lst(order).to -= m[0].length; - order.push(new BidiSpan(0, len - m[0].length, len)); + if (direction == "ltr") { + if (order[0].level == 1 && (m = str.match(/^\s+/))) { + order[0].from = m[0].length; + order.unshift(new BidiSpan(0, 0, m[0].length)); + } + if (lst(order).level == 1 && (m = str.match(/\s+$/))) { + lst(order).to -= m[0].length; + order.push(new BidiSpan(0, len - m[0].length, len)); + } } return direction == "rtl" ? order.reverse() : order @@ -1471,6 +1473,10 @@ StringStream.prototype.lookAhead = function (n) { var oracle = this.lineOracle; return oracle && oracle.lookAhead(n) }; +StringStream.prototype.baseToken = function () { + var oracle = this.lineOracle; + return oracle && oracle.baseToken(this.pos) +}; var SavedContext = function(state, lookAhead) { this.state = state; @@ -1482,6 +1488,8 @@ var Context = function(doc, state, line, lookAhead) { this.doc = doc; this.line = line; this.maxLookAhead = lookAhead || 0; + this.baseTokens = null; + this.baseTokenPos = 1; }; Context.prototype.lookAhead = function (n) { @@ -1490,6 +1498,17 @@ Context.prototype.lookAhead = function (n) { return line }; +Context.prototype.baseToken = function (n) { + var this$1 = this; + + if (!this.baseTokens) { return null } + while (this.baseTokens[this.baseTokenPos] <= n) + { this$1.baseTokenPos += 2; } + var type = this.baseTokens[this.baseTokenPos + 1]; + return {type: type && type.replace(/( |^)overlay .*/, ""), + size: this.baseTokens[this.baseTokenPos] - n} +}; + Context.prototype.nextLine = function () { this.line++; if (this.maxLookAhead > 0) { this.maxLookAhead--; } @@ -1523,6 +1542,7 @@ function highlightLine(cm, line, context, forceToEnd) { // Run overlays, adjust style array. var loop = function ( o ) { + context.baseTokens = st; var overlay = cm.state.overlays[o], i = 1, at = 0; context.state = true; runMode(cm, line.text, overlay.mode, context, function (end, style) { @@ -1546,10 +1566,12 @@ function highlightLine(cm, line, context, forceToEnd) { } } }, lineClasses); + context.state = state; + context.baseTokens = null; + context.baseTokenPos = 1; }; for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); - context.state = state; return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} } @@ -2889,6 +2911,7 @@ function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); var begin = ref.begin; var end = ref.end; + if (/\s/.test(lineObj.text.charAt(end - 1))) { end--; } var part = null, closestDist = null; for (var i = 0; i < order.length; i++) { var p = order[i]; @@ -3079,6 +3102,7 @@ function drawSelectionRange(cm, range$$1, output) { var fragment = document.createDocumentFragment(); var padding = paddingH(cm.display), leftSide = padding.left; var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; + var docLTR = doc.direction == "ltr"; function add(left, top, width, bottom) { if (top < 0) { top = 0; } @@ -3095,42 +3119,43 @@ function drawSelectionRange(cm, range$$1, output) { return charCoords(cm, Pos(line, ch), "div", lineObj, bias) } + function wrapX(pos, dir, side) { + var extent = wrappedLineExtentChar(cm, lineObj, null, pos); + var prop = (dir == "ltr") == (side == "after") ? "left" : "right"; + var ch = side == "after" ? extent.begin : extent.end - (/\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1); + return coords(ch, prop)[prop] + } + var order = getOrder(lineObj, doc.direction); iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { - var fromPos = coords(from, dir == "ltr" ? "left" : "right"); - var toPos = coords(to - 1, dir == "ltr" ? "right" : "left"); - if (dir == "ltr") { - var fromLeft = fromArg == null && from == 0 ? leftSide : fromPos.left; - var toRight = toArg == null && to == lineLen ? rightSide : toPos.right; - if (toPos.top - fromPos.top <= 3) { // Single line - add(fromLeft, toPos.top, toRight - fromLeft, toPos.bottom); - } else { // Multiple lines - add(fromLeft, fromPos.top, null, fromPos.bottom); - if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } - add(leftSide, toPos.top, toPos.right, toPos.bottom); - } - } else if (from < to) { // RTL - var fromRight = fromArg == null && from == 0 ? rightSide : fromPos.right; - var toLeft = toArg == null && to == lineLen ? leftSide : toPos.left; - if (toPos.top - fromPos.top <= 3) { // Single line - add(toLeft, toPos.top, fromRight - toLeft, toPos.bottom); - } else { // Multiple lines - var topLeft = leftSide; - if (i) { - var topEnd = wrappedLineExtentChar(cm, lineObj, null, from).end; - // The coordinates returned for an RTL wrapped space tend to - // be complete bogus, so try to skip that here. - topLeft = coords(topEnd - (/\s/.test(lineObj.text.charAt(topEnd - 1)) ? 2 : 1), "left").left; - } - add(topLeft, fromPos.top, fromRight - topLeft, fromPos.bottom); - if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } - var botWidth = null; - if (i < order.length - 1 || true) { - var botStart = wrappedLineExtentChar(cm, lineObj, null, to).begin; - botWidth = coords(botStart, "right").right - toLeft; - } - add(toLeft, toPos.top, botWidth, toPos.bottom); + var ltr = dir == "ltr"; + var fromPos = coords(from, ltr ? "left" : "right"); + var toPos = coords(to - 1, ltr ? "right" : "left"); + + var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen; + var first = i == 0, last = !order || i == order.length - 1; + if (toPos.top - fromPos.top <= 3) { // Single line + var openLeft = (docLTR ? openStart : openEnd) && first; + var openRight = (docLTR ? openEnd : openStart) && last; + var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left; + var right = openRight ? rightSide : (ltr ? toPos : fromPos).right; + add(left, fromPos.top, right - left, fromPos.bottom); + } else { // Multiple lines + var topLeft, topRight, botLeft, botRight; + if (ltr) { + topLeft = docLTR && openStart && first ? leftSide : fromPos.left; + topRight = docLTR ? rightSide : wrapX(from, dir, "before"); + botLeft = docLTR ? leftSide : wrapX(to, dir, "after"); + botRight = docLTR && openEnd && last ? rightSide : toPos.right; + } else { + topLeft = !docLTR ? leftSide : wrapX(from, dir, "before"); + topRight = !docLTR && openStart && first ? rightSide : fromPos.right; + botLeft = !docLTR && openEnd && last ? leftSide : toPos.left; + botRight = !docLTR ? rightSide : wrapX(to, dir, "after"); } + add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom); + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } + add(botLeft, toPos.top, botRight - botLeft, toPos.bottom); } if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; } @@ -3251,8 +3276,10 @@ function updateHeightsInViewport(cm) { // Read and store the height of line widgets associated with the // given line. function updateWidgetHeight(line) { - if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) - { line.widgets[i].height = line.widgets[i].node.parentNode.offsetHeight; } } + if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) { + var w = line.widgets[i], parent = w.node.parentNode; + if (parent) { w.height = parent.offsetHeight; } + } } } // Compute the lines that are visible in a given viewport (defaults @@ -6765,7 +6792,7 @@ function endOfLine(visually, cm, lineObj, lineNo, dir) { // Thus, in rtl, we are looking for the first (content-order) character // in the rtl chunk that is on the last line (that is, the same line // as the last (content-order) character). - if (part.level > 0) { + if (part.level > 0 || cm.doc.direction == "rtl") { var prep = prepareMeasureForLine(cm, lineObj); ch = dir < 0 ? lineObj.text.length - 1 : 0; var targetTop = measureCharPrepared(cm, prep, ch).top; @@ -7048,18 +7075,26 @@ function lookupKeyForEditor(cm, name, handle) { // for bound mouse clicks. var stopSeq = new Delayed; + function dispatchKey(cm, name, e, handle) { var seq = cm.state.keySeq; if (seq) { if (isModifierKey(name)) { return "handled" } - stopSeq.set(50, function () { - if (cm.state.keySeq == seq) { - cm.state.keySeq = null; - cm.display.input.reset(); - } - }); - name = seq + " " + name; + if (/\'$/.test(name)) + { cm.state.keySeq = null; } + else + { stopSeq.set(50, function () { + if (cm.state.keySeq == seq) { + cm.state.keySeq = null; + cm.display.input.reset(); + } + }); } + if (dispatchKeyInner(cm, seq + " " + name, e, handle)) { return true } } + return dispatchKeyInner(cm, name, e, handle) +} + +function dispatchKeyInner(cm, name, e, handle) { var result = lookupKeyForEditor(cm, name, handle); if (result == "multi") @@ -7072,10 +7107,6 @@ function dispatchKey(cm, name, e, handle) { restartBlink(cm); } - if (seq && !result && /\'$/.test(name)) { - e_preventDefault(e); - return true - } return !!result } @@ -7587,6 +7618,7 @@ function defineOptions(CodeMirror) { clearCaches(cm); regChange(cm); }, true); + option("lineSeparator", null, function (cm, val) { cm.doc.lineSep = val; if (!val) { return } @@ -9627,7 +9659,7 @@ CodeMirror$1.fromTextArea = fromTextArea; addLegacyProps(CodeMirror$1); -CodeMirror$1.version = "5.30.0"; +CodeMirror$1.version = "5.33.0"; return CodeMirror$1; diff --git a/media/editors/codemirror/lib/codemirror.min.css b/media/editors/codemirror/lib/codemirror.min.css index bef374643057e..4a4a105585c42 100644 --- a/media/editors/codemirror/lib/codemirror.min.css +++ b/media/editors/codemirror/lib/codemirror.min.css @@ -1 +1 @@ -.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0} \ No newline at end of file +.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0} \ No newline at end of file diff --git a/media/editors/codemirror/lib/codemirror.min.js b/media/editors/codemirror/lib/codemirror.min.js index 62193a52cd6bb..f5ab651aa1db5 100644 --- a/media/editors/codemirror/lib/codemirror.min.js +++ b/media/editors/codemirror/lib/codemirror.min.js @@ -1,6 +1,6 @@ -!(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()})(this,(function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Vg.length<=a;)Vg.push(p(Vg)+" ");return Vg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Wg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Xg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2,f=d<0?Math.ceil(e):Math.floor(e);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Qg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),sg&&tg<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),ug||og&&Dg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,(function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e})),d}function D(a,b,c){var d=[];return a.iter(b,c,(function(a){d.push(a.text)})),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Yg=!0}function U(){Zg=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,(function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}})),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=Zg&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=Zg&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=Zg&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter((function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)}))}function va(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;$g=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:$g=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:$g=e)}return null!=d?d:$g}function xa(a,b){var c=a.order;return null==c&&(c=a.order=_g(a.text,b)),c}function ya(a,b){return a._handlers&&a._handlers[b]||ah}function za(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Aa(a,b){var c=ya(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Ba(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Aa(a,c||b.type,a,b),Ha(b)||b.codemirrorIgnore}function Ca(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Da(a,b){return ya(a,b).length>0}function Ea(a){a.prototype.on=function(a,b){bh(this,a,b)},a.prototype.off=function(a,b){za(this,a,b)}}function Fa(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ga(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ha(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ia(a){Fa(a),Ga(a)}function Ja(a){return a.target||a.srcElement}function Ka(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),Eg&&a.ctrlKey&&1==b&&(b=3),b}function La(a){if(null==Og){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Og=b.offsetWidth<=1&&b.offsetHeight>2&&!(sg&&tg<8))}var e=Og?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Ma(a){if(null!=Pg)return Pg;var d=c(a,document.createTextNode("AخA")),e=Ig(d,0,1).getBoundingClientRect(),f=Ig(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Pg=f.right-e.right<3)}function Na(a){if(null!=gh)return gh;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Ig(b,0,1).getBoundingClientRect();return gh=Math.abs(e.left-f.left)>1}function Oa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),hh[a]=b}function Pa(a,b){ih[a]=b}function Qa(a){if("string"==typeof a&&ih.hasOwnProperty(a))a=ih[a];else if(a&&"string"==typeof a.name&&ih.hasOwnProperty(a.name)){var b=ih[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Qa("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Qa("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Ra(a,b){b=Qa(b);var c=hh[b.name];if(!c)return Ra(a,"text/plain");var d=c(a,b);if(jh.hasOwnProperty(b.name)){var e=jh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Sa(a,b){var c=jh.hasOwnProperty(a)?jh[a]:jh[a]={};k(b,c)}function Ta(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ua(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Va(a,b,c){return!a.startState||a.startState(b,c)}function Wa(a,b,c,d){var e=[a.state.modeGen],f={};cb(a,b.text,a.doc.mode,c,(function(a,b){return e.push(a,b)}),f,d);for(var g=c.state,h=function(d){var g=a.state.overlays[d],h=1,i=0;c.state=!0,cb(a,b.text,g.mode,c,(function(a,b){for(var c=h;i<a;){var d=e[h];d>a&&e.splice(h,1,a,e[h+1],d),h+=2,i=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"overlay "+b),h=c+2;else for(;c<h;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}}),f)},i=0;i<a.state.overlays.length;++i)h(i);return c.state=g,{styles:e,classes:f.bgClass||f.textClass?f:null}}function Xa(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Ya(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Ta(a.doc.mode,d.state),f=Wa(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Ya(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new mh(d,!0,b);var f=db(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?mh.fromSaved(d,g,f):new mh(d,Va(d.mode),f);return d.iter(f,b,(function(c){Za(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()})),c&&(d.modeFrontier=h.line),h}function Za(a,b,c,d){var e=a.doc.mode,f=new kh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&$a(e,c.state);!f.eol();)_a(e,f,c.state),f.start=f.pos}function $a(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ua(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function _a(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ua(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function ab(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=Ya(a,b.line,c),k=new kh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=_a(g,k,j.state),d&&h.push(new nh(k,e,Ta(f.mode,j.state)));return d?h:new nh(k,e,j.state)}function bb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function cb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new kh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&bb($a(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&Za(a,b,d,l.pos),l.pos=b.length,i=null):i=bb(_a(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function db(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof lh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function eb(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof lh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function fb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function gb(a){a.parent=null,ca(a)}function hb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?rh:qh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ib(a,b){var c=e("span",null,null,ug?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(sg||ug)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=kb,Ma(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=mb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);ob(g,d,Xa(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(La(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(ug){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Aa(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function jb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function kb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?lb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));sg&&tg<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),sg&&tg<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),sg&&tg<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function lb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function mb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function nb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function ob(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)nb(b,0,s[y]);if(m&&(m.from||0)==o){if(nb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=hb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),hb(c[C+1],b.cm.options))}function pb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function qb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new pb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function rb(a){sh?sh.ops.push(a):a.ownsGroup=sh={ops:[a],delayedCallbacks:[]}}function sb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function tb(a,b){var c=a.ownsGroup;if(c)try{sb(c)}finally{sh=null,b(c)}}function ub(a,b){var c=ya(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);sh?d=sh.delayedCallbacks:th?d=th:(d=th=[],setTimeout(vb,0));for(var f=function(a){d.push((function(){return c[a].apply(null,e)}))},g=0;g<c.length;++g)f(g)}}function vb(){var a=th;th=null;for(var b=0;b<a.length;++b)a[b]()}function wb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Ab(a,b):"gutter"==f?Cb(a,b,c,d):"class"==f?Bb(a,b):"widget"==f&&Db(a,b,d)}b.changes=null}function xb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),sg&&tg<8&&(a.node.style.zIndex=2)),a.node}function yb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=xb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function zb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ib(a,b)}function Ab(a,b){var c=b.text.className,d=zb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Bb(a,b)):c&&(b.text.className=c)}function Bb(a,b){yb(a,b),b.line.wrapClass?xb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Cb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=xb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=xb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Db(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Fb(a,b,c)}function Eb(a,b,c,d){var e=zb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Bb(a,b),Cb(a,b,c,d),Fb(a,b,d),b.node}function Fb(a,b,c){if(Gb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Gb(a,b.rest[d],b,c,!1)}function Gb(a,b,c,e,f){if(b.widgets)for(var g=xb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Hb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),ub(j,"redraw")}}function Hb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Ib(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Jb(a,b){for(var c=Ja(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Kb(a){return a.lineSpace.offsetTop}function Lb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Mb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Nb(a){return Qg-a.display.nativeBarWidth}function Ob(a){return a.display.scroller.clientWidth-Nb(a)-a.display.barWidth}function Pb(a){return a.display.scroller.clientHeight-Nb(a)-a.display.barHeight}function Qb(a,b,c){var d=a.options.lineWrapping,e=d&&Ob(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Rb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Sb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new pb(a.doc,b,d);e.lineN=d;var f=e.built=ib(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Tb(a,b,c,d){return Wb(a,Vb(a,b),c,d)}function Ub(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Vb(a,b){var c=F(b),d=Ub(a,c);d&&!d.text?d=null:d&&d.changes&&(wb(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Sb(a,b));var e=Rb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Wb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Qb(a,b.view,b.rect),b.hasHeights=!0),f=Zb(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function Xb(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function Yb(a,b){var c=uh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function Zb(a,b,c,d){var e,f=Xb(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse;if(3==g.nodeType){for(var k=0;k<4;k++){ -for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=sg&&tg<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():Yb(Ig(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}sg&&tg<11&&(e=$b(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(sg&&tg<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:uh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function $b(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Na(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function _b(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ac(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)_b(a.display.view[c])}function bc(a){ac(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function cc(){return wg&&Cg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function dc(){return wg&&Cg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ec(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Ib(a.widgets[c]));return b}function fc(a,b,c,d,e){if(!e){var f=ec(b);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=sa(b);if("local"==d?g+=Kb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=a.display.lineSpace.getBoundingClientRect();g+=h.top+("window"==d?0:dc());var i=h.left+("window"==d?0:cc());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function gc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=cc(),e-=dc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function hc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),fc(a,d,Tb(a,d,b.ch,e),c)}function ic(a,b,c,d,e,f){function g(b,g){var h=Wb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,fc(a,d,h,c)}function h(a,b,c){var d=i[b],e=1==d.level;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Vb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=$g,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function jc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Kb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function kc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function lc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return kc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return kc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=pc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function mc(a,b,c,d){d-=ec(b);var e=b.text.length,f=z((function(b){return Wb(a,c,b-1).bottom<=d}),e,0);return e=z((function(b){return Wb(a,c,b).top>d}),f,e),{begin:f,end:e}}function nc(a,b,c,d){c||(c=Vb(a,b));var e=fc(a,b,Wb(a,c,d),"line").top;return mc(a,b,c,e)}function oc(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function pc(a,b,c,d,e){e-=sa(b);var f=Vb(a,b),g=ec(b),h=0,i=b.text.length,j=!0,k=xa(b,a.doc.direction);if(k){var l=(a.options.lineWrapping?rc:qc)(a,b,c,f,k,d,e);j=1!=l.level,h=j?l.from:l.to-1,i=j?l.to:l.from-1}var m,n,o=null,p=null,q=z((function(b){var c=Wb(a,f,b);return c.top+=g,c.bottom+=g,!!oc(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(o=b,p=c),!0)}),h,i),r=!1;if(p){var s=d-p.left<p.right-d,t=s==j;q=o+(t?0:1),n=t?"after":"before",m=s?p.left:p.right}else{j||q!=i&&q!=h||q++,n=0==q?"after":q==b.text.length?"before":Wb(a,f,q-(j?1:0)).bottom+g<=e==j?"after":"before";var u=ic(a,J(c,q,n),"line",b,f);m=u.left,r=e<u.top||e>=u.bottom}return q=y(b.text,q,1),kc(c,q,n,r,d-m)}function qc(a,b,c,d,e,f,g){var h=z((function(h){var i=e[h],j=1!=i.level;return oc(ic(a,J(c,j?i.to:i.from,j?"before":"after"),"line",b,d),f,g,!0)}),0,e.length-1),i=e[h];if(h>0){var j=1!=i.level,k=ic(a,J(c,j?i.from:i.to,j?"after":"before"),"line",b,d);oc(k,f,g,!0)&&k.top>g&&(i=e[h-1])}return i}function rc(a,b,c,d,e,f,g){for(var h=mc(a,b,d,g),i=h.begin,j=h.end,k=null,l=null,m=0;m<e.length;m++){var n=e[m];if(!(n.from>=j||n.to<=i)){var o=1!=n.level,p=Wb(a,d,o?Math.min(j,n.to)-1:Math.max(i,n.from)).right,q=p<f?f-p+1e9:p-f;(!k||l>q)&&(k=n,l=q)}}return k||(k=e[e.length-1]),k.from<i&&(k={from:i,to:k.to,level:k.level}),k.to>j&&(k={from:k.from,to:j,level:k.level}),k}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ph){ph=d("pre");for(var e=0;e<49;++e)ph.appendChild(document.createTextNode("x")),ph.appendChild(d("br"));ph.appendChild(document.createTextNode("x"))}c(a.measure,ph);var f=ph.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter((function(a){var b=c(a);b!=a.height&&E(a,b)}))}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Ja(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(a){return null}var i,j=lc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Mb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Ec(a,h,f)}}return d}function Cc(a,b,c){var e=ic(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b){return a.top-b.top||a.left-b.left}function Ec(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return hc(a,J(b,c),"div",j,d)}var g,i,j=B(h,b),m=j.text.length,n=xa(j,h.direction);return va(n,c||0,null==d?m:d,(function(b,h,o,p){var q=f(b,"ltr"==o?"left":"right"),r=f(h-1,"ltr"==o?"right":"left");if("ltr"==o){var s=null==c&&0==b?k:q.left,t=null==d&&h==m?l:r.right;r.top-q.top<=3?e(s,r.top,t-s,r.bottom):(e(s,q.top,null,q.bottom),q.bottom<r.top&&e(k,q.bottom,null,r.top),e(k,r.top,r.right,r.bottom))}else if(b<h){var u=null==c&&0==b?l:q.right,v=null==d&&h==m?k:r.left;if(r.top-q.top<=3)e(v,r.top,u-v,r.bottom);else{var w=k;if(p){var x=nc(a,j,null,b).end;w=f(x-(/\s/.test(j.text.charAt(x-1))?2:1),"left").left}e(w,q.top,u-w,q.bottom),q.bottom<r.top&&e(k,q.bottom,null,r.top);var y=null;if(p<n.length-1,!0){var z=nc(a,j,null,h).begin;y=f(z,"right").right-v}e(v,r.top,y,r.bottom)}}(!g||Dc(q,g)<0)&&(g=q),Dc(r,g)<0&&(g=r),(!i||Dc(q,i)<0)&&(i=q),Dc(r,i)<0&&(i=r)})),{start:g,end:i}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Mb(a.display),k=j.left,l=Math.max(g.sizerWidth,Ob(a)-g.sizer.offsetLeft)-j.right,m=b.from(),n=b.to();if(m.line==n.line)f(m.line,m.ch,n.ch);else{var o=B(h,m.line),p=B(h,n.line),q=la(o)==la(p),r=f(m.line,m.ch,q?o.text.length+1:null).end,s=f(n.line,q?0:null,n.ch).start;q&&(r.top<s.top-2?(e(r.right,r.top,null,r.bottom),e(k,s.top,s.left,s.bottom)):e(r.right,r.top,s.left-r.right,r.bottom)),r.bottom<s.top&&e(k,r.bottom,null,s.top)}c.appendChild(i)}function Fc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval((function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"}),a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Gc(a){a.state.focused||(a.display.input.focus(),Ic(a))}function Hc(a){a.state.delayingBlurEvent=!0,setTimeout((function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Jc(a))}),100)}function Ic(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Aa(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),ug&&setTimeout((function(){return a.display.input.reset(!0)}),20)),a.display.input.receivedFocus()),Fc(a))}function Jc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Aa(a,"blur",a,b),a.state.focused=!1,Lg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout((function(){a.state.focused||(a.display.shift=!1)}),150))}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(sg&&tg<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.parentNode.offsetHeight}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Kb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Fd(a),!0}return!1}function Pc(a,b){if(!Ba(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!Ag){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Kb(a.display))+"px;\n height: "+(b.bottom-b.top+Nb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Qc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=ic(a,b),i=c&&c!=b?ic(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Sc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Zc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(_c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Rc(a,b){var c=Sc(a,b);null!=c.scrollTop&&Zc(a,c.scrollTop),null!=c.scrollLeft&&_c(a,c.scrollLeft)}function Sc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Pb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Lb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Ob(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Tc(a,b){null!=b&&(Xc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Uc(a){Xc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Vc(a,b,c){null==b&&null==c||Xc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Wc(a,b){Xc(a),a.curOp.scrollToPos=b}function Xc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=jc(a,b.from),d=jc(a,b.to);Yc(a,c,d,b.margin)}}function Yc(a,b,c,d){var e=Sc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Vc(a,e.scrollLeft,e.scrollTop)}function Zc(a,b){Math.abs(a.doc.scrollTop-b)<2||(og||Dd(a,{top:b}),$c(a,b,!0),og&&Dd(a),wd(a,100))}function $c(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function _c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Nc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ad(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Lb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Nb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bd(a,b){b||(b=ad(a));var c=a.display.barWidth,d=a.display.barHeight;cd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),cd(a,ad(a)),c=a.display.barWidth,d=a.display.barHeight}function cd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function dd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Lg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new xh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),bh(b,"mousedown",(function(){a.state.focused&&setTimeout((function(){return a.display.input.focus()}),0)})),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?_c(a,b):Zc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function ed(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++yh},rb(a.curOp)}function fd(a){var b=a.curOp;tb(b,(function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;gd(a)}))}function gd(a){for(var b=a.ops,c=0;c<b.length;c++)hd(b[c]);for(var d=0;d<b.length;d++)id(b[d]);for(var e=0;e<b.length;e++)jd(b[e]);for(var f=0;f<b.length;f++)kd(b[f]);for(var g=0;g<b.length;g++)ld(b[g])}function hd(a){var b=a.cm,c=b.display;yd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new zh(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function id(a){a.updatedDisplay=a.mustUpdate&&Bd(a.cm,a.update)}function jd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=ad(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Tb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Nb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Ob(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection())}function kd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&_c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g();a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&bd(b,a.barMeasure),a.updatedDisplay&&Gd(b,a.barMeasure),a.selectionChanged&&Fc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Gc(a.cm)}function ld(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Cd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&$c(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&_c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Qc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Pc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Aa(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Aa(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Aa(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function md(a,b){if(a.curOp)return b();ed(a);try{return b()}finally{fd(a)}}function nd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);ed(a);try{return b.apply(a,arguments)}finally{fd(a)}}}function od(a){return function(){if(this.curOp)return a.apply(this,arguments);ed(this);try{return a.apply(this,arguments)}finally{fd(this)}}}function pd(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);ed(b);try{return a.apply(this,arguments)}finally{fd(b)}}}function qd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)Zg&&oa(a.doc,b)<e.viewTo&&sd(a);else if(c<=e.viewFrom)Zg&&pa(a.doc,c+d)>e.viewFrom?sd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)sd(a);else if(b<=e.viewFrom){var f=td(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):sd(a)}else if(c>=e.viewTo){var g=td(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):sd(a)}else{var h=td(a,b,b,-1),i=td(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(qb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):sd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function rd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function sd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function td(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!Zg||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function ud(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=qb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=qb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(qb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function vd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function wd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(xd,a))}function xd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ya(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),(function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(b.mode,d.state):null,i=Wa(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&Za(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return wd(a,a.options.workDelay),!0})),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&md(a,(function(){for(var b=0;b<e.length;b++)rd(a,e[b],"text")}))}}function yd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Nb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Nb(a)+"px",b.scrollbarsClipped=!0)}function zd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function Ad(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Bd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return sd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==vd(a))return!1;Oc(a)&&(sd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),Zg&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;ud(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=vd(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=zd(a);return j>4&&(d.lineDiv.style.display="none"),Ed(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,Ad(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,wd(a,400)),d.updateLineNumbers=null,!0}function Cd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Ob(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Lb(a.display)-Pb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Bd(a,b);d=!1){Kc(a);var e=ad(a);Ac(a),bd(a,e),Gd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Dd(a,b){var c=new zh(a,b);if(Bd(a,c)){Kc(a),Cd(a,c);var d=ad(a);Ac(a),bd(a,d),Gd(a,d),c.finish()}}function Ed(a,c,d){function e(b){var c=b.nextSibling;return ug&&Eg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),wb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Eb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Fd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Gd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Nb(a)+"px"}function Hd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Fd(a)}function Id(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Jd(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Kd(a){var b=Jd(a);return b.x*=Bh,b.y*=Bh,b}function Ld(a,b){var c=Jd(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&Eg&&ug)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!og&&!xg&&null!=Bh)return e&&i&&Zc(a,Math.max(0,g.scrollTop+e*Bh)),_c(a,Math.max(0,g.scrollLeft+d*Bh)),(!e||e&&i)&&Fa(b),void(f.wheelStartX=null);if(e&&null!=Bh){var m=e*Bh,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Dd(a,{top:n,bottom:o})}Ah<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout((function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(Bh=(Bh*Ah+c)/(Ah+1),++Ah)}}),200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Md(a,b){var c=a[b];a.sort((function(a,b){return K(a.from(),b.from())})),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Dh(i?h:g,i?g:h))}}return new Ch(a,b)}function Nd(a,b){return new Ch([new Dh(a,b||a)],0)}function Od(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Pd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Od(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Od(b).ch-b.to.ch),J(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new Dh(Pd(e.anchor,b),Pd(e.head,b)))}return Md(c,a.sel.primIndex)}function Rd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Sd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Rd(h.from,e,f),j=Rd(Od(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new Dh(l?j:i,l?i:j)}else d[g]=new Dh(i,i)}return new Ch(d,a.sel.primIndex)}function Td(a){a.doc.mode=Ra(a.options,a.doc.modeOption),Ud(a)}function Ud(a){a.doc.iter((function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)})),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first,wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore); -}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new oh(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new oh(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Lg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Ch.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Dh(e,b)}return new Dh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Ch([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Dh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Dh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Sg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Yg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(ge(d,h),c&&!d.equals(a.sel))return void te(a,d,{clearRedo:!1});f=d}var j=[];ge(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Ce(a,e,!1))return g.length=0,{};j.push(ae(a,e));var f=c?Qd(a,e):p(g);He(a,e,f,ke(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Od(e)});var h=[];Xd(a,(function(a,b){b||m(h,a.history)!=-1||(Me(a.history,e),h.push(a.history)),He(a,e,null,ke(a,e))}))},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Ch(q(a.sel.ranges,(function(a){return new Dh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Sg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Eh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Gh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&bh(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Fh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Hh(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),sg&&(Kh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(sg&&(!a.state.draggingText||+new Date-Kh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!yg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",xg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),xg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Lh||(bf(),Lh=!0)}function bf(){var a;bh(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),bh(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Mh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Jg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Jg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(xg&&34==a.keyCode&&a.char)return!1;var c=Mh[a.keyCode];return null!=c&&!a.altGraphKey&&hf(c,a,b)}function kf(a){return"string"==typeof a?Qh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Rh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Rg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";Sh.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),b=e+" "+b}var f=uf(a,b,d);return"multi"==f&&(a.state.keySeq=b),"handled"==f&&ub(a,"keyHandled",a,b,c),"handled"!=f&&"multi"!=f||(Fa(c),Fc(a)),e&&!f&&/\'$/.test(b)?(Fa(c),!0):!!f}function wf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function xf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function yf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){sg&&tg<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=wf(b,a);xg&&(Th=d?c:null,!d&&88==c&&!fh&&(Eg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||zf(b)}}function zf(a){function b(a){18!=a.keyCode&&a.altKey||(Lg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),bh(document,"keyup",b),bh(document,"mouseover",b)}function Af(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Bf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Eg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(xg&&c==Th)return Th=null,void Fa(a);if(!xg||a.which&&!(a.which<10)||!wf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(xf(b,a,e)||b.display.input.onKeyPress(a))}}}function Cf(a,b){var c=+new Date;return Xh&&Xh.compare(c,a,b)?(Wh=Xh=null,"triple"):Wh&&Wh.compare(c,a,b)?(Xh=new Vh(c,a,b),Wh=null,"double"):(Wh=new Vh(c,a,b),Xh=null,"single")}function Df(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(ug||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Mf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Cf(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ef(b,e,d,f,a)||(1==e?d?Gf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Kg?Nf(b,a):Hc(b)))}}}function Ef(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Rh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Rg}finally{a.state.suppressEdits=!1}return d}))}function Ff(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Fg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Eg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Eg?c.altKey:c.ctrlKey)),e}function Gf(a,b,c,d){sg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Ff(a,c,d),h=a.doc.sel;a.options.dragDrop&&ch&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?Hf(a,d,b,f):Jf(a,d,b,f)}function Hf(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){ug&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),ug||sg&&9==tg?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};ug&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),bh(document,"mouseup",g),bh(document,"mousemove",h),bh(e.scroller,"dragstart",i),bh(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function If(a,b,c){if("char"==c)return new Dh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Dh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Dh(d.from,d.to)}function Jf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Dh(J(q,u),J(q,u))):t.length>u&&e.push(new Dh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Dh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=If(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Kf(a,new Dh(Q(j,y),v)),te(j,Md(z,m),Tg)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Dh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Dh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=If(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Tg):(m=0,te(j,new Ch([k],0),Tg),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,bh(document,"mousemove",u),bh(document,"mouseup",v)}function Kf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Dh(new J(c.line,o,p),d)}function Lf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Mf(a,b){return Lf(a,b,"gutterClick",!0)}function Nf(a,b){Jb(a.display,b)||Of(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Of(a,b){return!!Da(a,"gutterContextMenu")&&Lf(a,b,"gutterContextMenu",!1)}function Pf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Qf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Yh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Yh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Yh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Dg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Gg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Pf(a),Rf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Yh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Tf,!0),b("gutters",[],(function(a){Id(a.options),Rf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Rf(a)}),!0),b("firstLineNumber",1,Rf,!0),b("lineNumberFormatter",(function(a){return a}),Rf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Sf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){ -return a.doc.setDirection(b)}),!0)}function Rf(a){Hd(a),qd(a),Nc(a)}function Sf(a,b,c){var d=c&&c!=Yh;if(!b!=!d){var e=a.display.dragFunctions,f=b?bh:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Tf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Lg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Uf(a,b){var c=this;if(!(this instanceof Uf))return new Uf(a,b);this.options=b=b?k(b):{},k(Zh,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Jh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Uf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Pf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Ng,keySeq:null,specialChars:null},b.autofocus&&!Dg&&f.input.focus(),sg&&tg<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Vf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Dg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in $h)$h.hasOwnProperty(g)&&$h[g](c,b[g],Yh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<_h.length;++h)_h[h](c);fd(this),ug&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Vf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;bh(e.scroller,"mousedown",nd(a,Df)),sg&&tg<11?bh(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Mf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):bh(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Kg||bh(e.scroller,"contextmenu",(function(b){return Nf(a,b)}));var f,g={end:0};bh(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Mf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),bh(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),bh(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Dh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Dh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),bh(e.scroller,"touchcancel",b),bh(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),bh(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),bh(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),bh(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();bh(h,"keyup",(function(b){return Af.call(a,b)})),bh(h,"keydown",nd(a,yf)),bh(h,"keypress",nd(a,Bf)),bh(h,"focus",(function(b){return Ic(a,b)})),bh(h,"blur",(function(b){return Jc(a,b)}))}function Wf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Rg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Dh(s,s));break}}}function Xf(a){ai=a}function Yf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=dh(b),i=null;if(g&&d.ranges.length>1)if(ai&&ai.text.join("\n")==b){if(d.ranges.length%ai.text.length==0){i=[];for(var j=0;j<ai.text.length;j++)i.push(f.splitLines(ai.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):ai&&ai.lineWise&&ai.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&$f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function Zf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Yf(b,c,0,null,"paste")})),!0}function $f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Wf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Wf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function _f(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function ag(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function bg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return ug?a.style.width="1000px":a.setAttribute("wrap","off"),Bg&&(a.style.border="1px solid black"),ag(a),b}function cg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function dg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function eg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function fg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function gg(a,b){return b&&(a.bad=!0),a}function hg(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function ig(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return gg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return jg(f,b,c)}}function jg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return gg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return gg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return gg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return gg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return gg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function kg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(bh(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Uf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function lg(a){a.off=za,a.on=bh,a.wheelEventPixels=Kd,a.Doc=Jh,a.splitLines=dh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Rg,a.signal=Aa,a.Line=oh,a.changeEnd=Od,a.scrollbarModel=xh,a.Pos=J,a.cmpPos=K,a.modes=hh,a.mimeModes=ih,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=jh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Rh,a.keyMap=Qh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=kh,a.SharedTextMarker=Hh,a.TextMarker=Gh,a.LineWidget=Eh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Lg,a.keyNames=Mh}var mg=navigator.userAgent,ng=navigator.platform,og=/gecko\/\d/i.test(mg),pg=/MSIE \d/.test(mg),qg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(mg),rg=/Edge\/(\d+)/.exec(mg),sg=pg||qg||rg,tg=sg&&(pg?document.documentMode||6:+(rg||qg)[1]),ug=!rg&&/WebKit\//.test(mg),vg=ug&&/Qt\/\d+\.\d+/.test(mg),wg=!rg&&/Chrome\//.test(mg),xg=/Opera\//.test(mg),yg=/Apple Computer/.test(navigator.vendor),zg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(mg),Ag=/PhantomJS/.test(mg),Bg=!rg&&/AppleWebKit/.test(mg)&&/Mobile\/\w+/.test(mg),Cg=/Android/.test(mg),Dg=Bg||Cg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(mg),Eg=Bg||/Mac/.test(ng),Fg=/\bCrOS\b/.test(mg),Gg=/win/i.test(ng),Hg=xg&&mg.match(/Version\/(\d*\.\d*)/);Hg&&(Hg=Number(Hg[1])),Hg&&Hg>=15&&(xg=!1,ug=!0);var Ig,Jg=Eg&&(vg||xg&&(null==Hg||Hg<12.11)),Kg=og||sg&&tg>=9,Lg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Ig=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Mg=function(a){a.select()};Bg?Mg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:sg&&(Mg=function(a){try{a.select()}catch(a){}});var Ng=function(){this.id=null};Ng.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Og,Pg,Qg=30,Rg={toString:function(){return"CodeMirror.Pass"}},Sg={scroll:!1},Tg={origin:"*mouse"},Ug={origin:"+move"},Vg=[""],Wg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Xg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Yg=!1,Zg=!1,$g=null,_g=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return 1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k))),"rtl"==d?M.reverse():M}})(),ah=[],bh=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||ah).concat(c)}},ch=(function(){if(sg&&tg<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),dh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},eh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},fh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),gh=null,hh={},ih={},jh={},kh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};kh.prototype.eol=function(){return this.pos>=this.string.length},kh.prototype.sol=function(){return this.pos==this.lineStart},kh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},kh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},kh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},kh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},kh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},kh.prototype.skipToEnd=function(){this.pos=this.string.length},kh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},kh.prototype.backUp=function(a){this.pos-=a},kh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},kh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},kh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},kh.prototype.current=function(){return this.string.slice(this.start,this.pos)},kh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},kh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)};var lh=function(a,b){this.state=a,this.lookAhead=b},mh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0};mh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},mh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},mh.fromSaved=function(a,b,c){return b instanceof lh?new mh(a,Ta(a.mode,b.state),c,b.lookAhead):new mh(a,Ta(a.mode,b),c)},mh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new lh(b,this.maxLookAhead):b};var nh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},oh=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};oh.prototype.lineNo=function(){return F(this)},Ea(oh);var ph,qh={},rh={},sh=null,th=null,uh={left:0,right:0,top:0,bottom:0},vh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),bh(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),bh(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,sg&&tg<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};vh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},vh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},vh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},vh.prototype.zeroWidthHack=function(){var a=Eg&&!zg?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Ng,this.disableVert=new Ng},vh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},vh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var wh=function(){};wh.prototype.update=function(){return{bottom:0,right:0}},wh.prototype.setScrollLeft=function(){},wh.prototype.setScrollTop=function(){},wh.prototype.clear=function(){};var xh={native:vh,null:wh},yh=0,zh=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};zh.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},zh.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Ah=0,Bh=null;sg?Bh=-.53:og?Bh=15:wg?Bh=-.7:yg&&(Bh=-1/3);var Ch=function(a,b){this.ranges=a,this.primIndex=b};Ch.prototype.primary=function(){return this.ranges[this.primIndex]},Ch.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Ch.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Dh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Ch(b,this.primIndex)},Ch.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Ch.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Dh=function(a,b){this.anchor=a,this.head=b};Dh.prototype.from=function(){return O(this.anchor,this.head)},Dh.prototype.to=function(){return N(this.anchor,this.head)},Dh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Eh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Eh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Eh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Eh);var Fh=0,Gh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Fh};Gh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Gh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Gh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Gh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Gh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Gh);var Hh=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Hh.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Hh);var Ih=0,Jh=function(a,b,c,d,e){if(!(this instanceof Jh))return new Jh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new oh("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Ih,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Sg)};Jh.prototype=t(Pe.prototype,{constructor:Jh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1; -De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Sg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Dh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Dh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Jh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Jh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Uf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):dh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Jh.prototype.eachLine=Jh.prototype.iter;for(var Kh=0,Lh=!1,Mh={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Nh=0;Nh<10;Nh++)Mh[Nh+48]=Mh[Nh+96]=String(Nh);for(var Oh=65;Oh<=90;Oh++)Mh[Oh]=String.fromCharCode(Oh);for(var Ph=1;Ph<=12;Ph++)Mh[Ph+111]=Mh[Ph+63235]="F"+Ph;var Qh={};Qh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Qh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Qh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Qh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Qh.default=Eg?Qh.macDefault:Qh.pcDefault;var Rh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Sg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Ug)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Ug)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Ug)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Dh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Sh=new Ng,Th=null,Uh=400,Vh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Vh.prototype.compare=function(a,b,c){return this.time+Uh>a&&0==K(b,this.pos)&&c==this.button};var Wh,Xh,Yh={toString:function(){return"CodeMirror.Init"}},Zh={},$h={};Uf.defaults=Zh,Uf.optionHandlers=$h;var _h=[];Uf.defineInitHook=function(a){return _h.push(a)};var ai=null,bi=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Wf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Wf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Wf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Dh(g,k[e].to()),Sg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(yf),triggerOnKeyPress:od(Bf),triggerOnKeyUp:Af,triggerOnMouseDown:od(Df),execCommand:function(a){if(Rh.hasOwnProperty(a))return Rh[a].call(null,this)},triggerElectric:od((function(a){$f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=cg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?cg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Ug)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=cg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=dg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=dg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Ug),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Dh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Lg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},ci=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Ng,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};ci.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Xf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=_f(e);Xf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Sg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=ai.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=bg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=ai.text.join("\n");var i=document.activeElement;Mg(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;ag(f,e.options.spellcheck),bh(f,"paste",(function(a){Ba(e,a)||Zf(a,e)||tg<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),bh(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),bh(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),bh(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),bh(f,"touchstart",(function(){return d.forceCompositionEnd()})),bh(f,"input",(function(){c.composing||c.readFromDOMSoon()})),bh(f,"copy",b),bh(f,"cut",b)},ci.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},ci.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},ci.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=ig(b,a.anchorNode,a.anchorOffset),g=ig(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&eg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&eg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Ig(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!og&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):og&&this.startGracePeriod()),this.rememberSelection()}},ci.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},ci.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},ci.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},ci.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},ci.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},ci.prototype.blur=function(){this.div.blur()},ci.prototype.getField=function(){return this.div},ci.prototype.supportsTouch=function(){return!0},ci.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},ci.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},ci.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Cg&&wg&&this.cm.options.gutters.length&&fg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=ig(b,a.anchorNode,a.anchorOffset),d=ig(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Sg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},ci.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(hg(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},ci.prototype.ensurePolled=function(){this.forceCompositionEnd()},ci.prototype.reset=function(){this.forceCompositionEnd()},ci.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},ci.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80))},ci.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},ci.prototype.setUneditable=function(a){a.contentEditable="false"},ci.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Yf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},ci.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},ci.prototype.onContextMenu=function(){},ci.prototype.resetPosition=function(){},ci.prototype.needsContentAttribute=!0;var di=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Ng, -this.hasSelection=!1,this.composing=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Xf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=_f(e);Xf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Sg):(d.prevInput="",g.value=b.text.join("\n"),Mg(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=bg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Bg&&(g.style.width="0px"),bh(g,"input",(function(){sg&&tg>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),bh(g,"paste",(function(a){Ba(e,a)||Zf(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),bh(g,"cut",b),bh(g,"copy",b),bh(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),bh(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),bh(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),bh(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},di.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},di.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},di.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Mg(this.textarea),sg&&tg>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",sg&&tg>=9&&(this.hasSelection=null))}},di.prototype.getField=function(){return this.textarea},di.prototype.supportsTouch=function(){return!1},di.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Dg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},di.prototype.blur=function(){this.textarea.blur()},di.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},di.prototype.receivedFocus=function(){this.slowPoll()},di.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},di.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},di.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||eh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(sg&&tg>=9&&this.hasSelection===e||Eg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Yf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},di.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},di.prototype.onKeyPress=function(){sg&&tg>=9&&(this.hasSelection=null),this.fastPoll()},di.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,sg&&tg<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!sg||sg&&tg<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!xg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Sg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(sg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(ug&&(n=window.scrollY),f.input.focus(),ug&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),sg&&tg>=9&&b(),Kg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};bh(window,"mouseup",o)}else setTimeout(c,50)}},di.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},di.prototype.setUneditable=function(){},di.prototype.needsContentAttribute=!1,Qf(Uf),bi(Uf);var ei="iter insert remove copy getEditor constructor".split(" ");for(var fi in Jh.prototype)Jh.prototype.hasOwnProperty(fi)&&m(ei,fi)<0&&(Uf.prototype[fi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Jh.prototype[fi]));return Ea(Jh),Uf.inputStyles={textarea:di,contenteditable:ci},Uf.defineMode=function(a){Uf.defaults.mode||"null"==a||(Uf.defaults.mode=a),Oa.apply(this,arguments)},Uf.defineMIME=Pa,Uf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Uf.defineMIME("text/plain","null"),Uf.defineExtension=function(a,b){Uf.prototype[a]=b},Uf.defineDocExtension=function(a,b){Jh.prototype[a]=b},Uf.fromTextArea=kg,lg(Uf),Uf.version="5.30.0",Uf})); \ No newline at end of file +!(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()})(this,(function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Wg.length<=a;)Wg.push(p(Wg)+" ");return Wg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Xg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Yg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2,f=d<0?Math.ceil(e):Math.floor(e);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Rg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),tg&&ug<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),vg||pg&&Eg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,(function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e})),d}function D(a,b,c){var d=[];return a.iter(b,c,(function(a){d.push(a.text)})),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Zg=!0}function U(){$g=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,(function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}})),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=$g&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=$g&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=$g&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter((function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)}))}function va(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;_g=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:_g=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:_g=e)}return null!=d?d:_g}function xa(a,b){var c=a.order;return null==c&&(c=a.order=ah(a.text,b)),c}function ya(a,b){return a._handlers&&a._handlers[b]||bh}function za(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Aa(a,b){var c=ya(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Ba(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Aa(a,c||b.type,a,b),Ha(b)||b.codemirrorIgnore}function Ca(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Da(a,b){return ya(a,b).length>0}function Ea(a){a.prototype.on=function(a,b){ch(this,a,b)},a.prototype.off=function(a,b){za(this,a,b)}}function Fa(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ga(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ha(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ia(a){Fa(a),Ga(a)}function Ja(a){return a.target||a.srcElement}function Ka(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),Fg&&a.ctrlKey&&1==b&&(b=3),b}function La(a){if(null==Pg){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Pg=b.offsetWidth<=1&&b.offsetHeight>2&&!(tg&&ug<8))}var e=Pg?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Ma(a){if(null!=Qg)return Qg;var d=c(a,document.createTextNode("AخA")),e=Jg(d,0,1).getBoundingClientRect(),f=Jg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Qg=f.right-e.right<3)}function Na(a){if(null!=hh)return hh;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Jg(b,0,1).getBoundingClientRect();return hh=Math.abs(e.left-f.left)>1}function Oa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),ih[a]=b}function Pa(a,b){jh[a]=b}function Qa(a){if("string"==typeof a&&jh.hasOwnProperty(a))a=jh[a];else if(a&&"string"==typeof a.name&&jh.hasOwnProperty(a.name)){var b=jh[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Qa("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Qa("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Ra(a,b){b=Qa(b);var c=ih[b.name];if(!c)return Ra(a,"text/plain");var d=c(a,b);if(kh.hasOwnProperty(b.name)){var e=kh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Sa(a,b){var c=kh.hasOwnProperty(a)?kh[a]:kh[a]={};k(b,c)}function Ta(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ua(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Va(a,b,c){return!a.startState||a.startState(b,c)}function Wa(a,b,c,d){var e=[a.state.modeGen],f={};cb(a,b.text,a.doc.mode,c,(function(a,b){return e.push(a,b)}),f,d);for(var g=c.state,h=function(d){c.baseTokens=e;var h=a.state.overlays[d],i=1,j=0;c.state=!0,cb(a,b.text,h.mode,c,(function(a,b){for(var c=i;j<a;){var d=e[i];d>a&&e.splice(i,1,a,e[i+1],d),i+=2,j=Math.min(a,d)}if(b)if(h.opaque)e.splice(c,i-c,a,"overlay "+b),i=c+2;else for(;c<i;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}}),f),c.state=g,c.baseTokens=null,c.baseTokenPos=1},i=0;i<a.state.overlays.length;++i)h(i);return{styles:e,classes:f.bgClass||f.textClass?f:null}}function Xa(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Ya(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Ta(a.doc.mode,d.state),f=Wa(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Ya(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new nh(d,!0,b);var f=db(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?nh.fromSaved(d,g,f):new nh(d,Va(d.mode),f);return d.iter(f,b,(function(c){Za(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()})),c&&(d.modeFrontier=h.line),h}function Za(a,b,c,d){var e=a.doc.mode,f=new lh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&$a(e,c.state);!f.eol();)_a(e,f,c.state),f.start=f.pos}function $a(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ua(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function _a(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ua(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function ab(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=Ya(a,b.line,c),k=new lh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=_a(g,k,j.state),d&&h.push(new oh(k,e,Ta(f.mode,j.state)));return d?h:new oh(k,e,j.state)}function bb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function cb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new lh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&bb($a(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&Za(a,b,d,l.pos),l.pos=b.length,i=null):i=bb(_a(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function db(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof mh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function eb(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof mh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function fb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function gb(a){a.parent=null,ca(a)}function hb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?sh:rh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ib(a,b){var c=e("span",null,null,vg?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(tg||vg)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=kb,Ma(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=mb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);ob(g,d,Xa(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(La(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(vg){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Aa(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function jb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function kb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?lb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));tg&&ug<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),tg&&ug<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),tg&&ug<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function lb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function mb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function nb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function ob(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)nb(b,0,s[y]);if(m&&(m.from||0)==o){if(nb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=hb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),hb(c[C+1],b.cm.options))}function pb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function qb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new pb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function rb(a){th?th.ops.push(a):a.ownsGroup=th={ops:[a],delayedCallbacks:[]}}function sb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function tb(a,b){var c=a.ownsGroup;if(c)try{sb(c)}finally{th=null,b(c)}}function ub(a,b){var c=ya(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);th?d=th.delayedCallbacks:uh?d=uh:(d=uh=[],setTimeout(vb,0));for(var f=function(a){d.push((function(){return c[a].apply(null,e)}))},g=0;g<c.length;++g)f(g)}}function vb(){var a=uh;uh=null;for(var b=0;b<a.length;++b)a[b]()}function wb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Ab(a,b):"gutter"==f?Cb(a,b,c,d):"class"==f?Bb(a,b):"widget"==f&&Db(a,b,d)}b.changes=null}function xb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),tg&&ug<8&&(a.node.style.zIndex=2)),a.node}function yb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=xb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function zb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ib(a,b)}function Ab(a,b){var c=b.text.className,d=zb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Bb(a,b)):c&&(b.text.className=c)}function Bb(a,b){yb(a,b),b.line.wrapClass?xb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Cb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=xb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=xb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Db(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Fb(a,b,c)}function Eb(a,b,c,d){var e=zb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Bb(a,b),Cb(a,b,c,d),Fb(a,b,d),b.node}function Fb(a,b,c){if(Gb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Gb(a,b.rest[d],b,c,!1)}function Gb(a,b,c,e,f){if(b.widgets)for(var g=xb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Hb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),ub(j,"redraw")}}function Hb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Ib(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Jb(a,b){for(var c=Ja(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Kb(a){return a.lineSpace.offsetTop}function Lb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Mb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Nb(a){return Rg-a.display.nativeBarWidth}function Ob(a){return a.display.scroller.clientWidth-Nb(a)-a.display.barWidth}function Pb(a){return a.display.scroller.clientHeight-Nb(a)-a.display.barHeight}function Qb(a,b,c){var d=a.options.lineWrapping,e=d&&Ob(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Rb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Sb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new pb(a.doc,b,d);e.lineN=d;var f=e.built=ib(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Tb(a,b,c,d){return Wb(a,Vb(a,b),c,d)}function Ub(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Vb(a,b){var c=F(b),d=Ub(a,c);d&&!d.text?d=null:d&&d.changes&&(wb(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Sb(a,b));var e=Rb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Wb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Qb(a,b.view,b.rect),b.hasHeights=!0),f=Zb(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function Xb(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function Yb(a,b){var c=vh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function Zb(a,b,c,d){var e,f=Xb(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse; +if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=tg&&ug<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():Yb(Jg(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}tg&&ug<11&&(e=$b(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(tg&&ug<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:vh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function $b(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Na(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function _b(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ac(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)_b(a.display.view[c])}function bc(a){ac(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function cc(){return xg&&Dg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function dc(){return xg&&Dg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ec(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Ib(a.widgets[c]));return b}function fc(a,b,c,d,e){if(!e){var f=ec(b);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=sa(b);if("local"==d?g+=Kb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=a.display.lineSpace.getBoundingClientRect();g+=h.top+("window"==d?0:dc());var i=h.left+("window"==d?0:cc());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function gc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=cc(),e-=dc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function hc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),fc(a,d,Tb(a,d,b.ch,e),c)}function ic(a,b,c,d,e,f){function g(b,g){var h=Wb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,fc(a,d,h,c)}function h(a,b,c){var d=i[b],e=1==d.level;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Vb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=_g,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function jc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Kb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function kc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function lc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return kc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return kc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=pc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function mc(a,b,c,d){d-=ec(b);var e=b.text.length,f=z((function(b){return Wb(a,c,b-1).bottom<=d}),e,0);return e=z((function(b){return Wb(a,c,b).top>d}),f,e),{begin:f,end:e}}function nc(a,b,c,d){c||(c=Vb(a,b));var e=fc(a,b,Wb(a,c,d),"line").top;return mc(a,b,c,e)}function oc(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function pc(a,b,c,d,e){e-=sa(b);var f=Vb(a,b),g=ec(b),h=0,i=b.text.length,j=!0,k=xa(b,a.doc.direction);if(k){var l=(a.options.lineWrapping?rc:qc)(a,b,c,f,k,d,e);j=1!=l.level,h=j?l.from:l.to-1,i=j?l.to:l.from-1}var m,n,o=null,p=null,q=z((function(b){var c=Wb(a,f,b);return c.top+=g,c.bottom+=g,!!oc(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(o=b,p=c),!0)}),h,i),r=!1;if(p){var s=d-p.left<p.right-d,t=s==j;q=o+(t?0:1),n=t?"after":"before",m=s?p.left:p.right}else{j||q!=i&&q!=h||q++,n=0==q?"after":q==b.text.length?"before":Wb(a,f,q-(j?1:0)).bottom+g<=e==j?"after":"before";var u=ic(a,J(c,q,n),"line",b,f);m=u.left,r=e<u.top||e>=u.bottom}return q=y(b.text,q,1),kc(c,q,n,r,d-m)}function qc(a,b,c,d,e,f,g){var h=z((function(h){var i=e[h],j=1!=i.level;return oc(ic(a,J(c,j?i.to:i.from,j?"before":"after"),"line",b,d),f,g,!0)}),0,e.length-1),i=e[h];if(h>0){var j=1!=i.level,k=ic(a,J(c,j?i.from:i.to,j?"after":"before"),"line",b,d);oc(k,f,g,!0)&&k.top>g&&(i=e[h-1])}return i}function rc(a,b,c,d,e,f,g){var h=mc(a,b,d,g),i=h.begin,j=h.end;/\s/.test(b.text.charAt(j-1))&&j--;for(var k=null,l=null,m=0;m<e.length;m++){var n=e[m];if(!(n.from>=j||n.to<=i)){var o=1!=n.level,p=Wb(a,d,o?Math.min(j,n.to)-1:Math.max(i,n.from)).right,q=p<f?f-p+1e9:p-f;(!k||l>q)&&(k=n,l=q)}}return k||(k=e[e.length-1]),k.from<i&&(k={from:i,to:k.to,level:k.level}),k.to>j&&(k={from:k.from,to:j,level:k.level}),k}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==qh){qh=d("pre");for(var e=0;e<49;++e)qh.appendChild(document.createTextNode("x")),qh.appendChild(d("br"));qh.appendChild(document.createTextNode("x"))}c(a.measure,qh);var f=qh.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter((function(a){var b=c(a);b!=a.height&&E(a,b)}))}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Ja(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(a){return null}var i,j=lc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Mb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Ec(a,h,f)}}return d}function Cc(a,b,c){var e=ic(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b){return a.top-b.top||a.left-b.left}function Ec(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return hc(a,J(b,c),"div",n,d)}function g(b,c,d){var e=nc(a,n,null,b),g="ltr"==c==("after"==d)?"left":"right",h="after"==d?e.begin:e.end-(/\s/.test(n.text.charAt(e.end-1))?2:1);return f(h,g)[g]}var i,j,n=B(h,b),o=n.text.length,p=xa(n,h.direction);return va(p,c||0,null==d?o:d,(function(a,b,h,n){var q="ltr"==h,r=f(a,q?"left":"right"),s=f(b-1,q?"right":"left"),t=null==c&&0==a,u=null==d&&b==o,v=0==n,w=!p||n==p.length-1;if(s.top-r.top<=3){var x=(m?t:u)&&v,y=(m?u:t)&&w,z=x?k:(q?r:s).left,A=y?l:(q?s:r).right;e(z,r.top,A-z,r.bottom)}else{var B,C,D,E;q?(B=m&&t&&v?k:r.left,C=m?l:g(a,h,"before"),D=m?k:g(b,h,"after"),E=m&&u&&w?l:s.right):(B=m?g(a,h,"before"):k,C=!m&&t&&v?l:r.right,D=!m&&u&&w?k:s.left,E=m?g(b,h,"after"):l),e(B,r.top,C-B,r.bottom),r.bottom<s.top&&e(k,r.bottom,null,s.top),e(D,s.top,E-D,s.bottom)}(!i||Dc(r,i)<0)&&(i=r),Dc(s,i)<0&&(i=s),(!j||Dc(r,j)<0)&&(j=r),Dc(s,j)<0&&(j=s)})),{start:i,end:j}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Mb(a.display),k=j.left,l=Math.max(g.sizerWidth,Ob(a)-g.sizer.offsetLeft)-j.right,m="ltr"==h.direction,n=b.from(),o=b.to();if(n.line==o.line)f(n.line,n.ch,o.ch);else{var p=B(h,n.line),q=B(h,o.line),r=la(p)==la(q),s=f(n.line,n.ch,r?p.text.length+1:null).end,t=f(o.line,r?0:null,o.ch).start;r&&(s.top<t.top-2?(e(s.right,s.top,null,s.bottom),e(k,t.top,t.left,t.bottom)):e(s.right,s.top,t.left-s.right,s.bottom)),s.bottom<t.top&&e(k,s.bottom,null,t.top)}c.appendChild(i)}function Fc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval((function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"}),a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Gc(a){a.state.focused||(a.display.input.focus(),Ic(a))}function Hc(a){a.state.delayingBlurEvent=!0,setTimeout((function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Jc(a))}),100)}function Ic(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Aa(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),vg&&setTimeout((function(){return a.display.input.reset(!0)}),20)),a.display.input.receivedFocus()),Fc(a))}function Jc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Aa(a,"blur",a,b),a.state.focused=!1,Mg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout((function(){a.state.focused||(a.display.shift=!1)}),150))}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(tg&&ug<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b){var c=a.widgets[b],d=c.node.parentNode;d&&(c.height=d.offsetHeight)}}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Kb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Fd(a),!0}return!1}function Pc(a,b){if(!Ba(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!Bg){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Kb(a.display))+"px;\n height: "+(b.bottom-b.top+Nb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Qc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=ic(a,b),i=c&&c!=b?ic(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Sc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Zc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(_c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Rc(a,b){var c=Sc(a,b);null!=c.scrollTop&&Zc(a,c.scrollTop),null!=c.scrollLeft&&_c(a,c.scrollLeft)}function Sc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Pb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Lb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Ob(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Tc(a,b){null!=b&&(Xc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Uc(a){Xc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Vc(a,b,c){null==b&&null==c||Xc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Wc(a,b){Xc(a),a.curOp.scrollToPos=b}function Xc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=jc(a,b.from),d=jc(a,b.to);Yc(a,c,d,b.margin)}}function Yc(a,b,c,d){var e=Sc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Vc(a,e.scrollLeft,e.scrollTop)}function Zc(a,b){Math.abs(a.doc.scrollTop-b)<2||(pg||Dd(a,{top:b}),$c(a,b,!0),pg&&Dd(a),wd(a,100))}function $c(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function _c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Nc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ad(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Lb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Nb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bd(a,b){b||(b=ad(a));var c=a.display.barWidth,d=a.display.barHeight;cd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),cd(a,ad(a)),c=a.display.barWidth,d=a.display.barHeight}function cd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function dd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Mg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new yh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),ch(b,"mousedown",(function(){a.state.focused&&setTimeout((function(){return a.display.input.focus()}),0)})),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?_c(a,b):Zc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function ed(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++zh},rb(a.curOp)}function fd(a){var b=a.curOp;tb(b,(function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;gd(a)}))}function gd(a){for(var b=a.ops,c=0;c<b.length;c++)hd(b[c]);for(var d=0;d<b.length;d++)id(b[d]);for(var e=0;e<b.length;e++)jd(b[e]);for(var f=0;f<b.length;f++)kd(b[f]);for(var g=0;g<b.length;g++)ld(b[g])}function hd(a){var b=a.cm,c=b.display;yd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new Ah(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function id(a){a.updatedDisplay=a.mustUpdate&&Bd(a.cm,a.update)}function jd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=ad(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Tb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Nb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Ob(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection())}function kd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&_c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g();a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&bd(b,a.barMeasure),a.updatedDisplay&&Gd(b,a.barMeasure),a.selectionChanged&&Fc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Gc(a.cm)}function ld(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Cd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&$c(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&_c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Qc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Pc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Aa(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Aa(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Aa(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function md(a,b){if(a.curOp)return b();ed(a);try{return b()}finally{fd(a)}}function nd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);ed(a);try{return b.apply(a,arguments)}finally{fd(a)}}}function od(a){return function(){if(this.curOp)return a.apply(this,arguments);ed(this);try{return a.apply(this,arguments)}finally{fd(this)}}}function pd(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);ed(b);try{return a.apply(this,arguments)}finally{fd(b)}}}function qd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)$g&&oa(a.doc,b)<e.viewTo&&sd(a);else if(c<=e.viewFrom)$g&&pa(a.doc,c+d)>e.viewFrom?sd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)sd(a);else if(b<=e.viewFrom){var f=td(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):sd(a)}else if(c>=e.viewTo){var g=td(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):sd(a)}else{var h=td(a,b,b,-1),i=td(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(qb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):sd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function rd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function sd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function td(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!$g||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function ud(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=qb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=qb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(qb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function vd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function wd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(xd,a))}function xd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ya(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),(function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(b.mode,d.state):null,i=Wa(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&Za(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return wd(a,a.options.workDelay),!0})),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&md(a,(function(){for(var b=0;b<e.length;b++)rd(a,e[b],"text")}))}}function yd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Nb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Nb(a)+"px",b.scrollbarsClipped=!0)}function zd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function Ad(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Bd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return sd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==vd(a))return!1;Oc(a)&&(sd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),$g&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;ud(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=vd(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=zd(a);return j>4&&(d.lineDiv.style.display="none"),Ed(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,Ad(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,wd(a,400)),d.updateLineNumbers=null,!0}function Cd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Ob(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Lb(a.display)-Pb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Bd(a,b);d=!1){Kc(a);var e=ad(a);Ac(a),bd(a,e),Gd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Dd(a,b){var c=new Ah(a,b);if(Bd(a,c)){Kc(a),Cd(a,c);var d=ad(a);Ac(a),bd(a,d),Gd(a,d),c.finish()}}function Ed(a,c,d){function e(b){var c=b.nextSibling;return vg&&Fg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),wb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Eb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Fd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Gd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Nb(a)+"px"}function Hd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Fd(a)}function Id(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Jd(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Kd(a){var b=Jd(a);return b.x*=Ch,b.y*=Ch,b}function Ld(a,b){var c=Jd(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&Fg&&vg)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!pg&&!yg&&null!=Ch)return e&&i&&Zc(a,Math.max(0,g.scrollTop+e*Ch)),_c(a,Math.max(0,g.scrollLeft+d*Ch)),(!e||e&&i)&&Fa(b),void(f.wheelStartX=null);if(e&&null!=Ch){var m=e*Ch,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Dd(a,{top:n,bottom:o})}Bh<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout((function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(Ch=(Ch*Bh+c)/(Bh+1),++Bh)}}),200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Md(a,b){var c=a[b];a.sort((function(a,b){return K(a.from(),b.from())})),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Eh(i?h:g,i?g:h))}}return new Dh(a,b)}function Nd(a,b){return new Dh([new Eh(a,b||a)],0)}function Od(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Pd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Od(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Od(b).ch-b.to.ch),J(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new Eh(Pd(e.anchor,b),Pd(e.head,b)))}return Md(c,a.sel.primIndex)}function Rd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Sd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Rd(h.from,e,f),j=Rd(Od(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new Eh(l?j:i,l?i:j)}else d[g]=new Eh(i,i)}return new Dh(d,a.sel.primIndex)}function Td(a){a.doc.mode=Ra(a.options,a.doc.modeOption),Ud(a)}function Ud(a){a.doc.iter((function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)})),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first, +wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(ge(d,h),c&&!d.equals(a.sel))return void te(a,d,{clearRedo:!1});f=d}var j=[];ge(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Ce(a,e,!1))return g.length=0,{};j.push(ae(a,e));var f=c?Qd(a,e):p(g);He(a,e,f,ke(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Od(e)});var h=[];Xd(a,(function(a,b){b||m(h,a.history)!=-1||(Me(a.history,e),h.push(a.history)),He(a,e,null,ke(a,e))}))},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&hf(c,a,b)}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){return a.refresh()}),!0), +b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Jh, +this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80)); +},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.33.0",Vf})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/clike/clike.js b/media/editors/codemirror/mode/clike/clike.js index ef5b16fc79a1f..77064290638f5 100644 --- a/media/editors/codemirror/mode/clike/clike.js +++ b/media/editors/codemirror/mode/clike/clike.js @@ -244,6 +244,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { electricInput: indentSwitch ? /^\s*(?:case .*?:|default:|\{\}?|\})$/ : /^\s*[{}]$/, blockCommentStart: "/*", blockCommentEnd: "*/", + blockCommentContinue: " * ", lineComment: "//", fold: "brace" }; @@ -431,7 +432,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { types: words("byte short int long float double boolean char void Boolean Byte Character Double Float " + "Integer Long Number Object Short String StringBuffer StringBuilder Void"), blockKeywords: words("catch class do else finally for if switch try while"), - defKeywords: words("class interface package enum @interface"), + defKeywords: words("class interface enum @interface"), typeFirstDefinitions: true, atoms: words("true false null"), number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, @@ -488,6 +489,27 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { return "string"; } + function tokenNestedComment(depth) { + return function (stream, state) { + var ch + while (ch = stream.next()) { + if (ch == "*" && stream.eat("/")) { + if (depth == 1) { + state.tokenize = null + break + } else { + state.tokenize = tokenNestedComment(depth - 1) + return state.tokenize(stream, state) + } + } else if (ch == "/" && stream.eat("*")) { + state.tokenize = tokenNestedComment(depth + 1) + return state.tokenize(stream, state) + } + } + return "comment" + } + } + def("text/x-scala", { name: "clike", keywords: words( @@ -543,6 +565,12 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { } else { return false } + }, + + "/": function(stream, state) { + if (!stream.eat("*")) return false + state.tokenize = tokenNestedComment(1) + return state.tokenize(stream, state) } }, modeProps: {closeBrackets: {triples: '"'}} @@ -577,7 +605,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { "file import where by get set abstract enum open inner override private public internal " + "protected catch finally out final vararg reified dynamic companion constructor init " + "sealed field property receiver param sparam lateinit data inline noinline tailrec " + - "external annotation crossinline const operator infix suspend" + "external annotation crossinline const operator infix suspend actual expect" ), types: words( /* package java.lang */ @@ -591,7 +619,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { multiLineStrings: true, number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, blockKeywords: words("catch class do else finally for if where try while enum"), - defKeywords: words("class val var object package interface fun"), + defKeywords: words("class val var object interface fun"), atoms: words("true false null this"), hooks: { '"': function(stream, state) { diff --git a/media/editors/codemirror/mode/clike/clike.min.js b/media/editors/codemirror/mode/clike/clike.min.js index 61cbbf6c3b52f..c62024d83395c 100644 --- a/media/editors/codemirror/mode/clike/clike.min.js +++ b/media/editors/codemirror/mode/clike/clike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){v=s(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}));var t="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",u="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(t),types:g(u+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(t+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(u+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface package enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object package interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=r(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(t+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(u),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(t+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(u),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(u),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var v=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=s(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!v||!a.match("`"))&&(b.tokenize=v,v=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/css/css.js b/media/editors/codemirror/mode/css/css.js index bfe11d3b059f5..f5f3a41ba8a06 100644 --- a/media/editors/codemirror/mode/css/css.js +++ b/media/editors/codemirror/mode/css/css.js @@ -77,9 +77,9 @@ CodeMirror.defineMode("css", function(config, parserConfig) { return ret("qualifier", "qualifier"); } else if (/[:;{}\[\]\(\)]/.test(ch)) { return ret(null, ch); - } else if ((ch == "u" && stream.match(/rl(-prefix)?\(/)) || - (ch == "d" && stream.match("omain(")) || - (ch == "r" && stream.match("egexp("))) { + } else if (((ch == "u" || ch == "U") && stream.match(/rl(-prefix)?\(/i)) || + ((ch == "d" || ch == "D") && stream.match("omain(", true, true)) || + ((ch == "r" || ch == "R") && stream.match("egexp(", true, true))) { stream.backUp(1); state.tokenize = tokenParenthesized; return ret("property", "word"); @@ -162,16 +162,16 @@ CodeMirror.defineMode("css", function(config, parserConfig) { return pushContext(state, stream, "block"); } else if (type == "}" && state.context.prev) { return popContext(state); - } else if (supportsAtComponent && /@component/.test(type)) { + } else if (supportsAtComponent && /@component/i.test(type)) { return pushContext(state, stream, "atComponentBlock"); - } else if (/^@(-moz-)?document$/.test(type)) { + } else if (/^@(-moz-)?document$/i.test(type)) { return pushContext(state, stream, "documentTypes"); - } else if (/^@(media|supports|(-moz-)?document|import)$/.test(type)) { + } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) { return pushContext(state, stream, "atBlock"); - } else if (/^@(font-face|counter-style)/.test(type)) { + } else if (/^@(font-face|counter-style)/i.test(type)) { state.stateArg = type; return "restricted_atBlock_before"; - } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(type)) { + } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) { return "keyframes"; } else if (type && type.charAt(0) == "@") { return pushContext(state, stream, "at"); @@ -410,6 +410,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) { electricChars: "}", blockCommentStart: "/*", blockCommentEnd: "*/", + blockCommentContinue: " * ", lineComment: lineComment, fold: "brace" }; @@ -792,7 +793,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) { }, "@": function(stream) { if (stream.eat("{")) return [null, "interpolation"]; - if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/, false)) return false; + if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i, false)) return false; stream.eatWhile(/[\w\\\-]/); if (stream.match(/^\s*:/, false)) return ["variable-2", "variable-definition"]; diff --git a/media/editors/codemirror/mode/css/css.min.js b/media/editors/codemirror/mode/css/css.min.js index 492bc52789d2b..4b8837a0dbd24 100644 --- a/media/editors/codemirror/mode/css/css.min.js +++ b/media/editors/codemirror/mode/css/css.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;++c)b[a[c].toLowerCase()]=!0;return b}function c(a,b){for(var c,d=!1;null!=(c=a.next());){if(d&&"/"==c){b.tokenize=null;break}d="*"==c}return["comment","comment"]}a.defineMode("css",(function(b,c){function d(a,b){return o=b,a}function e(a,b){var c=a.next();if(r[c]){var e=r[c](a,b);if(e!==!1)return e}return"@"==c?(a.eatWhile(/[\w\\\-]/),d("def",a.current())):"="==c||("~"==c||"|"==c)&&a.eat("=")?d(null,"compare"):'"'==c||"'"==c?(b.tokenize=f(c),b.tokenize(a,b)):"#"==c?(a.eatWhile(/[\w\\\-]/),d("atom","hash")):"!"==c?(a.match(/^\s*\w*/),d("keyword","important")):/\d/.test(c)||"."==c&&a.eat(/\d/)?(a.eatWhile(/[\w.%]/),d("number","unit")):"-"!==c?/[,+>*\/]/.test(c)?d(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?d("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?d(null,c):"u"==c&&a.match(/rl(-prefix)?\(/)||"d"==c&&a.match("omain(")||"r"==c&&a.match("egexp(")?(a.backUp(1),b.tokenize=g,d("property","word")):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),d("property","word")):d(null,null):/[\d.]/.test(a.peek())?(a.eatWhile(/[\w.%]/),d("number","unit")):a.match(/^-[\w\\\-]+/)?(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?d("variable-2","variable-definition"):d("variable-2","variable")):a.match(/^\w+-/)?d("meta","meta"):void 0}function f(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){")"==a&&b.backUp(1);break}f=!f&&"\\"==e}return(e==a||!f&&")"!=a)&&(c.tokenize=null),d("string","string")}}function g(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=f(")"),d(null,"(")}function h(a,b,c){this.type=a,this.indent=b,this.prev=c}function i(a,b,c,d){return a.context=new h(c,b.indentation()+(d===!1?0:q),a.context),c}function j(a){return a.context.prev&&(a.context=a.context.prev),a.context.type}function k(a,b,c){return F[c.context.type](a,b,c)}function l(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return k(a,b,c)}function m(a){var b=a.current().toLowerCase();p=B.hasOwnProperty(b)?"atom":A.hasOwnProperty(b)?"keyword":"variable"}var n=c.inline;c.propertyKeywords||(c=a.resolveMode("text/css"));var o,p,q=b.indentUnit,r=c.tokenHooks,s=c.documentTypes||{},t=c.mediaTypes||{},u=c.mediaFeatures||{},v=c.mediaValueKeywords||{},w=c.propertyKeywords||{},x=c.nonStandardPropertyKeywords||{},y=c.fontProperties||{},z=c.counterDescriptors||{},A=c.colorKeywords||{},B=c.valueKeywords||{},C=c.allowNested,D=c.lineComment,E=c.supportsAtComponent===!0,F={};return F.top=function(a,b,c){if("{"==a)return i(c,b,"block");if("}"==a&&c.context.prev)return j(c);if(E&&/@component/.test(a))return i(c,b,"atComponentBlock");if(/^@(-moz-)?document$/.test(a))return i(c,b,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/.test(a))return i(c,b,"atBlock");if(/^@(font-face|counter-style)/.test(a))return c.stateArg=a,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(a))return"keyframes";if(a&&"@"==a.charAt(0))return i(c,b,"at");if("hash"==a)p="builtin";else if("word"==a)p="tag";else{if("variable-definition"==a)return"maybeprop";if("interpolation"==a)return i(c,b,"interpolation");if(":"==a)return"pseudo";if(C&&"("==a)return i(c,b,"parens")}return c.context.type},F.block=function(a,b,c){if("word"==a){var d=b.current().toLowerCase();return w.hasOwnProperty(d)?(p="property","maybeprop"):x.hasOwnProperty(d)?(p="string-2","maybeprop"):C?(p=b.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(p+=" error","maybeprop")}return"meta"==a?"block":C||"hash"!=a&&"qualifier"!=a?F.top(a,b,c):(p="error","block")},F.maybeprop=function(a,b,c){return":"==a?i(c,b,"prop"):k(a,b,c)},F.prop=function(a,b,c){if(";"==a)return j(c);if("{"==a&&C)return i(c,b,"propBlock");if("}"==a||"{"==a)return l(a,b,c);if("("==a)return i(c,b,"parens");if("hash"!=a||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(b.current())){if("word"==a)m(b);else if("interpolation"==a)return i(c,b,"interpolation")}else p+=" error";return"prop"},F.propBlock=function(a,b,c){return"}"==a?j(c):"word"==a?(p="property","maybeprop"):c.context.type},F.parens=function(a,b,c){return"{"==a||"}"==a?l(a,b,c):")"==a?j(c):"("==a?i(c,b,"parens"):"interpolation"==a?i(c,b,"interpolation"):("word"==a&&m(b),"parens")},F.pseudo=function(a,b,c){return"meta"==a?"pseudo":"word"==a?(p="variable-3",c.context.type):k(a,b,c)},F.documentTypes=function(a,b,c){return"word"==a&&s.hasOwnProperty(b.current())?(p="tag",c.context.type):F.atBlock(a,b,c)},F.atBlock=function(a,b,c){if("("==a)return i(c,b,"atBlock_parens");if("}"==a||";"==a)return l(a,b,c);if("{"==a)return j(c)&&i(c,b,C?"block":"top");if("interpolation"==a)return i(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();p="only"==d||"not"==d||"and"==d||"or"==d?"keyword":t.hasOwnProperty(d)?"attribute":u.hasOwnProperty(d)?"property":v.hasOwnProperty(d)?"keyword":w.hasOwnProperty(d)?"property":x.hasOwnProperty(d)?"string-2":B.hasOwnProperty(d)?"atom":A.hasOwnProperty(d)?"keyword":"error"}return c.context.type},F.atComponentBlock=function(a,b,c){return"}"==a?l(a,b,c):"{"==a?j(c)&&i(c,b,C?"block":"top",!1):("word"==a&&(p="error"),c.context.type)},F.atBlock_parens=function(a,b,c){return")"==a?j(c):"{"==a||"}"==a?l(a,b,c,2):F.atBlock(a,b,c)},F.restricted_atBlock_before=function(a,b,c){return"{"==a?i(c,b,"restricted_atBlock"):"word"==a&&"@counter-style"==c.stateArg?(p="variable","restricted_atBlock_before"):k(a,b,c)},F.restricted_atBlock=function(a,b,c){return"}"==a?(c.stateArg=null,j(c)):"word"==a?(p="@font-face"==c.stateArg&&!y.hasOwnProperty(b.current().toLowerCase())||"@counter-style"==c.stateArg&&!z.hasOwnProperty(b.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},F.keyframes=function(a,b,c){return"word"==a?(p="variable","keyframes"):"{"==a?i(c,b,"top"):k(a,b,c)},F.at=function(a,b,c){return";"==a?j(c):"{"==a||"}"==a?l(a,b,c):("word"==a?p="tag":"hash"==a&&(p="builtin"),"at")},F.interpolation=function(a,b,c){return"}"==a?j(c):"{"==a||";"==a?l(a,b,c):("word"==a?p="variable":"variable"!=a&&"("!=a&&")"!=a&&(p="error"),"interpolation")},{startState:function(a){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new h(n?"block":"top",a||0,null)}},token:function(a,b){if(!b.tokenize&&a.eatSpace())return null;var c=(b.tokenize||e)(a,b);return c&&"object"==typeof c&&(o=c[1],c=c[0]),p=c,"comment"!=o&&(b.state=F[b.state](o,a,b)),p},indent:function(a,b){var c=a.context,d=b&&b.charAt(0),e=c.indent;return"prop"!=c.type||"}"!=d&&")"!=d||(c=c.prev),c.prev&&("}"!=d||"block"!=c.type&&"top"!=c.type&&"interpolation"!=c.type&&"restricted_atBlock"!=c.type?(")"!=d||"parens"!=c.type&&"atBlock_parens"!=c.type)&&("{"!=d||"at"!=c.type&&"atBlock"!=c.type)||(e=Math.max(0,c.indent-q)):(c=c.prev,e=c.indent)),e},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:D,fold:"brace"}}));var d=["domain","regexp","url","url-prefix"],e=b(d),f=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],g=b(f),h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],i=b(h),j=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],k=b(j),l=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],m=b(l),n=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],o=b(n),p=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],q=b(p),r=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],s=b(r),t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],u=b(t),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],w=b(v),x=d.concat(f).concat(h).concat(j).concat(l).concat(n).concat(t).concat(v);a.registerHelper("hintWords","css",x),a.defineMIME("text/css",{documentTypes:e,mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css"}),a.defineMIME("text/x-scss",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},":":function(a){return!!a.match(/\s*\{/,!1)&&[null,null]},$:function(a){return a.match(/^[\w-]+/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(a){return!!a.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),a.defineMIME("text/x-less",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},"@":function(a){return a.eat("{")?[null,"interpolation"]:!a.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/,!1)&&(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),a.defineMIME("text/x-gss",{documentTypes:e,mediaTypes:g,mediaFeatures:i,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,supportsAtComponent:!0,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css",helperType:"gss"})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;++c)b[a[c].toLowerCase()]=!0;return b}function c(a,b){for(var c,d=!1;null!=(c=a.next());){if(d&&"/"==c){b.tokenize=null;break}d="*"==c}return["comment","comment"]}a.defineMode("css",(function(b,c){function d(a,b){return o=b,a}function e(a,b){var c=a.next();if(r[c]){var e=r[c](a,b);if(e!==!1)return e}return"@"==c?(a.eatWhile(/[\w\\\-]/),d("def",a.current())):"="==c||("~"==c||"|"==c)&&a.eat("=")?d(null,"compare"):'"'==c||"'"==c?(b.tokenize=f(c),b.tokenize(a,b)):"#"==c?(a.eatWhile(/[\w\\\-]/),d("atom","hash")):"!"==c?(a.match(/^\s*\w*/),d("keyword","important")):/\d/.test(c)||"."==c&&a.eat(/\d/)?(a.eatWhile(/[\w.%]/),d("number","unit")):"-"!==c?/[,+>*\/]/.test(c)?d(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?d("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?d(null,c):("u"==c||"U"==c)&&a.match(/rl(-prefix)?\(/i)||("d"==c||"D"==c)&&a.match("omain(",!0,!0)||("r"==c||"R"==c)&&a.match("egexp(",!0,!0)?(a.backUp(1),b.tokenize=g,d("property","word")):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),d("property","word")):d(null,null):/[\d.]/.test(a.peek())?(a.eatWhile(/[\w.%]/),d("number","unit")):a.match(/^-[\w\\\-]+/)?(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?d("variable-2","variable-definition"):d("variable-2","variable")):a.match(/^\w+-/)?d("meta","meta"):void 0}function f(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){")"==a&&b.backUp(1);break}f=!f&&"\\"==e}return(e==a||!f&&")"!=a)&&(c.tokenize=null),d("string","string")}}function g(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=f(")"),d(null,"(")}function h(a,b,c){this.type=a,this.indent=b,this.prev=c}function i(a,b,c,d){return a.context=new h(c,b.indentation()+(d===!1?0:q),a.context),c}function j(a){return a.context.prev&&(a.context=a.context.prev),a.context.type}function k(a,b,c){return F[c.context.type](a,b,c)}function l(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return k(a,b,c)}function m(a){var b=a.current().toLowerCase();p=B.hasOwnProperty(b)?"atom":A.hasOwnProperty(b)?"keyword":"variable"}var n=c.inline;c.propertyKeywords||(c=a.resolveMode("text/css"));var o,p,q=b.indentUnit,r=c.tokenHooks,s=c.documentTypes||{},t=c.mediaTypes||{},u=c.mediaFeatures||{},v=c.mediaValueKeywords||{},w=c.propertyKeywords||{},x=c.nonStandardPropertyKeywords||{},y=c.fontProperties||{},z=c.counterDescriptors||{},A=c.colorKeywords||{},B=c.valueKeywords||{},C=c.allowNested,D=c.lineComment,E=c.supportsAtComponent===!0,F={};return F.top=function(a,b,c){if("{"==a)return i(c,b,"block");if("}"==a&&c.context.prev)return j(c);if(E&&/@component/i.test(a))return i(c,b,"atComponentBlock");if(/^@(-moz-)?document$/i.test(a))return i(c,b,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(a))return i(c,b,"atBlock");if(/^@(font-face|counter-style)/i.test(a))return c.stateArg=a,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(a))return"keyframes";if(a&&"@"==a.charAt(0))return i(c,b,"at");if("hash"==a)p="builtin";else if("word"==a)p="tag";else{if("variable-definition"==a)return"maybeprop";if("interpolation"==a)return i(c,b,"interpolation");if(":"==a)return"pseudo";if(C&&"("==a)return i(c,b,"parens")}return c.context.type},F.block=function(a,b,c){if("word"==a){var d=b.current().toLowerCase();return w.hasOwnProperty(d)?(p="property","maybeprop"):x.hasOwnProperty(d)?(p="string-2","maybeprop"):C?(p=b.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(p+=" error","maybeprop")}return"meta"==a?"block":C||"hash"!=a&&"qualifier"!=a?F.top(a,b,c):(p="error","block")},F.maybeprop=function(a,b,c){return":"==a?i(c,b,"prop"):k(a,b,c)},F.prop=function(a,b,c){if(";"==a)return j(c);if("{"==a&&C)return i(c,b,"propBlock");if("}"==a||"{"==a)return l(a,b,c);if("("==a)return i(c,b,"parens");if("hash"!=a||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(b.current())){if("word"==a)m(b);else if("interpolation"==a)return i(c,b,"interpolation")}else p+=" error";return"prop"},F.propBlock=function(a,b,c){return"}"==a?j(c):"word"==a?(p="property","maybeprop"):c.context.type},F.parens=function(a,b,c){return"{"==a||"}"==a?l(a,b,c):")"==a?j(c):"("==a?i(c,b,"parens"):"interpolation"==a?i(c,b,"interpolation"):("word"==a&&m(b),"parens")},F.pseudo=function(a,b,c){return"meta"==a?"pseudo":"word"==a?(p="variable-3",c.context.type):k(a,b,c)},F.documentTypes=function(a,b,c){return"word"==a&&s.hasOwnProperty(b.current())?(p="tag",c.context.type):F.atBlock(a,b,c)},F.atBlock=function(a,b,c){if("("==a)return i(c,b,"atBlock_parens");if("}"==a||";"==a)return l(a,b,c);if("{"==a)return j(c)&&i(c,b,C?"block":"top");if("interpolation"==a)return i(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();p="only"==d||"not"==d||"and"==d||"or"==d?"keyword":t.hasOwnProperty(d)?"attribute":u.hasOwnProperty(d)?"property":v.hasOwnProperty(d)?"keyword":w.hasOwnProperty(d)?"property":x.hasOwnProperty(d)?"string-2":B.hasOwnProperty(d)?"atom":A.hasOwnProperty(d)?"keyword":"error"}return c.context.type},F.atComponentBlock=function(a,b,c){return"}"==a?l(a,b,c):"{"==a?j(c)&&i(c,b,C?"block":"top",!1):("word"==a&&(p="error"),c.context.type)},F.atBlock_parens=function(a,b,c){return")"==a?j(c):"{"==a||"}"==a?l(a,b,c,2):F.atBlock(a,b,c)},F.restricted_atBlock_before=function(a,b,c){return"{"==a?i(c,b,"restricted_atBlock"):"word"==a&&"@counter-style"==c.stateArg?(p="variable","restricted_atBlock_before"):k(a,b,c)},F.restricted_atBlock=function(a,b,c){return"}"==a?(c.stateArg=null,j(c)):"word"==a?(p="@font-face"==c.stateArg&&!y.hasOwnProperty(b.current().toLowerCase())||"@counter-style"==c.stateArg&&!z.hasOwnProperty(b.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},F.keyframes=function(a,b,c){return"word"==a?(p="variable","keyframes"):"{"==a?i(c,b,"top"):k(a,b,c)},F.at=function(a,b,c){return";"==a?j(c):"{"==a||"}"==a?l(a,b,c):("word"==a?p="tag":"hash"==a&&(p="builtin"),"at")},F.interpolation=function(a,b,c){return"}"==a?j(c):"{"==a||";"==a?l(a,b,c):("word"==a?p="variable":"variable"!=a&&"("!=a&&")"!=a&&(p="error"),"interpolation")},{startState:function(a){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new h(n?"block":"top",a||0,null)}},token:function(a,b){if(!b.tokenize&&a.eatSpace())return null;var c=(b.tokenize||e)(a,b);return c&&"object"==typeof c&&(o=c[1],c=c[0]),p=c,"comment"!=o&&(b.state=F[b.state](o,a,b)),p},indent:function(a,b){var c=a.context,d=b&&b.charAt(0),e=c.indent;return"prop"!=c.type||"}"!=d&&")"!=d||(c=c.prev),c.prev&&("}"!=d||"block"!=c.type&&"top"!=c.type&&"interpolation"!=c.type&&"restricted_atBlock"!=c.type?(")"!=d||"parens"!=c.type&&"atBlock_parens"!=c.type)&&("{"!=d||"at"!=c.type&&"atBlock"!=c.type)||(e=Math.max(0,c.indent-q)):(c=c.prev,e=c.indent)),e},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:D,fold:"brace"}}));var d=["domain","regexp","url","url-prefix"],e=b(d),f=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],g=b(f),h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],i=b(h),j=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],k=b(j),l=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],m=b(l),n=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],o=b(n),p=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],q=b(p),r=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],s=b(r),t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],u=b(t),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],w=b(v),x=d.concat(f).concat(h).concat(j).concat(l).concat(n).concat(t).concat(v);a.registerHelper("hintWords","css",x),a.defineMIME("text/css",{documentTypes:e,mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css"}),a.defineMIME("text/x-scss",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},":":function(a){return!!a.match(/\s*\{/,!1)&&[null,null]},$:function(a){return a.match(/^[\w-]+/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(a){return!!a.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),a.defineMIME("text/x-less",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},"@":function(a){return a.eat("{")?[null,"interpolation"]:!a.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),a.defineMIME("text/x-gss",{documentTypes:e,mediaTypes:g,mediaFeatures:i,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,supportsAtComponent:!0,tokenHooks:{"/":function(a,b){return!!a.eat("*")&&(b.tokenize=c,c(a,b))}},name:"css",helperType:"gss"})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/dart/dart.js b/media/editors/codemirror/mode/dart/dart.js index 398f5ef3b576f..4db0d37159a16 100644 --- a/media/editors/codemirror/mode/dart/dart.js +++ b/media/editors/codemirror/mode/dart/dart.js @@ -12,7 +12,7 @@ "use strict"; var keywords = ("this super static final const abstract class extends external factory " + - "implements get native operator set typedef with enum throw rethrow " + + "implements get native set typedef with enum throw rethrow " + "assert break case continue default in return new deferred async await covariant " + "try catch finally do else for if switch while import library export " + "part of show hide is as").split(" "); diff --git a/media/editors/codemirror/mode/dart/dart.min.js b/media/editors/codemirror/mode/dart/dart.min.js index b030bd0f0f9f4..70ce28f88c77b 100644 --- a/media/editors/codemirror/mode/dart/dart.min.js +++ b/media/editors/codemirror/mode/dart/dart.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../clike/clike"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;++c)b[a[c]]=!0;return b}function c(a){(a.interpolationStack||(a.interpolationStack=[])).push(a.tokenize)}function d(a){return(a.interpolationStack||(a.interpolationStack=[])).pop()}function e(a){return a.interpolationStack?a.interpolationStack.length:0}function f(a,b,d,e){function f(b,d){for(var f=!1;!b.eol();){if(!e&&!f&&"$"==b.peek())return c(d),d.tokenize=g,"string";var i=b.next();if(i==a&&!f&&(!h||b.match(a+a))){d.tokenize=null;break}f=!e&&!f&&"\\"==i}return"string"}var h=!1;if(b.eat(a)){if(!b.eat(a))return"string";h=!0}return d.tokenize=f,f(b,d)}function g(a,b){return a.eat("$"),a.eat("{")?b.tokenize=null:b.tokenize=h,null}function h(a,b){return a.eatWhile(/[\w_]/),b.tokenize=d(b),"variable"}function i(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=i(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=i(a+1),c.tokenize(b,c)}return"comment"}}var j="this super static final const abstract class extends external factory implements get native operator set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as".split(" "),k="try catch finally do else for if switch while".split(" "),l="true false null".split(" "),m="void bool num int double dynamic var String".split(" ");a.defineMIME("application/dart",{name:"clike",keywords:b(j),blockKeywords:b(k),builtin:b(m),atoms:b(l),hooks:{"@":function(a){return a.eatWhile(/[\w\$_\.]/),"meta"},"'":function(a,b){return f("'",a,b,!1)},'"':function(a,b){return f('"',a,b,!1)},r:function(a,b){var c=a.peek();return("'"==c||'"'==c)&&f(a.next(),a,b,!0)},"}":function(a,b){return e(b)>0&&(b.tokenize=d(b),null)},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=i(1),b.tokenize(a,b))}}}),a.registerHelper("hintWords","application/dart",j.concat(l).concat(m)),a.defineMode("dart",(function(b){return a.getMode(b,"application/dart")}),"clike")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../clike/clike"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;++c)b[a[c]]=!0;return b}function c(a){(a.interpolationStack||(a.interpolationStack=[])).push(a.tokenize)}function d(a){return(a.interpolationStack||(a.interpolationStack=[])).pop()}function e(a){return a.interpolationStack?a.interpolationStack.length:0}function f(a,b,d,e){function f(b,d){for(var f=!1;!b.eol();){if(!e&&!f&&"$"==b.peek())return c(d),d.tokenize=g,"string";var i=b.next();if(i==a&&!f&&(!h||b.match(a+a))){d.tokenize=null;break}f=!e&&!f&&"\\"==i}return"string"}var h=!1;if(b.eat(a)){if(!b.eat(a))return"string";h=!0}return d.tokenize=f,f(b,d)}function g(a,b){return a.eat("$"),a.eat("{")?b.tokenize=null:b.tokenize=h,null}function h(a,b){return a.eatWhile(/[\w_]/),b.tokenize=d(b),"variable"}function i(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=i(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=i(a+1),c.tokenize(b,c)}return"comment"}}var j="this super static final const abstract class extends external factory implements get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as".split(" "),k="try catch finally do else for if switch while".split(" "),l="true false null".split(" "),m="void bool num int double dynamic var String".split(" ");a.defineMIME("application/dart",{name:"clike",keywords:b(j),blockKeywords:b(k),builtin:b(m),atoms:b(l),hooks:{"@":function(a){return a.eatWhile(/[\w\$_\.]/),"meta"},"'":function(a,b){return f("'",a,b,!1)},'"':function(a,b){return f('"',a,b,!1)},r:function(a,b){var c=a.peek();return("'"==c||'"'==c)&&f(a.next(),a,b,!0)},"}":function(a,b){return e(b)>0&&(b.tokenize=d(b),null)},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=i(1),b.tokenize(a,b))}}}),a.registerHelper("hintWords","application/dart",j.concat(l).concat(m)),a.defineMode("dart",(function(b){return a.getMode(b,"application/dart")}),"clike")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/htmlembedded/htmlembedded.js b/media/editors/codemirror/mode/htmlembedded/htmlembedded.js index 464dc57f83870..8099d370be0bd 100644 --- a/media/editors/codemirror/mode/htmlembedded/htmlembedded.js +++ b/media/editors/codemirror/mode/htmlembedded/htmlembedded.js @@ -14,7 +14,16 @@ "use strict"; CodeMirror.defineMode("htmlembedded", function(config, parserConfig) { + var closeComment = parserConfig.closeComment || "--%>" return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), { + open: parserConfig.openComment || "<%--", + close: closeComment, + delimStyle: "comment", + mode: {token: function(stream) { + stream.skipTo(closeComment) || stream.skipToEnd() + return "comment" + }} + }, { open: parserConfig.open || parserConfig.scriptStartRegex || "<%", close: parserConfig.close || parserConfig.scriptEndRegex || "%>", mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec) diff --git a/media/editors/codemirror/mode/htmlembedded/htmlembedded.min.js b/media/editors/codemirror/mode/htmlembedded/htmlembedded.min.js index 0d551cf91decf..05fe675b6dd91 100644 --- a/media/editors/codemirror/mode/htmlembedded/htmlembedded.min.js +++ b/media/editors/codemirror/mode/htmlembedded/htmlembedded.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../../addon/mode/multiplex")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../../addon/mode/multiplex"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("htmlembedded",(function(b,c){return a.multiplexingMode(a.getMode(b,"htmlmixed"),{open:c.open||c.scriptStartRegex||"<%",close:c.close||c.scriptEndRegex||"%>",mode:a.getMode(b,c.scriptingModeSpec)})}),"htmlmixed"),a.defineMIME("application/x-ejs",{name:"htmlembedded",scriptingModeSpec:"javascript"}),a.defineMIME("application/x-aspx",{name:"htmlembedded",scriptingModeSpec:"text/x-csharp"}),a.defineMIME("application/x-jsp",{name:"htmlembedded",scriptingModeSpec:"text/x-java"}),a.defineMIME("application/x-erb",{name:"htmlembedded",scriptingModeSpec:"ruby"})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../../addon/mode/multiplex")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../../addon/mode/multiplex"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("htmlembedded",(function(b,c){var d=c.closeComment||"--%>";return a.multiplexingMode(a.getMode(b,"htmlmixed"),{open:c.openComment||"<%--",close:d,delimStyle:"comment",mode:{token:function(a){return a.skipTo(d)||a.skipToEnd(),"comment"}}},{open:c.open||c.scriptStartRegex||"<%",close:c.close||c.scriptEndRegex||"%>",mode:a.getMode(b,c.scriptingModeSpec)})}),"htmlmixed"),a.defineMIME("application/x-ejs",{name:"htmlembedded",scriptingModeSpec:"javascript"}),a.defineMIME("application/x-aspx",{name:"htmlembedded",scriptingModeSpec:"text/x-csharp"}),a.defineMIME("application/x-jsp",{name:"htmlembedded",scriptingModeSpec:"text/x-java"}),a.defineMIME("application/x-erb",{name:"htmlembedded",scriptingModeSpec:"ruby"})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/javascript/javascript.js b/media/editors/codemirror/mode/javascript/javascript.js index 0a46dc77681fd..edab99f3d74a1 100644 --- a/media/editors/codemirror/mode/javascript/javascript.js +++ b/media/editors/codemirror/mode/javascript/javascript.js @@ -23,13 +23,13 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var keywords = function(){ function kw(type) {return {type: type, style: "keyword"};} - var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"); + var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"), D = kw("keyword d"); var operator = kw("operator"), atom = {type: "atom", style: "atom"}; - var jsKeywords = { + return { "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, - "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "void": C, "throw": C, "debugger": C, - "var": kw("var"), "const": kw("var"), "let": kw("var"), + "return": D, "break": D, "continue": D, "new": kw("new"), "delete": C, "void": C, "throw": C, + "debugger": kw("debugger"), "var": kw("var"), "const": kw("var"), "let": kw("var"), "function": kw("function"), "catch": kw("catch"), "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), "in": operator, "typeof": operator, "instanceof": operator, @@ -38,35 +38,6 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { "yield": C, "export": kw("export"), "import": kw("import"), "extends": C, "await": C }; - - // Extend the 'normal' keywords with the TypeScript language extensions - if (isTS) { - var type = {type: "variable", style: "type"}; - var tsKeywords = { - // object-like things - "interface": kw("class"), - "implements": C, - "namespace": C, - "module": kw("module"), - "enum": kw("module"), - - // scope modifiers - "public": kw("modifier"), - "private": kw("modifier"), - "protected": kw("modifier"), - "abstract": kw("modifier"), - "readonly": kw("modifier"), - - // types - "string": type, "number": type, "boolean": type, "any": type - }; - - for (var attr in tsKeywords) { - jsKeywords[attr] = tsKeywords[attr]; - } - } - - return jsKeywords; }(); var isOperatorChar = /[+\-*&%=<>!?|~^@]/; @@ -128,7 +99,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { stream.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/); return ret("regexp", "string-2"); } else { - stream.eatWhile(isOperatorChar); + stream.eat("="); return ret("operator", "operator", stream.current()); } } else if (ch == "`") { @@ -138,8 +109,14 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { stream.skipToEnd(); return ret("error", "error"); } else if (isOperatorChar.test(ch)) { - if (ch != ">" || !state.lexical || state.lexical.type != ">") - stream.eatWhile(isOperatorChar); + if (ch != ">" || !state.lexical || state.lexical.type != ">") { + if (stream.eat("=")) { + if (ch == "!" || ch == "=") stream.eat("=") + } else if (/[<>*+\-]/.test(ch)) { + stream.eat(ch) + if (ch == ">") stream.eat(ch) + } + } return ret("operator", "operator", stream.current()); } else if (wordRE.test(ch)) { stream.eatWhile(wordRE); @@ -149,7 +126,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var kw = keywords[word] return ret(kw.type, kw.style, word) } - if (word == "async" && stream.match(/^\s*[\(\w]/, false)) + if (word == "async" && stream.match(/^(\s|\/\*.*?\*\/)*[\(\w]/, false)) return ret("async", "keyword", word) } return ret("variable", "variable", word) @@ -306,6 +283,10 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } } + function isModifier(name) { + return name == "public" || name == "private" || name == "protected" || name == "abstract" || name == "readonly" + } + // Combinators var defaultVars = {name: "this", next: {name: "arguments"}}; @@ -351,6 +332,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "var") return cont(pushlex("vardef", value.length), vardef, expect(";"), poplex); if (type == "keyword a") return cont(pushlex("form"), parenExpr, statement, poplex); if (type == "keyword b") return cont(pushlex("form"), statement, poplex); + if (type == "keyword d") return cx.stream.match(/^\s*$/, false) ? cont() : cont(pushlex("stat"), maybeexpression, expect(";"), poplex); + if (type == "debugger") return cont(expect(";")); if (type == "{") return cont(pushlex("}"), block, poplex); if (type == ";") return cont(); if (type == "if") { @@ -360,13 +343,20 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } if (type == "function") return cont(functiondef); if (type == "for") return cont(pushlex("form"), forspec, statement, poplex); + if (type == "class" || (isTS && value == "interface")) { cx.marked = "keyword"; return cont(pushlex("form"), className, poplex); } if (type == "variable") { if (isTS && value == "type") { cx.marked = "keyword" return cont(typeexpr, expect("operator"), typeexpr, expect(";")); - } if (isTS && value == "declare") { + } else if (isTS && value == "declare") { cx.marked = "keyword" return cont(statement) + } else if (isTS && (value == "module" || value == "enum") && cx.stream.match(/^\s*\w/, false)) { + cx.marked = "keyword" + return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) + } else if (isTS && value == "namespace") { + cx.marked = "keyword" + return cont(pushlex("form"), expression, block, poplex) } else { return cont(pushlex("stat"), maybelabel); } @@ -377,25 +367,23 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "default") return cont(expect(":")); if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"), statement, poplex, popcontext); - if (type == "class") return cont(pushlex("form"), className, poplex); if (type == "export") return cont(pushlex("stat"), afterExport, poplex); if (type == "import") return cont(pushlex("stat"), afterImport, poplex); - if (type == "module") return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) if (type == "async") return cont(statement) if (value == "@") return cont(expression, statement) return pass(pushlex("stat"), expression, expect(";"), poplex); } - function expression(type) { - return expressionInner(type, false); + function expression(type, value) { + return expressionInner(type, value, false); } - function expressionNoComma(type) { - return expressionInner(type, true); + function expressionNoComma(type, value) { + return expressionInner(type, value, true); } function parenExpr(type) { if (type != "(") return pass() return cont(pushlex(")"), expression, expect(")"), poplex) } - function expressionInner(type, noComma) { + function expressionInner(type, value, noComma) { if (cx.state.fatArrowAt == cx.stream.start) { var body = noComma ? arrowBodyNoComma : arrowBody; if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, expect("=>"), body, popcontext); @@ -405,8 +393,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma; if (atomicTypes.hasOwnProperty(type)) return cont(maybeop); if (type == "function") return cont(functiondef, maybeop); - if (type == "class") return cont(pushlex("form"), classExpression, poplex); - if (type == "keyword c" || type == "async") return cont(noComma ? maybeexpressionNoComma : maybeexpression); + if (type == "class" || (isTS && value == "interface")) { cx.marked = "keyword"; return cont(pushlex("form"), classExpression, poplex); } + if (type == "keyword c" || type == "async") return cont(noComma ? expressionNoComma : expression); if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeop); if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression); if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop); @@ -419,10 +407,6 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type.match(/[;\}\)\],]/)) return pass(); return pass(expression); } - function maybeexpressionNoComma(type) { - if (type.match(/[;\}\)\],]/)) return pass(); - return pass(expressionNoComma); - } function maybeoperatorComma(type, value) { if (type == ",") return cont(expression); @@ -434,6 +418,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "=>") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext); if (type == "operator") { if (/\+\+|--/.test(value) || isTS && value == "!") return cont(me); + if (isTS && value == "<" && cx.stream.match(/^([^>]|<.*?>)*>\s*\(/, false)) + return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, me); if (value == "?") return cont(expression, expect(":"), expr); return cont(expr); } @@ -505,12 +491,16 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { return cont(afterprop); } else if (type == "jsonld-keyword") { return cont(afterprop); - } else if (type == "modifier") { + } else if (isTS && isModifier(value)) { + cx.marked = "keyword" return cont(objprop) } else if (type == "[") { - return cont(expression, expect("]"), afterprop); + return cont(expression, maybetype, expect("]"), afterprop); } else if (type == "spread") { - return cont(expression, afterprop); + return cont(expressionNoComma, afterprop); + } else if (value == "*") { + cx.marked = "keyword"; + return cont(objprop); } else if (type == ":") { return pass(afterprop) } @@ -557,8 +547,20 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (value == "?") return cont(maybetype); } } + function mayberettype(type) { + if (isTS && type == ":") { + if (cx.stream.match(/^\s*\w+\s+is\b/, false)) return cont(expression, isKW, typeexpr) + else return cont(typeexpr) + } + } + function isKW(_, value) { + if (value == "is") { + cx.marked = "keyword" + return cont() + } + } function typeexpr(type, value) { - if (type == "variable") { + if (type == "variable" || value == "void") { if (value == "keyof") { cx.marked = "keyword" return cont(typeexpr) @@ -595,16 +597,22 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) if (value == "|" || type == ".") return cont(typeexpr) if (type == "[") return cont(expect("]"), afterType) - if (value == "extends") return cont(typeexpr) + if (value == "extends" || value == "implements") { cx.marked = "keyword"; return cont(typeexpr) } } function maybeTypeArgs(_, value) { if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) } + function typeparam() { + return pass(typeexpr, maybeTypeDefault) + } + function maybeTypeDefault(_, value) { + if (value == "=") return cont(typeexpr) + } function vardef() { return pass(pattern, maybetype, maybeAssign, vardefCont); } function pattern(type, value) { - if (type == "modifier") return cont(pattern) + if (isTS && isModifier(value)) { cx.marked = "keyword"; return cont(pattern) } if (type == "variable") { register(value); return cont(); } if (type == "spread") return cont(pattern); if (type == "[") return contCommasep(pattern, "]"); @@ -653,12 +661,13 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function functiondef(type, value) { if (value == "*") {cx.marked = "keyword"; return cont(functiondef);} if (type == "variable") {register(value); return cont(functiondef);} - if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, maybetype, statement, popcontext); - if (isTS && value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, functiondef) + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, mayberettype, statement, popcontext); + if (isTS && value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, functiondef) } function funarg(type, value) { if (value == "@") cont(expression, funarg) - if (type == "spread" || type == "modifier") return cont(funarg); + if (type == "spread") return cont(funarg); + if (isTS && isModifier(value)) { cx.marked = "keyword"; return cont(funarg); } return pass(pattern, maybetype, maybeAssign); } function classExpression(type, value) { @@ -670,15 +679,15 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "variable") {register(value); return cont(classNameAfter);} } function classNameAfter(type, value) { - if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, classNameAfter) + if (value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, classNameAfter) if (value == "extends" || value == "implements" || (isTS && type == ",")) return cont(isTS ? typeexpr : expression, classNameAfter); if (type == "{") return cont(pushlex("}"), classBody, poplex); } function classBody(type, value) { - if (type == "modifier" || type == "async" || + if (type == "async" || (type == "variable" && - (value == "static" || value == "get" || value == "set") && + (value == "static" || value == "get" || value == "set" || (isTS && isModifier(value))) && cx.stream.match(/^\s+[\w$\xa1-\uffff]/, false))) { cx.marked = "keyword"; return cont(classBody); @@ -688,7 +697,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { return cont(isTS ? classfield : functiondef, classBody); } if (type == "[") - return cont(expression, expect("]"), isTS ? classfield : functiondef, classBody) + return cont(expression, maybetype, expect("]"), isTS ? classfield : functiondef, classBody) if (value == "*") { cx.marked = "keyword"; return cont(classBody); @@ -745,7 +754,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function expressionAllowed(stream, state, backUp) { return state.tokenize == tokenBase && - /^(?:operator|sof|keyword [bc]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(state.lastType) || + /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(state.lastType) || (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) } @@ -814,6 +823,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, blockCommentStart: jsonMode ? null : "/*", blockCommentEnd: jsonMode ? null : "*/", + blockCommentContinue: jsonMode ? null : " * ", lineComment: jsonMode ? null : "//", fold: "brace", closeBrackets: "()[]{}''\"\"``", diff --git a/media/editors/codemirror/mode/javascript/javascript.min.js b/media/editors/codemirror/mode/javascript/javascript.min.js index 208f714d4e18c..cfa1017a80099 100644 --- a/media/editors/codemirror/mode/javascript/javascript.min.js +++ b/media/editors/codemirror/mode/javascript/javascript.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Aa=a,Ba=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):za(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eatWhile(Ja),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Ja.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||a.eatWhile(Ja),e("operator","operator",a.current());if(Ha.test(c)){a.eatWhile(Ha);var f=a.current();if("."!=b.lastType){if(Ia.propertyIsEnumerable(f)){var j=Ia[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^\s*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ea&&"@"==b.peek()&&b.match(Ka))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ga){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=La.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Ha.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Na.state=a,Na.stream=e,Na.marked=null,Na.cc=f,Na.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():Fa?w:v;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Na.marked?Na.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Na.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Na.state;if(Na.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(){Na.state.context={prev:Na.state.context,vars:Na.state.localVars},Na.state.localVars=Oa}function r(){Na.state.localVars=Na.state.context.vars,Na.state.context=Na.state.context.prev}function s(a,b){var c=function(){var c=Na.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Na.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function t(){var a=Na.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function u(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function v(a,b){return"var"==a?o(s("vardef",b.length),$,u(";"),t):"keyword a"==a?o(s("form"),y,v,t):"keyword b"==a?o(s("form"),v,t):"{"==a?o(s("}"),S,t):";"==a?o():"if"==a?("else"==Na.state.lexical.info&&Na.state.cc[Na.state.cc.length-1]==t&&Na.state.cc.pop()(),o(s("form"),y,v,t,da)):"function"==a?o(ja):"for"==a?o(s("form"),ea,v,t):"variable"==a?Ga&&"type"==b?(Na.marked="keyword",o(U,u("operator"),U,u(";"))):Ga&&"declare"==b?(Na.marked="keyword",o(v)):o(s("stat"),L):"switch"==a?o(s("form"),y,u("{"),s("}","switch"),S,t,t):"case"==a?o(w,u(":")):"default"==a?o(u(":")):"catch"==a?o(s("form"),q,u("("),ka,u(")"),v,t,r):"class"==a?o(s("form"),ma,t):"export"==a?o(s("stat"),qa,t):"import"==a?o(s("stat"),sa,t):"module"==a?o(s("form"),_,u("{"),s("}"),S,t,t):"async"==a?o(v):"@"==b?o(w,v):n(s("stat"),w,u(";"),t)}function w(a){return z(a,!1)}function x(a){return z(a,!0)}function y(a){return"("!=a?n():o(s(")"),w,u(")"),t)}function z(a,b){if(Na.state.fatArrowAt==Na.stream.start){var c=b?H:G;if("("==a)return o(q,s(")"),Q(ka,")"),t,u("=>"),c,r);if("variable"==a)return n(q,_,u("=>"),c,r)}var d=b?D:C;return Ma.hasOwnProperty(a)?o(d):"function"==a?o(ja,d):"class"==a?o(s("form"),la,t):"keyword c"==a||"async"==a?o(b?B:A):"("==a?o(s(")"),A,u(")"),t,d):"operator"==a||"spread"==a?o(b?x:w):"["==a?o(s("]"),xa,t,d):"{"==a?R(N,"}",null,d):"quasi"==a?n(E,d):"new"==a?o(I(b)):o()}function A(a){return a.match(/[;\}\)\],]/)?n():n(w)}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(w):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?w:x;return"=>"==a?o(q,c?H:G,r):"operator"==a?/\+\+|--/.test(b)||Ga&&"!"==b?o(d):"?"==b?o(w,u(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(x,")","call",d):"."==a?o(M,d):"["==a?o(s("]"),A,u("]"),t,d):Ga&&"as"==b?(Na.marked="keyword",o(U,d)):"regexp"==a?(Na.state.lastType=Na.marked="operator",Na.stream.backUp(Na.stream.pos-Na.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(w,F)}function F(a){if("}"==a)return Na.marked="string-2",Na.state.tokenize=i,o(E)}function G(a){return j(Na.stream,Na.state),n("{"==a?v:w)}function H(a){return j(Na.stream,Na.state),n("{"==a?v:x)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ga?o(Z,a?D:C):n(a?x:w)}}function J(a,b){if("target"==b)return Na.marked="keyword",o(C)}function K(a,b){if("target"==b)return Na.marked="keyword",o(D)}function L(a){return":"==a?o(t,v):n(C,u(";"),t)}function M(a){if("variable"==a)return Na.marked="property",o()}function N(a,b){if("async"==a)return Na.marked="property",o(N);if("variable"==a||"keyword"==Na.style){if(Na.marked="property","get"==b||"set"==b)return o(O);var c;return Ga&&Na.state.fatArrowAt==Na.stream.start&&(c=Na.stream.match(/^\s*:\s*/,!1))&&(Na.state.fatArrowAt=Na.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Na.marked=Ea?"property":Na.style+" property",o(P)):"jsonld-keyword"==a?o(P):"modifier"==a?o(N):"["==a?o(w,u("]"),P):"spread"==a?o(w,P):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Na.marked="property",o(ja))}function P(a){return":"==a?o(x):"("==a?n(ja):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Na.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(u(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Na.cc.push(arguments[d]);return o(s(b,c),Q(a,b),t)}function S(a){return"}"==a?o():n(v,S)}function T(a,b){if(Ga){if(":"==a)return o(U);if("?"==b)return o(T)}}function U(a,b){return"variable"==a?"keyof"==b?(Na.marked="keyword",o(U)):(Na.marked="type",o(Y)):"string"==a||"number"==a||"atom"==a?o(Y):"["==a?o(s("]"),Q(U,"]",","),t,Y):"{"==a?o(s("}"),Q(W,"}",",;"),t,Y):"("==a?o(Q(X,")"),V):void 0}function V(a){if("=>"==a)return o(U)}function W(a,b){return"variable"==a||"keyword"==Na.style?(Na.marked="property",o(W)):"?"==b?o(W):":"==a?o(U):"["==a?o(w,T,u("]"),W):void 0}function X(a){return"variable"==a?o(X):":"==a?o(U):void 0}function Y(a,b){return"<"==b?o(s(">"),Q(U,">"),t,Y):"|"==b||"."==a?o(U):"["==a?o(u("]"),Y):"extends"==b?o(U):void 0}function Z(a,b){if("<"==b)return o(s(">"),Q(U,">"),t,Y)}function $(){return n(_,T,ba,ca)}function _(a,b){return"modifier"==a?o(_):"variable"==a?(p(b),o()):"spread"==a?o(_):"["==a?R(_,"]"):"{"==a?R(aa,"}"):void 0}function aa(a,b){return"variable"!=a||Na.stream.match(/^\s*:/,!1)?("variable"==a&&(Na.marked="property"),"spread"==a?o(_):"}"==a?n():o(u(":"),_,ba)):(p(b),o(ba))}function ba(a,b){if("="==b)return o(x)}function ca(a){if(","==a)return o($)}function da(a,b){if("keyword b"==a&&"else"==b)return o(s("form","else"),v,t)}function ea(a){if("("==a)return o(s(")"),fa,u(")"),t)}function fa(a){return"var"==a?o($,u(";"),ha):";"==a?o(ha):"variable"==a?o(ga):n(w,u(";"),ha)}function ga(a,b){return"in"==b||"of"==b?(Na.marked="keyword",o(w)):o(C,ha)}function ha(a,b){return";"==a?o(ia):"in"==b||"of"==b?(Na.marked="keyword",o(w)):n(w,u(";"),ia)}function ia(a){")"!=a&&o(w)}function ja(a,b){return"*"==b?(Na.marked="keyword",o(ja)):"variable"==a?(p(b),o(ja)):"("==a?o(q,s(")"),Q(ka,")"),t,T,v,r):Ga&&"<"==b?o(s(">"),Q(U,">"),t,ja):void 0}function ka(a,b){return"@"==b&&o(w,ka),"spread"==a||"modifier"==a?o(ka):n(_,T,ba)}function la(a,b){return"variable"==a?ma(a,b):na(a,b)}function ma(a,b){if("variable"==a)return p(b),o(na)}function na(a,b){return"<"==b?o(s(">"),Q(U,">"),t,na):"extends"==b||"implements"==b||Ga&&","==a?o(Ga?U:w,na):"{"==a?o(s("}"),oa,t):void 0}function oa(a,b){return"modifier"==a||"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b)&&Na.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Na.marked="keyword",o(oa)):"variable"==a||"keyword"==Na.style?(Na.marked="property",o(Ga?pa:ja,oa)):"["==a?o(w,u("]"),Ga?pa:ja,oa):"*"==b?(Na.marked="keyword",o(oa)):";"==a?o(oa):"}"==a?o():"@"==b?o(w,oa):void 0}function pa(a,b){return"?"==b?o(pa):":"==a?o(U,ba):"="==b?o(x):n(ja)}function qa(a,b){return"*"==b?(Na.marked="keyword",o(wa,u(";"))):"default"==b?(Na.marked="keyword",o(w,u(";"))):"{"==a?o(Q(ra,"}"),wa,u(";")):n(v)}function ra(a,b){return"as"==b?(Na.marked="keyword",o(u("variable"))):"variable"==a?n(x,ra):void 0}function sa(a){return"string"==a?o():n(ta,ua,wa)}function ta(a,b){return"{"==a?R(ta,"}"):("variable"==a&&p(b),"*"==b&&(Na.marked="keyword"),o(va))}function ua(a){if(","==a)return o(ta,ua)}function va(a,b){if("as"==b)return Na.marked="keyword",o(ta)}function wa(a,b){if("from"==b)return Na.marked="keyword",o(w)}function xa(a){return"]"==a?o():n(Q(x,"]"))}function ya(a,b){return"operator"==a.lastType||","==a.lastType||Ja.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function za(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bc]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Aa,Ba,Ca=b.indentUnit,Da=c.statementIndent,Ea=c.jsonld,Fa=c.json||Ea,Ga=c.typescript,Ha=c.wordCharacters||/[\w$\xa1-\uffff]/,Ia=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("operator"),f={type:"atom",style:"atom"},g={if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:d,break:d,continue:d,new:a("new"),delete:d,void:d,throw:d,debugger:d,var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:e,typeof:e,instanceof:e,true:f,false:f,null:f,undefined:f,NaN:f,Infinity:f,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d};if(Ga){var h={type:"variable",style:"type"},i={interface:a("class"),implements:d,namespace:d,module:a("module"),enum:a("module"),public:a("modifier"),private:a("modifier"),protected:a("modifier"),abstract:a("modifier"),readonly:a("modifier"),string:h,number:h,boolean:h,any:h};for(var j in i)g[j]=i[j]}return g})(),Ja=/[+\-*&%=<>!?|~^@]/,Ka=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,La="([{}])",Ma={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Na={state:null,column:null,marked:null,cc:null},Oa={name:"this",next:{name:"arguments"}};return t.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ca,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Aa?c:(b.lastType="operator"!=Aa||"++"!=Ba&&"--"!=Ba?Aa:"incdec",m(b,c,Aa,Ba,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==t)i=i.prev;else if(k!=da)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Da&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ca:"stat"==l?i.indented+(ya(b,d)?Da||Ca:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ca):i.indented+(/^(?:case|default)\b/.test(d)?Ca:2*Ca)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Fa?null:"/*",blockCommentEnd:Fa?null:"*/",lineComment:Fa?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Fa?"json":"javascript",jsonldMode:Ea,jsonMode:Fa,expressionAllowed:za,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=w&&b!=x||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ea=a,Fa=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Da(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Na.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(La.test(c)){a.eatWhile(La);var f=a.current();if("."!=b.lastType){if(Ma.propertyIsEnumerable(f)){var j=Ma[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ia&&"@"==b.peek()&&b.match(Oa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ka){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Pa.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(La.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ra.state=a,Ra.stream=e,Ra.marked=null,Ra.cc=f,Ra.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():Ja?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ra.marked?Ra.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ra.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ra.state;if(Ra.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ra.state.context={prev:Ra.state.context,vars:Ra.state.localVars},Ra.state.localVars=Sa}function s(){Ra.state.localVars=Ra.state.context.vars,Ra.state.context=Ra.state.context.prev}function t(a,b){var c=function(){var c=Ra.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ra.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ra.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ra.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ra.state.lexical.info&&Ra.state.cc[Ra.state.cc.length-1]==u&&Ra.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ka&&"interface"==b?(Ra.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ka&&"type"==b?(Ra.marked="keyword",o(W,v("operator"),W,v(";"))):Ka&&"declare"==b?(Ra.marked="keyword",o(w)):Ka&&("module"==b||"enum"==b)&&Ra.stream.match(/^\s*\w/,!1)?(Ra.marked="keyword",o(t("form"),da,v("{"),t("}"),S,u,u)):Ka&&"namespace"==b?(Ra.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ra.state.fatArrowAt==Ra.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Qa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ka&&"interface"==b?(Ra.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ka&&"!"==b?o(d):Ka&&"<"==b&&Ra.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ka&&"as"==b?(Ra.marked="keyword",o(W,d)):"regexp"==a?(Ra.state.lastType=Ra.marked="operator",Ra.stream.backUp(Ra.stream.pos-Ra.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ra.marked="string-2",Ra.state.tokenize=i,o(E)}function G(a){return j(Ra.stream,Ra.state),n("{"==a?w:x)}function H(a){return j(Ra.stream,Ra.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ka?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ra.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ra.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ra.marked="property",o()}function N(a,b){if("async"==a)return Ra.marked="property",o(N);if("variable"==a||"keyword"==Ra.style){if(Ra.marked="property","get"==b||"set"==b)return o(O);var c;return Ka&&Ra.state.fatArrowAt==Ra.stream.start&&(c=Ra.stream.match(/^\s*:\s*/,!1))&&(Ra.state.fatArrowAt=Ra.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ra.marked=Ia?"property":Ra.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ka&&q(b)?(Ra.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ra.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ra.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ra.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ra.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ka){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ka&&":"==a)return Ra.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ra.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ra.marked="keyword",o(W)):(Ra.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ra.style?(Ra.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ra.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(){return n(da,T,fa,ga)}function da(a,b){return Ka&&q(b)?(Ra.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ra.stream.match(/^\s*:/,!1)?("variable"==a&&(Ra.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a){if("("==a)return o(t(")"),ja,v(")"),u)}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ra.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ra.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ra.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ka&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ka&&q(b)?(Ra.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ka&&","==a?o(Ka?W:x,ra):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ka&&q(b))&&Ra.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ra.marked="keyword",o(sa)):"variable"==a||"keyword"==Ra.style?(Ra.marked="property",o(Ka?ta:na,sa)):"["==a?o(x,T,v("]"),Ka?ta:na,sa):"*"==b?(Ra.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ra.marked="keyword",o(Aa,v(";"))):"default"==b?(Ra.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ra.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ra.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ra.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ra.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(a,b){return"operator"==a.lastType||","==a.lastType||Na.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Da(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ea,Fa,Ga=b.indentUnit,Ha=c.statementIndent,Ia=c.jsonld,Ja=c.json||Ia,Ka=c.typescript,La=c.wordCharacters||/[\w$\xa1-\uffff]/,Ma=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Na=/[+\-*&%=<>!?|~^@]/,Oa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Pa="([{}])",Qa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ra={state:null,column:null,marked:null,cc:null},Sa={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ga,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ea?c:(b.lastType="operator"!=Ea||"++"!=Fa&&"--"!=Fa?Ea:"incdec",m(b,c,Ea,Fa,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ha&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ga:"stat"==l?i.indented+(Ca(b,d)?Ha||Ga:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ga):i.indented+(/^(?:case|default)\b/.test(d)?Ga:2*Ga)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Ja?null:"/*",blockCommentEnd:Ja?null:"*/",blockCommentContinue:Ja?null:" * ",lineComment:Ja?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Ja?"json":"javascript",jsonldMode:Ia,jsonMode:Ja,expressionAllowed:Da,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/jsx/jsx.js b/media/editors/codemirror/mode/jsx/jsx.js index 45c3024aba303..039e37bb5e152 100644 --- a/media/editors/codemirror/mode/jsx/jsx.js +++ b/media/editors/codemirror/mode/jsx/jsx.js @@ -26,7 +26,7 @@ } CodeMirror.defineMode("jsx", function(config, modeConfig) { - var xmlMode = CodeMirror.getMode(config, {name: "xml", allowMissing: true, multilineTagIndentPastTag: false}) + var xmlMode = CodeMirror.getMode(config, {name: "xml", allowMissing: true, multilineTagIndentPastTag: false, allowMissingTagName: true}) var jsMode = CodeMirror.getMode(config, modeConfig && modeConfig.base || "javascript") function flatXMLIndent(state) { diff --git a/media/editors/codemirror/mode/jsx/jsx.min.js b/media/editors/codemirror/mode/jsx/jsx.min.js index 0cd44d2ed4646..46da0655673ad 100644 --- a/media/editors/codemirror/mode/jsx/jsx.min.js +++ b/media/editors/codemirror/mode/jsx/jsx.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.state=a,this.mode=b,this.depth=c,this.prev=d}function c(d){return new b(a.copyState(d.mode,d.state),d.mode,d.depth,d.prev&&c(d.prev))}a.defineMode("jsx",(function(d,e){function f(a){var b=a.tagName;a.tagName=null;var c=j.indent(a,"");return a.tagName=b,c}function g(a,b){return b.context.mode==j?h(a,b,b.context):i(a,b,b.context)}function h(c,e,h){if(2==h.depth)return c.match(/^.*?\*\//)?h.depth=1:c.skipToEnd(),"comment";if("{"==c.peek()){j.skipAttribute(h.state);var i=f(h.state),l=h.state.context;if(l&&c.match(/^[^>]*>\s*$/,!1)){for(;l.prev&&!l.startOfLine;)l=l.prev;l.startOfLine?i-=d.indentUnit:h.prev.state.lexical&&(i=h.prev.state.lexical.indented)}else 1==h.depth&&(i+=d.indentUnit);return e.context=new b(a.startState(k,i),k,0,e.context),null}if(1==h.depth){if("<"==c.peek())return j.skipAttribute(h.state),e.context=new b(a.startState(j,f(h.state)),j,0,e.context),null;if(c.match("//"))return c.skipToEnd(),"comment";if(c.match("/*"))return h.depth=2,g(c,e)}var m,n=j.token(c,h.state),o=c.current();return/\btag\b/.test(n)?/>$/.test(o)?h.state.context?h.depth=0:e.context=e.context.prev:/^</.test(o)&&(h.depth=1):!n&&(m=o.indexOf("{"))>-1&&c.backUp(o.length-m),n}function i(c,d,e){if("<"==c.peek()&&k.expressionAllowed(c,e.state))return k.skipExpression(e.state),d.context=new b(a.startState(j,k.indent(e.state,"")),j,0,d.context),null;var f=k.token(c,e.state);if(!f&&null!=e.depth){var g=c.current();"{"==g?e.depth++:"}"==g&&0==--e.depth&&(d.context=d.context.prev)}return f}var j=a.getMode(d,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1}),k=a.getMode(d,e&&e.base||"javascript");return{startState:function(){return{context:new b(a.startState(k),k)}},copyState:function(a){return{context:c(a.context)}},token:g,indent:function(a,b,c){return a.context.mode.indent(a.context.state,b,c)},innerMode:function(a){return a.context}}}),"xml","javascript"),a.defineMIME("text/jsx","jsx"),a.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.state=a,this.mode=b,this.depth=c,this.prev=d}function c(d){return new b(a.copyState(d.mode,d.state),d.mode,d.depth,d.prev&&c(d.prev))}a.defineMode("jsx",(function(d,e){function f(a){var b=a.tagName;a.tagName=null;var c=j.indent(a,"");return a.tagName=b,c}function g(a,b){return b.context.mode==j?h(a,b,b.context):i(a,b,b.context)}function h(c,e,h){if(2==h.depth)return c.match(/^.*?\*\//)?h.depth=1:c.skipToEnd(),"comment";if("{"==c.peek()){j.skipAttribute(h.state);var i=f(h.state),l=h.state.context;if(l&&c.match(/^[^>]*>\s*$/,!1)){for(;l.prev&&!l.startOfLine;)l=l.prev;l.startOfLine?i-=d.indentUnit:h.prev.state.lexical&&(i=h.prev.state.lexical.indented)}else 1==h.depth&&(i+=d.indentUnit);return e.context=new b(a.startState(k,i),k,0,e.context),null}if(1==h.depth){if("<"==c.peek())return j.skipAttribute(h.state),e.context=new b(a.startState(j,f(h.state)),j,0,e.context),null;if(c.match("//"))return c.skipToEnd(),"comment";if(c.match("/*"))return h.depth=2,g(c,e)}var m,n=j.token(c,h.state),o=c.current();return/\btag\b/.test(n)?/>$/.test(o)?h.state.context?h.depth=0:e.context=e.context.prev:/^</.test(o)&&(h.depth=1):!n&&(m=o.indexOf("{"))>-1&&c.backUp(o.length-m),n}function i(c,d,e){if("<"==c.peek()&&k.expressionAllowed(c,e.state))return k.skipExpression(e.state),d.context=new b(a.startState(j,k.indent(e.state,"")),j,0,d.context),null;var f=k.token(c,e.state);if(!f&&null!=e.depth){var g=c.current();"{"==g?e.depth++:"}"==g&&0==--e.depth&&(d.context=d.context.prev)}return f}var j=a.getMode(d,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),k=a.getMode(d,e&&e.base||"javascript");return{startState:function(){return{context:new b(a.startState(k),k)}},copyState:function(a){return{context:c(a.context)}},token:g,indent:function(a,b,c){return a.context.mode.indent(a.context.state,b,c)},innerMode:function(a){return a.context}}}),"xml","javascript"),a.defineMIME("text/jsx","jsx"),a.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/markdown/markdown.js b/media/editors/codemirror/mode/markdown/markdown.js index 907059f101e4a..b2f79fc302024 100644 --- a/media/editors/codemirror/mode/markdown/markdown.js +++ b/media/editors/codemirror/mode/markdown/markdown.js @@ -821,12 +821,14 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { state.trailingSpace = 0; state.trailingSpaceNewLine = false; - state.f = state.block; - if (state.f != htmlBlock) { - var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length; - state.indentation = indentation; - state.indentationDiff = null; - if (indentation > 0) return null; + if (!state.localState) { + state.f = state.block; + if (state.f != htmlBlock) { + var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length; + state.indentation = indentation; + state.indentationDiff = null; + if (indentation > 0) return null; + } } } return state.f(stream, state); diff --git a/media/editors/codemirror/mode/markdown/markdown.min.js b/media/editors/codemirror/mode/markdown/markdown.min.js index b4ca9965464d4..44d41bbf96552 100644 --- a/media/editors/codemirror/mode/markdown/markdown.min.js +++ b/media/editors/codemirror/mode/markdown/markdown.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,b.f=b.block,b.f!=j){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,!b.localState&&(b.f=b.block,b.f!=j)){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/meta.js b/media/editors/codemirror/mode/meta.js index d5426a79b7f3f..91a925268edfb 100644 --- a/media/editors/codemirror/mode/meta.js +++ b/media/editors/codemirror/mode/meta.js @@ -94,14 +94,14 @@ {name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]}, {name: "NTriples", mimes: ["application/n-triples", "application/n-quads", "text/n-triples"], mode: "ntriples", ext: ["nt", "nq"]}, - {name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, + {name: "Objective-C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, {name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]}, {name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]}, {name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]}, {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, - {name: "PHP", mime: "application/x-httpd-php", mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, + {name: "PHP", mime: ["application/x-httpd-php", "text/x-php"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, diff --git a/media/editors/codemirror/mode/meta.min.js b/media/editors/codemirror/mode/meta.min.js index 0e34eb1e2f7a4..837d6f1c1b9c0 100644 --- a/media/editors/codemirror/mode/meta.min.js +++ b/media/editors/codemirror/mode/meta.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:"application/x-httpd-php",mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:["application/x-httpd-php","text/x-php"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/mllike/mllike.js b/media/editors/codemirror/mode/mllike/mllike.js index 4d0be609c4dda..90e5b41a63cc8 100644 --- a/media/editors/codemirror/mode/mllike/mllike.js +++ b/media/editors/codemirror/mode/mllike/mllike.js @@ -54,6 +54,13 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { state.tokenize = tokenString; return state.tokenize(stream, state); } + if (ch === '{') { + if (stream.eat('|')) { + state.longString = true; + state.tokenize = tokenLongString; + return state.tokenize(stream, state); + } + } if (ch === '(') { if (stream.eat('*')) { state.commentLevel++; @@ -74,13 +81,24 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { return 'comment'; } if (/\d/.test(ch)) { - stream.eatWhile(/[\d]/); - if (stream.eat('.')) { - stream.eatWhile(/[\d]/); + if (ch === '0' && stream.eat(/[bB]/)) { + stream.eatWhile(/[01]/); + } if (ch === '0' && stream.eat(/[xX]/)) { + stream.eatWhile(/[0-9a-fA-F]/) + } if (ch === '0' && stream.eat(/[oO]/)) { + stream.eatWhile(/[0-7]/); + } else { + stream.eatWhile(/[\d_]/); + if (stream.eat('.')) { + stream.eatWhile(/[\d]/); + } + if (stream.eat(/[eE]/)) { + stream.eatWhile(/[\d\-+]/); + } } return 'number'; } - if ( /[+\-*&%=<>!?|]/.test(ch)) { + if ( /[+\-*&%=<>!?|@]/.test(ch)) { return 'operator'; } if (/[\w\xa1-\uffff]/.test(ch)) { @@ -119,8 +137,20 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { return 'comment'; } + function tokenLongString(stream, state) { + var prev, next; + while (state.longString && (next = stream.next()) != null) { + if (prev === '|' && next === '}') state.longString = false; + prev = next; + } + if (!state.longString) { + state.tokenize = tokenBase; + } + return 'string'; + } + return { - startState: function() {return {tokenize: tokenBase, commentLevel: 0};}, + startState: function() {return {tokenize: tokenBase, commentLevel: 0, longString: false};}, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); @@ -142,7 +172,9 @@ CodeMirror.defineMIME('text/x-ocaml', { 'print_endline': 'builtin', 'true': 'atom', 'false': 'atom', - 'raise': 'keyword' + 'raise': 'keyword', + 'module': 'keyword', + 'sig': 'keyword' } }); diff --git a/media/editors/codemirror/mode/mllike/mllike.min.js b/media/editors/codemirror/mode/mllike/mllike.min.js index 07e35b2793900..fba894450cc0b 100644 --- a/media/editors/codemirror/mode/mllike/mllike.min.js +++ b/media/editors/codemirror/mode/mllike/mllike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mllike",(function(a,b){function c(a,c){var g=a.next();if('"'===g)return c.tokenize=d,c.tokenize(a,c);if("("===g&&a.eat("*"))return c.commentLevel++,c.tokenize=e,c.tokenize(a,c);if("~"===g)return a.eatWhile(/\w/),"variable-2";if("`"===g)return a.eatWhile(/\w/),"quote";if("/"===g&&b.slashComments&&a.eat("/"))return a.skipToEnd(),"comment";if(/\d/.test(g))return a.eatWhile(/[\d]/),a.eat(".")&&a.eatWhile(/[\d]/),"number";if(/[+\-*&%=<>!?|]/.test(g))return"operator";if(/[\w\xa1-\uffff]/.test(g)){a.eatWhile(/[\w\xa1-\uffff]/);var h=a.current();return f.hasOwnProperty(h)?f[h]:"variable"}return null}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}var f={let:"keyword",rec:"keyword",in:"keyword",of:"keyword",and:"keyword",if:"keyword",then:"keyword",else:"keyword",for:"keyword",to:"keyword",while:"keyword",do:"keyword",done:"keyword",fun:"keyword",function:"keyword",val:"keyword",type:"keyword",mutable:"keyword",match:"keyword",with:"keyword",try:"keyword",open:"builtin",ignore:"builtin",begin:"keyword",end:"keyword"},g=b.extraWords||{};for(var h in g)g.hasOwnProperty(h)&&(f[h]=b.extraWords[h]);return{startState:function(){return{tokenize:c,commentLevel:0}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:b.slashComments?"//":null}})),a.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{succ:"keyword",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",true:"atom",false:"atom",raise:"keyword"}}),a.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",as:"keyword",assert:"keyword",base:"keyword",class:"keyword",default:"keyword",delegate:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",exception:"keyword",extern:"keyword",finally:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",member:"keyword",module:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword",return:"keyword","return!":"keyword",select:"keyword",static:"keyword",struct:"keyword",upcast:"keyword",use:"keyword","use!":"keyword",val:"keyword",when:"keyword",yield:"keyword","yield!":"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",int:"builtin",string:"builtin",raise:"builtin",failwith:"builtin",not:"builtin",true:"builtin",false:"builtin"},slashComments:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mllike",(function(a,b){function c(a,c){var h=a.next();if('"'===h)return c.tokenize=d,c.tokenize(a,c);if("{"===h&&a.eat("|"))return c.longString=!0,c.tokenize=f,c.tokenize(a,c);if("("===h&&a.eat("*"))return c.commentLevel++,c.tokenize=e,c.tokenize(a,c);if("~"===h)return a.eatWhile(/\w/),"variable-2";if("`"===h)return a.eatWhile(/\w/),"quote";if("/"===h&&b.slashComments&&a.eat("/"))return a.skipToEnd(),"comment";if(/\d/.test(h))return"0"===h&&a.eat(/[bB]/)&&a.eatWhile(/[01]/),"0"===h&&a.eat(/[xX]/)&&a.eatWhile(/[0-9a-fA-F]/),"0"===h&&a.eat(/[oO]/)?a.eatWhile(/[0-7]/):(a.eatWhile(/[\d_]/),a.eat(".")&&a.eatWhile(/[\d]/),a.eat(/[eE]/)&&a.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@]/.test(h))return"operator";if(/[\w\xa1-\uffff]/.test(h)){a.eatWhile(/[\w\xa1-\uffff]/);var i=a.current();return g.hasOwnProperty(i)?g[i]:"variable"}return null}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}function f(a,b){for(var d,e;b.longString&&null!=(e=a.next());)"|"===d&&"}"===e&&(b.longString=!1),d=e;return b.longString||(b.tokenize=c),"string"}var g={let:"keyword",rec:"keyword",in:"keyword",of:"keyword",and:"keyword",if:"keyword",then:"keyword",else:"keyword",for:"keyword",to:"keyword",while:"keyword",do:"keyword",done:"keyword",fun:"keyword",function:"keyword",val:"keyword",type:"keyword",mutable:"keyword",match:"keyword",with:"keyword",try:"keyword",open:"builtin",ignore:"builtin",begin:"keyword",end:"keyword"},h=b.extraWords||{};for(var i in h)h.hasOwnProperty(i)&&(g[i]=b.extraWords[i]);return{startState:function(){return{tokenize:c,commentLevel:0,longString:!1}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:b.slashComments?"//":null}})),a.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{succ:"keyword",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",true:"atom",false:"atom",raise:"keyword",module:"keyword",sig:"keyword"}}),a.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",as:"keyword",assert:"keyword",base:"keyword",class:"keyword",default:"keyword",delegate:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",exception:"keyword",extern:"keyword",finally:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",member:"keyword",module:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword",return:"keyword","return!":"keyword",select:"keyword",static:"keyword",struct:"keyword",upcast:"keyword",use:"keyword","use!":"keyword",val:"keyword",when:"keyword",yield:"keyword","yield!":"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",int:"builtin",string:"builtin",raise:"builtin",failwith:"builtin",not:"builtin",true:"builtin",false:"builtin"},slashComments:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/php/php.js b/media/editors/codemirror/mode/php/php.js index 57ba812d7268c..589c9a6639540 100644 --- a/media/editors/codemirror/mode/php/php.js +++ b/media/editors/codemirror/mode/php/php.js @@ -151,7 +151,7 @@ }; CodeMirror.defineMode("php", function(config, parserConfig) { - var htmlMode = CodeMirror.getMode(config, "text/html"); + var htmlMode = CodeMirror.getMode(config, (parserConfig && parserConfig.htmlMode) || "text/html"); var phpMode = CodeMirror.getMode(config, phpConfig); function dispatch(stream, state) { diff --git a/media/editors/codemirror/mode/php/php.min.js b/media/editors/codemirror/mode/php/php.min.js index 5214ce420f901..e9f5b96465e06 100644 --- a/media/editors/codemirror/mode/php/php.min.js +++ b/media/editors/codemirror/mode/php/php.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function c(a,b,e){return 0==a.length?d(b):function(f,g){for(var h=a[0],i=0;i<h.length;i++)if(f.match(h[i][0]))return g.tokenize=c(a.slice(1),b),h[i][1];return g.tokenize=d(b,e),"string"}}function d(a,b){return function(c,d){return e(c,d,a,b)}}function e(a,b,d,e){if(e!==!1&&a.match("${",!1)||a.match("{$",!1))return b.tokenize=null,"string";if(e!==!1&&a.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return a.match("[",!1)&&(b.tokenize=c([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],d,e)),a.match(/\-\>\w/,!1)&&(b.tokenize=c([[["->",null]],[[/[\w]+/,"variable"]]],d,e)),"variable-2";for(var f=!1;!a.eol()&&(f||e===!1||!a.match("{$",!1)&&!a.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!f&&a.match(d)){b.tokenize=null,b.tokStack.pop(),b.tokStack.pop();break}f="\\"==a.next()&&!f}return"string"}var f="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",g="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";a.registerHelper("hintWords","php",[f,g,h].join(" ").split(" ")),a.registerHelper("wordChars","php",/[\w$]/);var i={name:"clike",helperType:"php",keywords:b(f),blockKeywords:b("catch do else elseif for foreach if switch try while finally"),defKeywords:b("class function interface namespace trait"),atoms:b(g),builtin:b(h),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,b){var c;if(c=a.match(/<<\s*/)){var e=a.eat(/['"]/);a.eatWhile(/[\w\.]/);var f=a.current().slice(c[0].length+(e?2:1));if(e&&a.eat(e),f)return(b.tokStack||(b.tokStack=[])).push(f,0),b.tokenize=d(f,"'"!=e),"string"}return!1},"#":function(a){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1},'"':function(a,b){return(b.tokStack||(b.tokStack=[])).push('"',0),b.tokenize=d('"'),"string"},"{":function(a,b){return b.tokStack&&b.tokStack.length&&b.tokStack[b.tokStack.length-1]++,!1},"}":function(a,b){return b.tokStack&&b.tokStack.length>0&&!--b.tokStack[b.tokStack.length-1]&&(b.tokenize=d(b.tokStack[b.tokStack.length-2])),!1}}};a.defineMode("php",(function(b,c){function d(b,c){var d=c.curMode==f;if(b.sol()&&c.pending&&'"'!=c.pending&&"'"!=c.pending&&(c.pending=null),d)return d&&null==c.php.tokenize&&b.match("?>")?(c.curMode=e,c.curState=c.html,c.php.context.prev||(c.php=null),"meta"):f.token(b,c.curState);if(b.match(/^<\?\w*/))return c.curMode=f,c.php||(c.php=a.startState(f,e.indent(c.html,""))),c.curState=c.php,"meta";if('"'==c.pending||"'"==c.pending){for(;!b.eol()&&b.next()!=c.pending;);var g="string"}else if(c.pending&&b.pos<c.pending.end){b.pos=c.pending.end;var g=c.pending.style}else var g=e.token(b,c.curState);c.pending&&(c.pending=null);var h,i=b.current(),j=i.search(/<\?/);return j!=-1&&("string"==g&&(h=i.match(/[\'\"]$/))&&!/\?>/.test(i)?c.pending=h[0]:c.pending={end:b.pos,style:g},b.backUp(i.length-j)),g}var e=a.getMode(b,"text/html"),f=a.getMode(b,i);return{startState:function(){var b=a.startState(e),d=c.startOpen?a.startState(f):null;return{html:b,php:d,curMode:c.startOpen?f:e,curState:c.startOpen?d:b,pending:null}},copyState:function(b){var c,d=b.html,g=a.copyState(e,d),h=b.php,i=h&&a.copyState(f,h);return c=b.curMode==e?g:i,{html:g,php:i,curMode:b.curMode,curState:c,pending:b.pending}},token:d,indent:function(a,b){return a.curMode!=f&&/^\s*<\//.test(b)||a.curMode==f&&/^\?>/.test(b)?e.indent(a.html,b):a.curMode.indent(a.curState,b)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}}),"htmlmixed","clike"),a.defineMIME("application/x-httpd-php","php"),a.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),a.defineMIME("text/x-php",i)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function c(a,b,e){return 0==a.length?d(b):function(f,g){for(var h=a[0],i=0;i<h.length;i++)if(f.match(h[i][0]))return g.tokenize=c(a.slice(1),b),h[i][1];return g.tokenize=d(b,e),"string"}}function d(a,b){return function(c,d){return e(c,d,a,b)}}function e(a,b,d,e){if(e!==!1&&a.match("${",!1)||a.match("{$",!1))return b.tokenize=null,"string";if(e!==!1&&a.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return a.match("[",!1)&&(b.tokenize=c([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],d,e)),a.match(/\-\>\w/,!1)&&(b.tokenize=c([[["->",null]],[[/[\w]+/,"variable"]]],d,e)),"variable-2";for(var f=!1;!a.eol()&&(f||e===!1||!a.match("{$",!1)&&!a.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!f&&a.match(d)){b.tokenize=null,b.tokStack.pop(),b.tokStack.pop();break}f="\\"==a.next()&&!f}return"string"}var f="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",g="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";a.registerHelper("hintWords","php",[f,g,h].join(" ").split(" ")),a.registerHelper("wordChars","php",/[\w$]/);var i={name:"clike",helperType:"php",keywords:b(f),blockKeywords:b("catch do else elseif for foreach if switch try while finally"),defKeywords:b("class function interface namespace trait"),atoms:b(g),builtin:b(h),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,b){var c;if(c=a.match(/<<\s*/)){var e=a.eat(/['"]/);a.eatWhile(/[\w\.]/);var f=a.current().slice(c[0].length+(e?2:1));if(e&&a.eat(e),f)return(b.tokStack||(b.tokStack=[])).push(f,0),b.tokenize=d(f,"'"!=e),"string"}return!1},"#":function(a){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1},'"':function(a,b){return(b.tokStack||(b.tokStack=[])).push('"',0),b.tokenize=d('"'),"string"},"{":function(a,b){return b.tokStack&&b.tokStack.length&&b.tokStack[b.tokStack.length-1]++,!1},"}":function(a,b){return b.tokStack&&b.tokStack.length>0&&!--b.tokStack[b.tokStack.length-1]&&(b.tokenize=d(b.tokStack[b.tokStack.length-2])),!1}}};a.defineMode("php",(function(b,c){function d(b,c){var d=c.curMode==f;if(b.sol()&&c.pending&&'"'!=c.pending&&"'"!=c.pending&&(c.pending=null),d)return d&&null==c.php.tokenize&&b.match("?>")?(c.curMode=e,c.curState=c.html,c.php.context.prev||(c.php=null),"meta"):f.token(b,c.curState);if(b.match(/^<\?\w*/))return c.curMode=f,c.php||(c.php=a.startState(f,e.indent(c.html,""))),c.curState=c.php,"meta";if('"'==c.pending||"'"==c.pending){for(;!b.eol()&&b.next()!=c.pending;);var g="string"}else if(c.pending&&b.pos<c.pending.end){b.pos=c.pending.end;var g=c.pending.style}else var g=e.token(b,c.curState);c.pending&&(c.pending=null);var h,i=b.current(),j=i.search(/<\?/);return j!=-1&&("string"==g&&(h=i.match(/[\'\"]$/))&&!/\?>/.test(i)?c.pending=h[0]:c.pending={end:b.pos,style:g},b.backUp(i.length-j)),g}var e=a.getMode(b,c&&c.htmlMode||"text/html"),f=a.getMode(b,i);return{startState:function(){var b=a.startState(e),d=c.startOpen?a.startState(f):null;return{html:b,php:d,curMode:c.startOpen?f:e,curState:c.startOpen?d:b,pending:null}},copyState:function(b){var c,d=b.html,g=a.copyState(e,d),h=b.php,i=h&&a.copyState(f,h);return c=b.curMode==e?g:i,{html:g,php:i,curMode:b.curMode,curState:c,pending:b.pending}},token:d,indent:function(a,b){return a.curMode!=f&&/^\s*<\//.test(b)||a.curMode==f&&/^\?>/.test(b)?e.indent(a.html,b):a.curMode.indent(a.curState,b)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}}),"htmlmixed","clike"),a.defineMIME("application/x-httpd-php","php"),a.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),a.defineMIME("text/x-php",i)})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/protobuf/protobuf.js b/media/editors/codemirror/mode/protobuf/protobuf.js index bcae276e8d7df..93cb3b0e05204 100644 --- a/media/editors/codemirror/mode/protobuf/protobuf.js +++ b/media/editors/codemirror/mode/protobuf/protobuf.js @@ -19,7 +19,8 @@ "package", "message", "import", "syntax", "required", "optional", "repeated", "reserved", "default", "extensions", "packed", "bool", "bytes", "double", "enum", "float", "string", - "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64" + "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", + "option", "service", "rpc", "returns" ]; var keywords = wordRegexp(keywordArray); diff --git a/media/editors/codemirror/mode/protobuf/protobuf.min.js b/media/editors/codemirror/mode/protobuf/protobuf.min.js index 2e093ec17ca01..c4513934e7214 100644 --- a/media/editors/codemirror/mode/protobuf/protobuf.min.js +++ b/media/editors/codemirror/mode/protobuf/protobuf.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b","i")}function c(a){if(a.eatSpace())return null;if(a.match("//"))return a.skipToEnd(),"comment";if(a.match(/^[0-9\.+-]/,!1)){if(a.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(a.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(a.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return a.match(/^"([^"]|(""))*"/)?"string":a.match(/^'([^']|(''))*'/)?"string":a.match(e)?"keyword":a.match(f)?"variable":(a.next(),null)}var d=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64"],e=b(d);a.registerHelper("hintWords","protobuf",d);var f=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");a.defineMode("protobuf",(function(){return{token:c}})),a.defineMIME("text/x-protobuf","protobuf")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b","i")}function c(a){if(a.eatSpace())return null;if(a.match("//"))return a.skipToEnd(),"comment";if(a.match(/^[0-9\.+-]/,!1)){if(a.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(a.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(a.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return a.match(/^"([^"]|(""))*"/)?"string":a.match(/^'([^']|(''))*'/)?"string":a.match(e)?"keyword":a.match(f)?"variable":(a.next(),null)}var d=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],e=b(d);a.registerHelper("hintWords","protobuf",d);var f=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");a.defineMode("protobuf",(function(){return{token:c}})),a.defineMIME("text/x-protobuf","protobuf")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/soy/soy.js b/media/editors/codemirror/mode/soy/soy.js index 0e24457042a6e..98f308658e0b7 100644 --- a/media/editors/codemirror/mode/soy/soy.js +++ b/media/editors/codemirror/mode/soy/soy.js @@ -137,6 +137,25 @@ } return "comment"; + case "string": + var match = stream.match(/^.*?(["']|\\[\s\S])/); + if (!match) { + stream.skipToEnd(); + } else if (match[1] == state.quoteKind) { + state.quoteKind = null; + state.soyState.pop(); + } + return "string"; + } + + if (stream.match(/^\/\*/)) { + state.soyState.push("comment"); + return "comment"; + } else if (stream.match(stream.sol() || (state.soyState.length && last(state.soyState) != "literal") ? /^\s*\/\/.*/ : /^\s+\/\/.*/)) { + return "comment"; + } + + switch (last(state.soyState)) { case "templ-def": if (match = stream.match(/^\.?([\w]+(?!\.[\w]+)*)/)) { state.templates = prepend(state.templates, match[1]); @@ -242,36 +261,15 @@ return this.token(stream, state); } return tokenUntil(stream, state, /\{\/literal}/); - - case "string": - var match = stream.match(/^.*?(["']|\\[\s\S])/); - if (!match) { - stream.skipToEnd(); - } else if (match[1] == state.quoteKind) { - state.quoteKind = null; - state.soyState.pop(); - } - return "string"; } - if (stream.match(/^\/\*/)) { - state.soyState.push("comment"); - if (!state.scopes) { - state.variables = prepend(null, 'ij'); - } - return "comment"; - } else if (stream.match(stream.sol() ? /^\s*\/\/.*/ : /^\s+\/\/.*/)) { - if (!state.scopes) { - state.variables = prepend(null, 'ij'); - } - return "comment"; - } else if (stream.match(/^\{literal}/)) { + if (stream.match(/^\{literal}/)) { state.indent += config.indentUnit; state.soyState.push("literal"); return "keyword"; - // A tag-keyword must be followed by whitespace or a closing tag. - } else if (match = stream.match(/^\{([\/@\\]?\w+\??)(?=[\s\}])/)) { + // A tag-keyword must be followed by whitespace, comment or a closing tag. + } else if (match = stream.match(/^\{([\/@\\]?\w+\??)(?=[\s\}]|\/[/*])/)) { if (match[1] != "/switch") state.indent += (/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(match[1]) && state.tag != "switch" ? 1 : 2) * config.indentUnit; state.tag = match[1]; diff --git a/media/editors/codemirror/mode/soy/soy.min.js b/media/editors/codemirror/mode/soy/soy.min.js index 26575bb68e721..a4d9e76da8d06 100644 --- a/media/editors/codemirror/mode/soy/soy.min.js +++ b/media/editors/codemirror/mode/soy/soy.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed"],a):a(CodeMirror)})((function(a){"use strict";var b=["template","literal","msg","fallbackmsg","let","if","elseif","else","switch","case","default","foreach","ifempty","for","call","param","deltemplate","delcall","log"];a.defineMode("soy",(function(c){function d(a){return a[a.length-1]}function e(a,b,c){if(a.sol()){for(var e=0;e<b.indent&&a.eat(/\s/);e++);if(e)return null}var f=a.string,g=c.exec(f.substr(a.pos));g&&(a.string=f.substr(0,a.pos+g.index));var h=a.hideFirstChars(b.indent,(function(){var c=d(b.localStates);return c.mode.token(a,c.state)}));return a.string=f,h}function f(a,b){for(;a;){if(a.element===b)return!0;a=a.next}return!1}function g(a,b){return{element:b,next:a}}function h(a,b,c){return f(a,b)?"variable-2":c?"variable":"variable-2 error"}function i(a){a.scopes&&(a.variables=a.scopes.element,a.scopes=a.scopes.next)}var j=a.getMode(c,"text/plain"),k={html:a.getMode(c,{name:"text/html",multilineTagIndentFactor:2,multilineTagIndentPastTag:!1}),attributes:j,text:j,uri:j,css:a.getMode(c,"text/css"),js:a.getMode(c,{name:"text/javascript",statementIndent:2*c.indentUnit})};return{startState:function(){return{kind:[],kindTag:[],soyState:[],templates:null,variables:g(null,"ij"),scopes:null,indent:0,quoteKind:null,localStates:[{mode:k.html,state:a.startState(k.html)}]}},copyState:function(b){return{tag:b.tag,kind:b.kind.concat([]),kindTag:b.kindTag.concat([]),soyState:b.soyState.concat([]),templates:b.templates,variables:b.variables,scopes:b.scopes,indent:b.indent,quoteKind:b.quoteKind,localStates:b.localStates.map((function(b){return{mode:b.mode,state:a.copyState(b.mode,b.state)}}))}},token:function(f,j){var l;switch(d(j.soyState)){case"comment":if(f.match(/^.*?\*\//)?j.soyState.pop():f.skipToEnd(),!j.scopes)for(var l,m=/@param\??\s+(\S+)/g,n=f.current();l=m.exec(n);)j.variables=g(j.variables,l[1]);return"comment";case"templ-def":return(l=f.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(j.templates=g(j.templates,l[1]),j.scopes=g(j.scopes,j.variables),j.soyState.pop(),"def"):(f.next(),null);case"templ-ref":return(l=f.match(/^\.?([\w]+)/))?(j.soyState.pop(),"."==l[0][0]?h(j.templates,l[1],!0):"variable"):(f.next(),null);case"param-def":return(l=f.match(/^\w+/))?(j.variables=g(j.variables,l[0]),j.soyState.pop(),j.soyState.push("param-type"),"def"):(f.next(),null);case"param-type":return"}"==f.peek()?(j.soyState.pop(),null):f.eatWhile(/^[\w]+/)?"variable-3":(f.next(),null);case"var-def":return(l=f.match(/^\$([\w]+)/))?(j.variables=g(j.variables,l[1]),j.soyState.pop(),"def"):(f.next(),null);case"tag":if(f.match(/^\/?}/))return"/template"==j.tag||"/deltemplate"==j.tag?(i(j),j.variables=g(null,"ij"),j.indent=0):("/for"!=j.tag&&"/foreach"!=j.tag||i(j),j.indent-=c.indentUnit*("/}"==f.current()||b.indexOf(j.tag)==-1?2:1)),j.soyState.pop(),"keyword";if(f.match(/^([\w?]+)(?==)/)){if("kind"==f.current()&&(l=f.match(/^="([^"]+)/,!1))){var o=l[1];j.kind.push(o),j.kindTag.push(j.tag);var p=k[o]||k.html,q=d(j.localStates);q.mode.indent&&(j.indent+=q.mode.indent(q.state,"")),j.localStates.push({mode:p,state:a.startState(p)})}return"attribute"}return(l=f.match(/^["']/))?(j.soyState.push("string"),j.quoteKind=l,"string"):(l=f.match(/^\$([\w]+)/))?h(j.variables,l[1]):(l=f.match(/^\w+/))?/^(?:as|and|or|not|in)$/.test(l[0])?"keyword":null:(f.next(),null);case"literal":return f.match(/^(?=\{\/literal})/)?(j.indent-=c.indentUnit,j.soyState.pop(),this.token(f,j)):e(f,j,/\{\/literal}/);case"string":var l=f.match(/^.*?(["']|\\[\s\S])/);return l?l[1]==j.quoteKind&&(j.quoteKind=null,j.soyState.pop()):f.skipToEnd(),"string"}if(f.match(/^\/\*/))return j.soyState.push("comment"),j.scopes||(j.variables=g(null,"ij")),"comment";if(f.match(f.sol()?/^\s*\/\/.*/:/^\s+\/\/.*/))return j.scopes||(j.variables=g(null,"ij")),"comment";if(f.match(/^\{literal}/))return j.indent+=c.indentUnit,j.soyState.push("literal"),"keyword";if(l=f.match(/^\{([\/@\\]?\w+\??)(?=[\s\}])/)){if("/switch"!=l[1]&&(j.indent+=(/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(l[1])&&"switch"!=j.tag?1:2)*c.indentUnit),j.tag=l[1],j.tag=="/"+d(j.kindTag)){j.kind.pop(),j.kindTag.pop(),j.localStates.pop();var q=d(j.localStates);q.mode.indent&&(j.indent-=q.mode.indent(q.state,""))}return j.soyState.push("tag"),"template"==j.tag||"deltemplate"==j.tag?j.soyState.push("templ-def"):"call"==j.tag||"delcall"==j.tag?j.soyState.push("templ-ref"):"let"==j.tag?j.soyState.push("var-def"):"for"==j.tag||"foreach"==j.tag?(j.scopes=g(j.scopes,j.variables),j.soyState.push("var-def")):"namespace"==j.tag?j.scopes||(j.variables=g(null,"ij")):j.tag.match(/^@(?:param\??|inject)/)&&j.soyState.push("param-def"),"keyword"}return f.eat("{")?(j.tag="print",j.indent+=2*c.indentUnit,j.soyState.push("tag"),"keyword"):e(f,j,/\{|\s+\/\/|\/\*/)},indent:function(b,e){var f=b.indent,g=d(b.soyState);if("comment"==g)return a.Pass;if("literal"==g)/^\{\/literal}/.test(e)&&(f-=c.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(e))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(e)&&(f-=c.indentUnit),"switch"!=b.tag&&/^\{(case|default)\b/.test(e)&&(f-=c.indentUnit),/^\{\/switch\b/.test(e)&&(f-=c.indentUnit)}var h=d(b.localStates);return f&&h.mode.indent&&(f+=h.mode.indent(h.state,e)),f},innerMode:function(a){return a.soyState.length&&"literal"!=d(a.soyState)?null:d(a.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}}),"htmlmixed"),a.registerHelper("hintWords","soy",b.concat(["delpackage","namespace","alias","print","css","debugger"])),a.defineMIME("text/x-soy","soy")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed"],a):a(CodeMirror)})((function(a){"use strict";var b=["template","literal","msg","fallbackmsg","let","if","elseif","else","switch","case","default","foreach","ifempty","for","call","param","deltemplate","delcall","log"];a.defineMode("soy",(function(c){function d(a){return a[a.length-1]}function e(a,b,c){if(a.sol()){for(var e=0;e<b.indent&&a.eat(/\s/);e++);if(e)return null}var f=a.string,g=c.exec(f.substr(a.pos));g&&(a.string=f.substr(0,a.pos+g.index));var h=a.hideFirstChars(b.indent,(function(){var c=d(b.localStates);return c.mode.token(a,c.state)}));return a.string=f,h}function f(a,b){for(;a;){if(a.element===b)return!0;a=a.next}return!1}function g(a,b){return{element:b,next:a}}function h(a,b,c){return f(a,b)?"variable-2":c?"variable":"variable-2 error"}function i(a){a.scopes&&(a.variables=a.scopes.element,a.scopes=a.scopes.next)}var j=a.getMode(c,"text/plain"),k={html:a.getMode(c,{name:"text/html",multilineTagIndentFactor:2,multilineTagIndentPastTag:!1}),attributes:j,text:j,uri:j,css:a.getMode(c,"text/css"),js:a.getMode(c,{name:"text/javascript",statementIndent:2*c.indentUnit})};return{startState:function(){return{kind:[],kindTag:[],soyState:[],templates:null,variables:g(null,"ij"),scopes:null,indent:0,quoteKind:null,localStates:[{mode:k.html,state:a.startState(k.html)}]}},copyState:function(b){return{tag:b.tag,kind:b.kind.concat([]),kindTag:b.kindTag.concat([]),soyState:b.soyState.concat([]),templates:b.templates,variables:b.variables,scopes:b.scopes,indent:b.indent,quoteKind:b.quoteKind,localStates:b.localStates.map((function(b){return{mode:b.mode,state:a.copyState(b.mode,b.state)}}))}},token:function(f,j){var l;switch(d(j.soyState)){case"comment":if(f.match(/^.*?\*\//)?j.soyState.pop():f.skipToEnd(),!j.scopes)for(var l,m=/@param\??\s+(\S+)/g,n=f.current();l=m.exec(n);)j.variables=g(j.variables,l[1]);return"comment";case"string":var l=f.match(/^.*?(["']|\\[\s\S])/);return l?l[1]==j.quoteKind&&(j.quoteKind=null,j.soyState.pop()):f.skipToEnd(),"string"}if(f.match(/^\/\*/))return j.soyState.push("comment"),"comment";if(f.match(f.sol()||j.soyState.length&&"literal"!=d(j.soyState)?/^\s*\/\/.*/:/^\s+\/\/.*/))return"comment";switch(d(j.soyState)){case"templ-def":return(l=f.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(j.templates=g(j.templates,l[1]),j.scopes=g(j.scopes,j.variables),j.soyState.pop(),"def"):(f.next(),null);case"templ-ref":return(l=f.match(/^\.?([\w]+)/))?(j.soyState.pop(),"."==l[0][0]?h(j.templates,l[1],!0):"variable"):(f.next(),null);case"param-def":return(l=f.match(/^\w+/))?(j.variables=g(j.variables,l[0]),j.soyState.pop(),j.soyState.push("param-type"),"def"):(f.next(),null);case"param-type":return"}"==f.peek()?(j.soyState.pop(),null):f.eatWhile(/^[\w]+/)?"variable-3":(f.next(),null);case"var-def":return(l=f.match(/^\$([\w]+)/))?(j.variables=g(j.variables,l[1]),j.soyState.pop(),"def"):(f.next(),null);case"tag":if(f.match(/^\/?}/))return"/template"==j.tag||"/deltemplate"==j.tag?(i(j),j.variables=g(null,"ij"),j.indent=0):("/for"!=j.tag&&"/foreach"!=j.tag||i(j),j.indent-=c.indentUnit*("/}"==f.current()||b.indexOf(j.tag)==-1?2:1)),j.soyState.pop(),"keyword";if(f.match(/^([\w?]+)(?==)/)){if("kind"==f.current()&&(l=f.match(/^="([^"]+)/,!1))){var o=l[1];j.kind.push(o),j.kindTag.push(j.tag);var p=k[o]||k.html,q=d(j.localStates);q.mode.indent&&(j.indent+=q.mode.indent(q.state,"")),j.localStates.push({mode:p,state:a.startState(p)})}return"attribute"}return(l=f.match(/^["']/))?(j.soyState.push("string"),j.quoteKind=l,"string"):(l=f.match(/^\$([\w]+)/))?h(j.variables,l[1]):(l=f.match(/^\w+/))?/^(?:as|and|or|not|in)$/.test(l[0])?"keyword":null:(f.next(),null);case"literal":return f.match(/^(?=\{\/literal})/)?(j.indent-=c.indentUnit,j.soyState.pop(),this.token(f,j)):e(f,j,/\{\/literal}/)}if(f.match(/^\{literal}/))return j.indent+=c.indentUnit,j.soyState.push("literal"),"keyword";if(l=f.match(/^\{([\/@\\]?\w+\??)(?=[\s\}]|\/[\/*])/)){if("/switch"!=l[1]&&(j.indent+=(/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(l[1])&&"switch"!=j.tag?1:2)*c.indentUnit),j.tag=l[1],j.tag=="/"+d(j.kindTag)){j.kind.pop(),j.kindTag.pop(),j.localStates.pop();var q=d(j.localStates);q.mode.indent&&(j.indent-=q.mode.indent(q.state,""))}return j.soyState.push("tag"),"template"==j.tag||"deltemplate"==j.tag?j.soyState.push("templ-def"):"call"==j.tag||"delcall"==j.tag?j.soyState.push("templ-ref"):"let"==j.tag?j.soyState.push("var-def"):"for"==j.tag||"foreach"==j.tag?(j.scopes=g(j.scopes,j.variables),j.soyState.push("var-def")):"namespace"==j.tag?j.scopes||(j.variables=g(null,"ij")):j.tag.match(/^@(?:param\??|inject)/)&&j.soyState.push("param-def"),"keyword"}return f.eat("{")?(j.tag="print",j.indent+=2*c.indentUnit,j.soyState.push("tag"),"keyword"):e(f,j,/\{|\s+\/\/|\/\*/)},indent:function(b,e){var f=b.indent,g=d(b.soyState);if("comment"==g)return a.Pass;if("literal"==g)/^\{\/literal}/.test(e)&&(f-=c.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(e))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(e)&&(f-=c.indentUnit),"switch"!=b.tag&&/^\{(case|default)\b/.test(e)&&(f-=c.indentUnit),/^\{\/switch\b/.test(e)&&(f-=c.indentUnit)}var h=d(b.localStates);return f&&h.mode.indent&&(f+=h.mode.indent(h.state,e)),f},innerMode:function(a){return a.soyState.length&&"literal"!=d(a.soyState)?null:d(a.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}}),"htmlmixed"),a.registerHelper("hintWords","soy",b.concat(["delpackage","namespace","alias","print","css","debugger"])),a.defineMIME("text/x-soy","soy")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/swift/swift.js b/media/editors/codemirror/mode/swift/swift.js index 43ab7c8fb4ef4..1795d86e94f79 100644 --- a/media/editors/codemirror/mode/swift/swift.js +++ b/media/editors/codemirror/mode/swift/swift.js @@ -138,8 +138,17 @@ } function tokenComment(stream, state) { - stream.match(/^(?:[^*]|\*(?!\/))*/) - if (stream.match("*/")) state.tokenize.pop() + var ch + while (true) { + stream.match(/^[^/*]+/, true) + ch = stream.next() + if (!ch) break + if (ch === "/" && stream.eat("*")) { + state.tokenize.push(tokenComment) + } else if (ch === "*" && stream.eat("/")) { + state.tokenize.pop() + } + } return "comment" } diff --git a/media/editors/codemirror/mode/swift/swift.min.js b/media/editors/codemirror/mode/swift/swift.min.js index 0a6666f2ae1d6..3db612ba63007 100644 --- a/media/editors/codemirror/mode/swift/swift.min.js +++ b/media/editors/codemirror/mode/swift/swift.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function c(a,b,c){if(a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;var d=a.peek();if("/"==d){if(a.match("//"))return a.skipToEnd(),"comment";if(a.match("/*"))return b.tokenize.push(f),f(a,b)}if(a.match(v))return"builtin";if(a.match(w))return"attribute";if(a.match(p))return"number";if(a.match(q))return"number";if(a.match(r))return"number";if(a.match(s))return"number";if(a.match(u))return"property";if(n.indexOf(d)>-1)return a.next(),"operator";if(o.indexOf(d)>-1)return a.next(),a.match(".."),"punctuation";if('"'==d||"'"==d){a.next();var g=e(d);return b.tokenize.push(g),g(a,b)}if(a.match(t)){var h=a.current();return m.hasOwnProperty(h)?"variable-2":l.hasOwnProperty(h)?"atom":j.hasOwnProperty(h)?(k.hasOwnProperty(h)&&(b.prev="define"),"keyword"):"define"==c?"def":"variable"}return a.next(),null}function d(){var a=0;return function(b,d,e){var f=c(b,d,e);if("punctuation"==f)if("("==b.current())++a;else if(")"==b.current()){if(0==a)return b.backUp(1),d.tokenize.pop(),d.tokenize[d.tokenize.length-1](b,d);--a}return f}}function e(a){return function(b,c){for(var e,f=!1;e=b.next();)if(f){if("("==e)return c.tokenize.push(d()),"string";f=!1}else{if(e==a)break;f="\\"==e}return c.tokenize.pop(),"string"}}function f(a,b){return a.match(/^(?:[^*]|\*(?!\/))*/),a.match("*/")&&b.tokenize.pop(),"comment"}function g(a,b,c){this.prev=a,this.align=b,this.indented=c}function h(a,b){var c=b.match(/^\s*($|\/[\/\*])/,!1)?null:b.column()+1;a.context=new g(a.context,c,a.indented)}function i(a){a.context&&(a.indented=a.context.indented,a.context=a.context.prev)}var j=b(["_","var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","catch","do","rethrows","throw","throws","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),k=b(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),l=b(["true","false","nil","self","super","_"]),m=b(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),n="+-/*%=|&<>~^?!",o=":;,.(){}[]",p=/^\-?0b[01][01_]*/,q=/^\-?0o[0-7][0-7_]*/,r=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,s=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,t=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,u=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,v=/^\#[A-Za-z]+/,w=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;a.defineMode("swift",(function(a){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(a,b){var d=b.prev;b.prev=null;var e=b.tokenize[b.tokenize.length-1]||c,f=e(a,b,d);if(f&&"comment"!=f?b.prev||(b.prev=f):b.prev=d,"punctuation"==f){var g=/[\(\[\{]|([\]\)\}])/.exec(a.current());g&&(g[1]?i:h)(b,a)}return f},indent:function(b,c){var d=b.context;if(!d)return 0;var e=/^[\]\}\)]/.test(c);return null!=d.align?d.align-(e?1:0):d.indented+(e?0:a.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}})),a.defineMIME("text/x-swift","swift")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function c(a,b,c){if(a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;var d=a.peek();if("/"==d){if(a.match("//"))return a.skipToEnd(),"comment";if(a.match("/*"))return b.tokenize.push(f),f(a,b)}if(a.match(v))return"builtin";if(a.match(w))return"attribute";if(a.match(p))return"number";if(a.match(q))return"number";if(a.match(r))return"number";if(a.match(s))return"number";if(a.match(u))return"property";if(n.indexOf(d)>-1)return a.next(),"operator";if(o.indexOf(d)>-1)return a.next(),a.match(".."),"punctuation";if('"'==d||"'"==d){a.next();var g=e(d);return b.tokenize.push(g),g(a,b)}if(a.match(t)){var h=a.current();return m.hasOwnProperty(h)?"variable-2":l.hasOwnProperty(h)?"atom":j.hasOwnProperty(h)?(k.hasOwnProperty(h)&&(b.prev="define"),"keyword"):"define"==c?"def":"variable"}return a.next(),null}function d(){var a=0;return function(b,d,e){var f=c(b,d,e);if("punctuation"==f)if("("==b.current())++a;else if(")"==b.current()){if(0==a)return b.backUp(1),d.tokenize.pop(),d.tokenize[d.tokenize.length-1](b,d);--a}return f}}function e(a){return function(b,c){for(var e,f=!1;e=b.next();)if(f){if("("==e)return c.tokenize.push(d()),"string";f=!1}else{if(e==a)break;f="\\"==e}return c.tokenize.pop(),"string"}}function f(a,b){for(var c;;){if(a.match(/^[^\/*]+/,!0),c=a.next(),!c)break;"/"===c&&a.eat("*")?b.tokenize.push(f):"*"===c&&a.eat("/")&&b.tokenize.pop()}return"comment"}function g(a,b,c){this.prev=a,this.align=b,this.indented=c}function h(a,b){var c=b.match(/^\s*($|\/[\/\*])/,!1)?null:b.column()+1;a.context=new g(a.context,c,a.indented)}function i(a){a.context&&(a.indented=a.context.indented,a.context=a.context.prev)}var j=b(["_","var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","catch","do","rethrows","throw","throws","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),k=b(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),l=b(["true","false","nil","self","super","_"]),m=b(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),n="+-/*%=|&<>~^?!",o=":;,.(){}[]",p=/^\-?0b[01][01_]*/,q=/^\-?0o[0-7][0-7_]*/,r=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,s=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,t=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,u=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,v=/^\#[A-Za-z]+/,w=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;a.defineMode("swift",(function(a){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(a,b){var d=b.prev;b.prev=null;var e=b.tokenize[b.tokenize.length-1]||c,f=e(a,b,d);if(f&&"comment"!=f?b.prev||(b.prev=f):b.prev=d,"punctuation"==f){var g=/[\(\[\{]|([\]\)\}])/.exec(a.current());g&&(g[1]?i:h)(b,a)}return f},indent:function(b,c){var d=b.context;if(!d)return 0;var e=/^[\]\}\)]/.test(c);return null!=d.align?d.align-(e?1:0):d.indented+(e?0:a.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}})),a.defineMIME("text/x-swift","swift")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/xml/xml.js b/media/editors/codemirror/mode/xml/xml.js index f987a3a3ce9c1..0f1c9b175ef74 100644 --- a/media/editors/codemirror/mode/xml/xml.js +++ b/media/editors/codemirror/mode/xml/xml.js @@ -52,6 +52,7 @@ var xmlConfig = { doNotIndent: {}, allowUnquoted: false, allowMissing: false, + allowMissingTagName: false, caseFold: false } @@ -226,6 +227,9 @@ CodeMirror.defineMode("xml", function(editorConf, config_) { state.tagName = stream.current(); setStyle = "tag"; return attrState; + } else if (config.allowMissingTagName && type == "endTag") { + setStyle = "tag bracket"; + return attrState(type, stream, state); } else { setStyle = "error"; return tagNameState; @@ -244,6 +248,9 @@ CodeMirror.defineMode("xml", function(editorConf, config_) { setStyle = "tag error"; return closeStateErr; } + } else if (config.allowMissingTagName && type == "endTag") { + setStyle = "tag bracket"; + return closeState(type, stream, state); } else { setStyle = "error"; return closeStateErr; diff --git a/media/editors/codemirror/mode/xml/xml.min.js b/media/editors/codemirror/mode/xml/xml.min.js index fddbef9c07768..6018e928d5689 100644 --- a/media/editors/codemirror/mode/xml/xml.min.js +++ b/media/editors/codemirror/mode/xml/xml.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";var b={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},c={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1};a.defineMode("xml",(function(d,e){function f(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d)return a.eat("!")?a.eat("[")?a.match("CDATA[")?c(i("atom","]]>")):null:a.match("--")?c(i("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(j(1))):null:a.eat("?")?(a.eatWhile(/[\w\._\-]/),b.tokenize=i("meta","?>"),"meta"):(A=a.eat("/")?"closeTag":"openTag",b.tokenize=g,"tag bracket");if("&"==d){var e;return e=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),e?"atom":"error"}return a.eatWhile(/[^&<]/),null}function g(a,b){var c=a.next();if(">"==c||"/"==c&&a.eat(">"))return b.tokenize=f,A=">"==c?"endTag":"selfcloseTag","tag bracket";if("="==c)return A="equals",null;if("<"==c){b.tokenize=f,b.state=n,b.tagName=b.tagStart=null;var d=b.tokenize(a,b);return d?d+" tag error":"tag error"}return/[\'\"]/.test(c)?(b.tokenize=h(c),b.stringStartCol=a.column(),b.tokenize(a,b)):(a.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function h(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=g;break}return"string"};return b.isInAttribute=!0,b}function i(a,b){return function(c,d){for(;!c.eol();){if(c.match(b)){d.tokenize=f;break}c.next()}return a}}function j(a){return function(b,c){for(var d;null!=(d=b.next());){if("<"==d)return c.tokenize=j(a+1),c.tokenize(b,c);if(">"==d){if(1==a){c.tokenize=f;break}return c.tokenize=j(a-1),c.tokenize(b,c)}}return"meta"}}function k(a,b,c){this.prev=a.context,this.tagName=b,this.indent=a.indented,this.startOfLine=c,(x.doNotIndent.hasOwnProperty(b)||a.context&&a.context.noIndent)&&(this.noIndent=!0)}function l(a){a.context&&(a.context=a.context.prev)}function m(a,b){for(var c;;){if(!a.context)return;if(c=a.context.tagName,!x.contextGrabbers.hasOwnProperty(c)||!x.contextGrabbers[c].hasOwnProperty(b))return;l(a)}}function n(a,b,c){return"openTag"==a?(c.tagStart=b.column(),o):"closeTag"==a?p:n}function o(a,b,c){return"word"==a?(c.tagName=b.current(),B="tag",s):(B="error",o)}function p(a,b,c){if("word"==a){var d=b.current();return c.context&&c.context.tagName!=d&&x.implicitlyClosed.hasOwnProperty(c.context.tagName)&&l(c),c.context&&c.context.tagName==d||x.matchClosing===!1?(B="tag",q):(B="tag error",r)}return B="error",r}function q(a,b,c){return"endTag"!=a?(B="error",q):(l(c),n)}function r(a,b,c){return B="error",q(a,b,c)}function s(a,b,c){if("word"==a)return B="attribute",t;if("endTag"==a||"selfcloseTag"==a){var d=c.tagName,e=c.tagStart;return c.tagName=c.tagStart=null,"selfcloseTag"==a||x.autoSelfClosers.hasOwnProperty(d)?m(c,d):(m(c,d),c.context=new k(c,d,e==c.indented)),n}return B="error",s}function t(a,b,c){return"equals"==a?u:(x.allowMissing||(B="error"),s(a,b,c))}function u(a,b,c){return"string"==a?v:"word"==a&&x.allowUnquoted?(B="string",s):(B="error",s(a,b,c))}function v(a,b,c){return"string"==a?v:s(a,b,c)}var w=d.indentUnit,x={},y=e.htmlMode?b:c;for(var z in y)x[z]=y[z];for(var z in e)x[z]=e[z];var A,B;return f.isInText=!0,{startState:function(a){var b={tokenize:f,state:n,indented:a||0,tagName:null,tagStart:null,context:null};return null!=a&&(b.baseIndent=a),b},token:function(a,b){if(!b.tagName&&a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;A=null;var c=b.tokenize(a,b);return(c||A)&&"comment"!=c&&(B=null,b.state=b.state(A||c,a,b),B&&(c="error"==B?c+" error":B)),c},indent:function(b,c,d){var e=b.context;if(b.tokenize.isInAttribute)return b.tagStart==b.indented?b.stringStartCol+1:b.indented+w;if(e&&e.noIndent)return a.Pass;if(b.tokenize!=g&&b.tokenize!=f)return d?d.match(/^(\s*)/)[0].length:0;if(b.tagName)return x.multilineTagIndentPastTag!==!1?b.tagStart+b.tagName.length+2:b.tagStart+w*(x.multilineTagIndentFactor||1);if(x.alignCDATA&&/<!\[CDATA\[/.test(c))return 0;var h=c&&/^<(\/)?([\w_:\.-]*)/.exec(c);if(h&&h[1])for(;e;){if(e.tagName==h[2]){e=e.prev;break}if(!x.implicitlyClosed.hasOwnProperty(e.tagName))break;e=e.prev}else if(h)for(;e;){var i=x.contextGrabbers[e.tagName];if(!i||!i.hasOwnProperty(h[2]))break;e=e.prev}for(;e&&e.prev&&!e.startOfLine;)e=e.prev;return e?e.indent+w:b.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:x.htmlMode?"html":"xml",helperType:x.htmlMode?"html":"xml",skipAttribute:function(a){a.state==u&&(a.state=s)}}})),a.defineMIME("text/xml","xml"),a.defineMIME("application/xml","xml"),a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";var b={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},c={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};a.defineMode("xml",(function(d,e){function f(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d)return a.eat("!")?a.eat("[")?a.match("CDATA[")?c(i("atom","]]>")):null:a.match("--")?c(i("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(j(1))):null:a.eat("?")?(a.eatWhile(/[\w\._\-]/),b.tokenize=i("meta","?>"),"meta"):(A=a.eat("/")?"closeTag":"openTag",b.tokenize=g,"tag bracket");if("&"==d){var e;return e=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),e?"atom":"error"}return a.eatWhile(/[^&<]/),null}function g(a,b){var c=a.next();if(">"==c||"/"==c&&a.eat(">"))return b.tokenize=f,A=">"==c?"endTag":"selfcloseTag","tag bracket";if("="==c)return A="equals",null;if("<"==c){b.tokenize=f,b.state=n,b.tagName=b.tagStart=null;var d=b.tokenize(a,b);return d?d+" tag error":"tag error"}return/[\'\"]/.test(c)?(b.tokenize=h(c),b.stringStartCol=a.column(),b.tokenize(a,b)):(a.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function h(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=g;break}return"string"};return b.isInAttribute=!0,b}function i(a,b){return function(c,d){for(;!c.eol();){if(c.match(b)){d.tokenize=f;break}c.next()}return a}}function j(a){return function(b,c){for(var d;null!=(d=b.next());){if("<"==d)return c.tokenize=j(a+1),c.tokenize(b,c);if(">"==d){if(1==a){c.tokenize=f;break}return c.tokenize=j(a-1),c.tokenize(b,c)}}return"meta"}}function k(a,b,c){this.prev=a.context,this.tagName=b,this.indent=a.indented,this.startOfLine=c,(x.doNotIndent.hasOwnProperty(b)||a.context&&a.context.noIndent)&&(this.noIndent=!0)}function l(a){a.context&&(a.context=a.context.prev)}function m(a,b){for(var c;;){if(!a.context)return;if(c=a.context.tagName,!x.contextGrabbers.hasOwnProperty(c)||!x.contextGrabbers[c].hasOwnProperty(b))return;l(a)}}function n(a,b,c){return"openTag"==a?(c.tagStart=b.column(),o):"closeTag"==a?p:n}function o(a,b,c){return"word"==a?(c.tagName=b.current(),B="tag",s):x.allowMissingTagName&&"endTag"==a?(B="tag bracket",s(a,b,c)):(B="error",o)}function p(a,b,c){if("word"==a){var d=b.current();return c.context&&c.context.tagName!=d&&x.implicitlyClosed.hasOwnProperty(c.context.tagName)&&l(c),c.context&&c.context.tagName==d||x.matchClosing===!1?(B="tag",q):(B="tag error",r)}return x.allowMissingTagName&&"endTag"==a?(B="tag bracket",q(a,b,c)):(B="error",r)}function q(a,b,c){return"endTag"!=a?(B="error",q):(l(c),n)}function r(a,b,c){return B="error",q(a,b,c)}function s(a,b,c){if("word"==a)return B="attribute",t;if("endTag"==a||"selfcloseTag"==a){var d=c.tagName,e=c.tagStart;return c.tagName=c.tagStart=null,"selfcloseTag"==a||x.autoSelfClosers.hasOwnProperty(d)?m(c,d):(m(c,d),c.context=new k(c,d,e==c.indented)),n}return B="error",s}function t(a,b,c){return"equals"==a?u:(x.allowMissing||(B="error"),s(a,b,c))}function u(a,b,c){return"string"==a?v:"word"==a&&x.allowUnquoted?(B="string",s):(B="error",s(a,b,c))}function v(a,b,c){return"string"==a?v:s(a,b,c)}var w=d.indentUnit,x={},y=e.htmlMode?b:c;for(var z in y)x[z]=y[z];for(var z in e)x[z]=e[z];var A,B;return f.isInText=!0,{startState:function(a){var b={tokenize:f,state:n,indented:a||0,tagName:null,tagStart:null,context:null};return null!=a&&(b.baseIndent=a),b},token:function(a,b){if(!b.tagName&&a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;A=null;var c=b.tokenize(a,b);return(c||A)&&"comment"!=c&&(B=null,b.state=b.state(A||c,a,b),B&&(c="error"==B?c+" error":B)),c},indent:function(b,c,d){var e=b.context;if(b.tokenize.isInAttribute)return b.tagStart==b.indented?b.stringStartCol+1:b.indented+w;if(e&&e.noIndent)return a.Pass;if(b.tokenize!=g&&b.tokenize!=f)return d?d.match(/^(\s*)/)[0].length:0;if(b.tagName)return x.multilineTagIndentPastTag!==!1?b.tagStart+b.tagName.length+2:b.tagStart+w*(x.multilineTagIndentFactor||1);if(x.alignCDATA&&/<!\[CDATA\[/.test(c))return 0;var h=c&&/^<(\/)?([\w_:\.-]*)/.exec(c);if(h&&h[1])for(;e;){if(e.tagName==h[2]){e=e.prev;break}if(!x.implicitlyClosed.hasOwnProperty(e.tagName))break;e=e.prev}else if(h)for(;e;){var i=x.contextGrabbers[e.tagName];if(!i||!i.hasOwnProperty(h[2]))break;e=e.prev}for(;e&&e.prev&&!e.startOfLine;)e=e.prev;return e?e.indent+w:b.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:x.htmlMode?"html":"xml",helperType:x.htmlMode?"html":"xml",skipAttribute:function(a){a.state==u&&(a.state=s)}}})),a.defineMIME("text/xml","xml"),a.defineMIME("application/xml","xml"),a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/theme/solarized.css b/media/editors/codemirror/theme/solarized.css index d95f6c1b27519..fcd1d70de6a11 100644 --- a/media/editors/codemirror/theme/solarized.css +++ b/media/editors/codemirror/theme/solarized.css @@ -87,7 +87,6 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png text-decoration: underline; text-decoration-style: dotted; } -.cm-s-solarized .cm-strong { color: #eee; } .cm-s-solarized .cm-error, .cm-s-solarized .cm-invalidchar { color: #586e75; diff --git a/plugins/editors/codemirror/codemirror.xml b/plugins/editors/codemirror/codemirror.xml index 6c13c959e093a..58596b12a22a7 100644 --- a/plugins/editors/codemirror/codemirror.xml +++ b/plugins/editors/codemirror/codemirror.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <extension version="3.2" type="plugin" group="editors" method="upgrade"> <name>plg_editors_codemirror</name> - <version>5.30.0</version> + <version>5.33.0</version> <creationDate>28 March 2011</creationDate> <author>Marijn Haverbeke</author> <authorEmail>marijnh@gmail.com</authorEmail> From 8a70590f569133d37c75a373ff268876e97ec28d Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Thu, 18 Jan 2018 15:47:16 -0800 Subject: [PATCH 045/255] Remove leading zero in months' values (#19391) --- .../com_content/views/archive/view.html.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/components/com_content/views/archive/view.html.php b/components/com_content/views/archive/view.html.php index 0fd92e7af03c9..3dcccc30aff21 100644 --- a/components/com_content/views/archive/view.html.php +++ b/components/com_content/views/archive/view.html.php @@ -86,15 +86,15 @@ public function display($tpl = null) // Month Field $months = array( '' => JText::_('COM_CONTENT_MONTH'), - '01' => JText::_('JANUARY_SHORT'), - '02' => JText::_('FEBRUARY_SHORT'), - '03' => JText::_('MARCH_SHORT'), - '04' => JText::_('APRIL_SHORT'), - '05' => JText::_('MAY_SHORT'), - '06' => JText::_('JUNE_SHORT'), - '07' => JText::_('JULY_SHORT'), - '08' => JText::_('AUGUST_SHORT'), - '09' => JText::_('SEPTEMBER_SHORT'), + '1' => JText::_('JANUARY_SHORT'), + '2' => JText::_('FEBRUARY_SHORT'), + '3' => JText::_('MARCH_SHORT'), + '4' => JText::_('APRIL_SHORT'), + '5' => JText::_('MAY_SHORT'), + '6' => JText::_('JUNE_SHORT'), + '7' => JText::_('JULY_SHORT'), + '8' => JText::_('AUGUST_SHORT'), + '9' => JText::_('SEPTEMBER_SHORT'), '10' => JText::_('OCTOBER_SHORT'), '11' => JText::_('NOVEMBER_SHORT'), '12' => JText::_('DECEMBER_SHORT') From 5994eb1f4f4f74566061c09f8b751274b9a0d189 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Fri, 19 Jan 2018 18:44:22 +0100 Subject: [PATCH 046/255] Correctly redirect after logging into the multilingual joomla with association enabled (#19295) * Revert to plugin system languageflter and fix form login action link * Correctly get Itemid from non SEF return page * Only for users component login view set active Itemid * Redirect to user preferred home page * Redirect to restricted article after log in even if login page has own association --- .../views/login/tmpl/default_login.php | 3 +- .../system/languagefilter/languagefilter.php | 80 +++++++++---------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/components/com_users/views/login/tmpl/default_login.php b/components/com_users/views/login/tmpl/default_login.php index 132624a54595c..f13fb9921d014 100644 --- a/components/com_users/views/login/tmpl/default_login.php +++ b/components/com_users/views/login/tmpl/default_login.php @@ -33,7 +33,7 @@ <?php if (($this->params->get('logindescription_show') == 1 && str_replace(' ', '', $this->params->get('login_description')) != '') || $this->params->get('login_image') != '') : ?> </div> <?php endif; ?> - <form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post" class="form-validate form-horizontal well"> + <form action="<?php echo JRoute::_('index.php?option=com_users&view=login'); ?>" method="post" class="form-validate form-horizontal well"> <fieldset> <?php foreach ($this->form->getFieldset('credentials') as $field) : ?> <?php if (!$field->hidden) : ?> @@ -76,6 +76,7 @@ </button> </div> </div> + <input type="hidden" name="task" value="user.login" /> <?php $return = $this->form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem'))); ?> <input type="hidden" name="return" value="<?php echo base64_encode($return); ?>" /> <?php echo JHtml::_('form.token'); ?> diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 539e4b6fa6f2b..1da72224e58e9 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -616,64 +616,64 @@ public function onUserLogin($user, $options = array()) $lang_code = $this->current_lang; } - $foundAssociation = false; - - $assoc = JLanguageAssociations::isEnabled(); - - // If association is enabled - if ($assoc) - { - // Retrieves the Itemid from a login form. - $uri = new JUri($this->app->getUserState('users.login.form.return')); - - // Get Itemid from SEF or home page - $query = $this->app->getRouter()->parse($uri); - - // Check, if the login form contains a menu item redirection. - if (!empty($query['Itemid'])) - { - // Try to get associations from that menu item. - $associations = MenusHelper::getAssociations($query['Itemid']); - - // If any association set to the user preferred site language, redirect to that page. - if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) - { - $associationItemid = $associations[$lang_code]; - $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); - $foundAssociation = true; - } - } - } - // Try to get association from the current active menu item $active = $menu->getActive(); + $foundAssociation = false; + /** * Looking for associations. * If the login menu item form contains an internal URL redirection, - * This will override the automatic change to the user preferred site language. + * this will override the automatic change to the user preferred site language. * In that case we use the redirect as defined in the menu item. - * Otherwise we redirect, when available, to the user preferred site language. + * Otherwise we redirect, when available, to the user preferred site language. */ - if (!$foundAssociation && $active && !$active->params['login_redirect_url']) + if (!$active || !$active->params['login_redirect_url']) { - if ($assoc) + if (JLanguageAssociations::isEnabled()) { - $associations = MenusHelper::getAssociations($active->id); + // Retrieves the Itemid from a login form. + $uri = new JUri($this->app->getUserState('users.login.form.return')); + + $Itemid = $uri->getVar('Itemid'); + + if (!$Itemid && $this->mode_sef) + { + // Workaround to not use current active item id + $activeId = $this->app->input->get('Itemid'); + $this->app->input->set('Itemid', null); + + // Get Itemid from SEF or home page + $query = $this->app->getRouter()->parse($uri); + $Itemid = isset($query['Itemid']) ? $query['Itemid'] : null; + + // Restore active item id + $this->app->input->set('Itemid', $activeId); + } + + if ($Itemid) + { + // Assign the active item from previous page to check for home page below + $active = $menu->getItem($Itemid); + + // The login form contains a menu item redirection. Try to get associations from that menu item. + $associations = MenusHelper::getAssociations($Itemid); + } + else + { + // Return URL does not have any Itemid + $active = null; + } } + // If any association set to the user preferred site language, redirect to that page. if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) { - /** - * The login form does not contain a menu item redirection. - * The active menu item has associations. - * We redirect to the user preferred site language associated page. - */ $associationItemid = $associations[$lang_code]; $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); $foundAssociation = true; } - elseif ($active->home) + elseif ($active && $active->home) { // We are on a Home page, we redirect to the user preferred site language Home page. $item = $menu->getDefault($lang_code); From c66c814cc1fcba715ffc8f0f22a691b2f804f8f0 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 20 Jan 2018 17:20:08 +0100 Subject: [PATCH 047/255] [bug] Featured article menu item does not respect Show Unauthorised Links menu item parameter (#19406) * [bug] Featured article menu item does not respect Show Unauthorised Links * oops --- components/com_content/models/featured.php | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/components/com_content/models/featured.php b/components/com_content/models/featured.php index a823903624fc4..8b5a7cd9defea 100644 --- a/components/com_content/models/featured.php +++ b/components/com_content/models/featured.php @@ -9,6 +9,8 @@ defined('_JEXEC') or die; +use Joomla\Registry\Registry; + JLoader::register('ContentModelArticles', __DIR__ . '/articles.php'); /** @@ -43,12 +45,25 @@ protected function populateState($ordering = null, $direction = null) $input = JFactory::getApplication()->input; $user = JFactory::getUser(); + $app = JFactory::getApplication('site'); // List state information $limitstart = $input->getUInt('limitstart', 0); $this->setState('list.start', $limitstart); $params = $this->state->params; + $menuParams = new Registry; + + if ($menu = $app->getMenu()->getActive()) + { + $menuParams->loadString($menu->params); + } + + $mergedParams = clone $menuParams; + $mergedParams->merge($params); + + $this->setState('params', $mergedParams); + $limit = $params->get('num_leading_articles') + $params->get('num_intro_articles') + $params->get('num_links'); $this->setState('list.limit', $limit); $this->setState('list.links', $params->get('num_links')); @@ -65,6 +80,16 @@ protected function populateState($ordering = null, $direction = null) $this->setState('filter.published', array(0, 1, 2)); } + // Process show_noauth parameter + if (!$params->get('show_noauth')) + { + $this->setState('filter.access', true); + } + else + { + $this->setState('filter.access', false); + } + // Check for category selection if ($params->get('featured_categories') && implode(',', $params->get('featured_categories')) == true) { From 44a1dca920ccc1b1fe909fb09a31814aa7f0d476 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Sat, 20 Jan 2018 11:11:30 -0600 Subject: [PATCH 048/255] Prepare 3.8.4 Release Candidate --- README.md | 2 +- README.txt | 2 +- RoboFile.php | 2 +- administrator/components/com_admin/admin.php | 2 +- administrator/components/com_admin/admin.xml | 2 +- .../components/com_admin/controller.php | 2 +- .../com_admin/controllers/profile.php | 2 +- .../com_admin/helpers/html/directory.php | 2 +- .../com_admin/helpers/html/phpsetting.php | 2 +- .../com_admin/helpers/html/system.php | 2 +- .../components/com_admin/models/help.php | 2 +- .../components/com_admin/models/profile.php | 2 +- .../components/com_admin/models/sysinfo.php | 2 +- .../com_admin/postinstall/eaccelerator.php | 2 +- .../com_admin/postinstall/htaccess.php | 2 +- .../com_admin/postinstall/joomla40checks.php | 2 +- .../postinstall/languageaccess340.php | 2 +- .../com_admin/postinstall/statscollection.php | 2 +- administrator/components/com_admin/script.php | 4 +- .../sql/updates/mysql/2.5.0-2011-12-21-1.sql | 2 +- .../sql/updates/mysql/2.5.1-2012-01-26.sql | 2 +- .../sql/updates/mysql/2.5.4-2012-03-18.sql | 2 +- .../com_admin/sql/updates/mysql/3.0.0.sql | 8 +- .../com_admin/sql/updates/mysql/3.1.0.sql | 8 +- .../com_admin/sql/updates/mysql/3.2.0.sql | 10 +- .../sql/updates/postgresql/3.1.0.sql | 10 +- .../sql/updates/postgresql/3.2.0.sql | 10 +- .../sql/updates/sqlazure/2.5.4-2012-03-18.sql | 2 +- .../com_admin/sql/updates/sqlazure/3.1.0.sql | 2 +- .../com_admin/views/help/tmpl/default.php | 2 +- .../com_admin/views/help/tmpl/langforum.php | 2 +- .../com_admin/views/help/view.html.php | 2 +- .../com_admin/views/profile/tmpl/edit.php | 2 +- .../com_admin/views/profile/view.html.php | 2 +- .../com_admin/views/sysinfo/tmpl/default.php | 2 +- .../views/sysinfo/tmpl/default_config.php | 2 +- .../views/sysinfo/tmpl/default_directory.php | 2 +- .../views/sysinfo/tmpl/default_phpinfo.php | 2 +- .../sysinfo/tmpl/default_phpsettings.php | 2 +- .../views/sysinfo/tmpl/default_system.php | 2 +- .../com_admin/views/sysinfo/view.html.php | 2 +- .../com_admin/views/sysinfo/view.json.php | 2 +- .../com_admin/views/sysinfo/view.text.php | 2 +- administrator/components/com_ajax/ajax.php | 2 +- administrator/components/com_ajax/ajax.xml | 2 +- .../com_associations/associations.php | 2 +- .../com_associations/associations.xml | 2 +- .../com_associations/controller.php | 2 +- .../controllers/association.php | 2 +- .../controllers/associations.php | 2 +- .../com_associations/helpers/associations.php | 2 +- .../joomla/searchtools/default/bar.php | 2 +- .../com_associations/models/association.php | 2 +- .../com_associations/models/associations.php | 2 +- .../models/fields/itemlanguage.php | 2 +- .../models/fields/itemtype.php | 2 +- .../models/fields/modalassociation.php | 2 +- .../views/association/tmpl/edit.php | 2 +- .../views/association/view.html.php | 2 +- .../views/associations/tmpl/default.php | 2 +- .../views/associations/tmpl/modal.php | 2 +- .../views/associations/view.html.php | 2 +- .../components/com_banners/banners.php | 2 +- .../components/com_banners/banners.xml | 2 +- .../components/com_banners/controller.php | 2 +- .../com_banners/controllers/banner.php | 2 +- .../com_banners/controllers/banners.php | 2 +- .../com_banners/controllers/client.php | 2 +- .../com_banners/controllers/clients.php | 2 +- .../com_banners/controllers/tracks.php | 2 +- .../com_banners/controllers/tracks.raw.php | 2 +- .../com_banners/helpers/banners.php | 2 +- .../com_banners/helpers/html/banner.php | 2 +- .../components/com_banners/models/banner.php | 2 +- .../components/com_banners/models/banners.php | 2 +- .../components/com_banners/models/client.php | 2 +- .../components/com_banners/models/clients.php | 2 +- .../com_banners/models/download.php | 2 +- .../models/fields/bannerclient.php | 2 +- .../com_banners/models/fields/clicks.php | 2 +- .../com_banners/models/fields/impmade.php | 2 +- .../com_banners/models/fields/imptotal.php | 2 +- .../components/com_banners/models/tracks.php | 2 +- .../components/com_banners/tables/banner.php | 2 +- .../components/com_banners/tables/client.php | 2 +- .../com_banners/views/banner/tmpl/edit.php | 2 +- .../com_banners/views/banner/view.html.php | 2 +- .../views/banners/tmpl/default.php | 2 +- .../views/banners/tmpl/default_batch_body.php | 2 +- .../banners/tmpl/default_batch_footer.php | 2 +- .../com_banners/views/banners/view.html.php | 2 +- .../com_banners/views/client/tmpl/edit.php | 2 +- .../com_banners/views/client/view.html.php | 2 +- .../views/clients/tmpl/default.php | 2 +- .../com_banners/views/clients/view.html.php | 2 +- .../views/download/tmpl/default.php | 2 +- .../com_banners/views/download/view.html.php | 2 +- .../com_banners/views/tracks/tmpl/default.php | 2 +- .../com_banners/views/tracks/view.html.php | 2 +- .../com_banners/views/tracks/view.raw.php | 2 +- administrator/components/com_cache/cache.php | 2 +- administrator/components/com_cache/cache.xml | 2 +- .../components/com_cache/controller.php | 2 +- .../components/com_cache/helpers/cache.php | 2 +- .../components/com_cache/models/cache.php | 2 +- .../com_cache/views/cache/tmpl/default.php | 2 +- .../com_cache/views/cache/view.html.php | 2 +- .../com_cache/views/purge/tmpl/default.php | 2 +- .../com_cache/views/purge/view.html.php | 2 +- .../components/com_categories/categories.php | 2 +- .../components/com_categories/categories.xml | 2 +- .../components/com_categories/controller.php | 2 +- .../com_categories/controllers/categories.php | 2 +- .../com_categories/controllers/category.php | 2 +- .../com_categories/helpers/association.php | 2 +- .../com_categories/helpers/categories.php | 2 +- .../helpers/html/categoriesadministrator.php | 2 +- .../com_categories/models/categories.php | 2 +- .../com_categories/models/category.php | 2 +- .../models/fields/categoryedit.php | 2 +- .../models/fields/categoryparent.php | 2 +- .../models/fields/modal/category.php | 2 +- .../com_categories/tables/category.php | 2 +- .../views/categories/tmpl/default.php | 2 +- .../categories/tmpl/default_batch_body.php | 2 +- .../categories/tmpl/default_batch_footer.php | 2 +- .../views/categories/tmpl/modal.php | 2 +- .../views/categories/view.html.php | 2 +- .../views/category/tmpl/edit.php | 2 +- .../views/category/tmpl/edit_associations.php | 2 +- .../views/category/tmpl/edit_metadata.php | 2 +- .../views/category/tmpl/modal.php | 2 +- .../category/tmpl/modal_associations.php | 2 +- .../views/category/tmpl/modal_extrafields.php | 2 +- .../views/category/tmpl/modal_metadata.php | 2 +- .../views/category/tmpl/modal_options.php | 2 +- .../views/category/view.html.php | 2 +- .../components/com_checkin/checkin.php | 2 +- .../components/com_checkin/checkin.xml | 2 +- .../components/com_checkin/controller.php | 2 +- .../components/com_checkin/models/checkin.php | 2 +- .../views/checkin/tmpl/default.php | 2 +- .../com_checkin/views/checkin/view.html.php | 2 +- .../components/com_config/config.php | 2 +- .../components/com_config/config.xml | 2 +- .../components/com_config/controller.php | 2 +- .../controller/application/cancel.php | 2 +- .../controller/application/display.php | 2 +- .../controller/application/removeroot.php | 2 +- .../controller/application/save.php | 2 +- .../controller/application/sendtestmail.php | 2 +- .../controller/application/store.php | 2 +- .../controller/component/cancel.php | 2 +- .../controller/component/display.php | 2 +- .../com_config/controller/component/save.php | 2 +- .../com_config/controllers/application.php | 2 +- .../com_config/controllers/component.php | 2 +- .../components/com_config/helper/config.php | 2 +- .../com_config/model/application.php | 2 +- .../components/com_config/model/component.php | 2 +- .../model/field/configcomponents.php | 2 +- .../com_config/model/field/filters.php | 2 +- .../com_config/models/application.php | 2 +- .../com_config/models/component.php | 2 +- .../com_config/view/application/html.php | 2 +- .../com_config/view/application/json.php | 2 +- .../view/application/tmpl/default.php | 2 +- .../view/application/tmpl/default_cache.php | 2 +- .../view/application/tmpl/default_cookie.php | 2 +- .../application/tmpl/default_database.php | 2 +- .../view/application/tmpl/default_debug.php | 2 +- .../view/application/tmpl/default_filters.php | 2 +- .../view/application/tmpl/default_ftp.php | 2 +- .../application/tmpl/default_ftplogin.php | 2 +- .../view/application/tmpl/default_locale.php | 2 +- .../view/application/tmpl/default_mail.php | 2 +- .../application/tmpl/default_metadata.php | 2 +- .../application/tmpl/default_navigation.php | 2 +- .../application/tmpl/default_permissions.php | 2 +- .../view/application/tmpl/default_proxy.php | 2 +- .../view/application/tmpl/default_seo.php | 2 +- .../view/application/tmpl/default_server.php | 2 +- .../view/application/tmpl/default_session.php | 2 +- .../view/application/tmpl/default_site.php | 2 +- .../view/application/tmpl/default_system.php | 2 +- .../com_config/view/component/html.php | 2 +- .../view/component/tmpl/default.php | 2 +- .../component/tmpl/default_navigation.php | 2 +- .../components/com_contact/contact.php | 2 +- .../components/com_contact/contact.xml | 2 +- .../components/com_contact/controller.php | 2 +- .../com_contact/controllers/contact.php | 2 +- .../com_contact/controllers/contacts.php | 2 +- .../com_contact/helpers/associations.php | 2 +- .../com_contact/helpers/contact.php | 2 +- .../com_contact/helpers/html/contact.php | 2 +- .../components/com_contact/models/contact.php | 2 +- .../com_contact/models/contacts.php | 2 +- .../models/fields/modal/contact.php | 2 +- .../components/com_contact/tables/contact.php | 2 +- .../com_contact/views/contact/tmpl/edit.php | 2 +- .../views/contact/tmpl/edit_associations.php | 2 +- .../views/contact/tmpl/edit_metadata.php | 2 +- .../views/contact/tmpl/edit_params.php | 2 +- .../com_contact/views/contact/tmpl/modal.php | 2 +- .../views/contact/tmpl/modal_associations.php | 2 +- .../views/contact/tmpl/modal_metadata.php | 2 +- .../views/contact/tmpl/modal_params.php | 2 +- .../com_contact/views/contact/view.html.php | 2 +- .../views/contacts/tmpl/default.php | 2 +- .../views/contacts/tmpl/default_batch.php | 2 +- .../contacts/tmpl/default_batch_body.php | 2 +- .../contacts/tmpl/default_batch_footer.php | 2 +- .../com_contact/views/contacts/tmpl/modal.php | 2 +- .../com_contact/views/contacts/view.html.php | 2 +- .../components/com_content/content.php | 2 +- .../components/com_content/content.xml | 2 +- .../components/com_content/controller.php | 2 +- .../com_content/controllers/article.php | 2 +- .../com_content/controllers/articles.php | 2 +- .../com_content/controllers/featured.php | 2 +- .../com_content/helpers/associations.php | 2 +- .../com_content/helpers/content.php | 2 +- .../helpers/html/contentadministrator.php | 2 +- .../components/com_content/models/article.php | 2 +- .../com_content/models/articles.php | 2 +- .../components/com_content/models/feature.php | 2 +- .../com_content/models/featured.php | 2 +- .../models/fields/modal/article.php | 2 +- .../com_content/models/fields/voteradio.php | 2 +- .../com_content/tables/featured.php | 2 +- .../com_content/views/article/tmpl/edit.php | 2 +- .../views/article/tmpl/edit_associations.php | 2 +- .../views/article/tmpl/edit_metadata.php | 2 +- .../com_content/views/article/tmpl/modal.php | 2 +- .../views/article/tmpl/modal_associations.php | 2 +- .../views/article/tmpl/modal_metadata.php | 2 +- .../views/article/tmpl/pagebreak.php | 2 +- .../com_content/views/article/view.html.php | 2 +- .../views/articles/tmpl/default.php | 2 +- .../articles/tmpl/default_batch_body.php | 2 +- .../articles/tmpl/default_batch_footer.php | 2 +- .../com_content/views/articles/tmpl/modal.php | 2 +- .../com_content/views/articles/view.html.php | 2 +- .../views/featured/tmpl/default.php | 2 +- .../com_content/views/featured/view.html.php | 2 +- .../com_contenthistory/contenthistory.php | 2 +- .../com_contenthistory/contenthistory.xml | 2 +- .../com_contenthistory/controller.php | 2 +- .../controllers/history.php | 2 +- .../controllers/preview.php | 2 +- .../helpers/contenthistory.php | 2 +- .../helpers/html/textdiff.php | 2 +- .../com_contenthistory/models/compare.php | 2 +- .../com_contenthistory/models/history.php | 2 +- .../com_contenthistory/models/preview.php | 2 +- .../views/compare/tmpl/compare.php | 2 +- .../views/compare/view.html.php | 2 +- .../views/history/tmpl/modal.php | 2 +- .../views/history/view.html.php | 2 +- .../views/preview/tmpl/preview.php | 2 +- .../views/preview/view.html.php | 2 +- .../components/com_cpanel/controller.php | 2 +- .../components/com_cpanel/cpanel.php | 2 +- .../components/com_cpanel/cpanel.xml | 2 +- .../com_cpanel/views/cpanel/tmpl/default.php | 2 +- .../com_cpanel/views/cpanel/view.html.php | 2 +- .../components/com_fields/controller.php | 2 +- .../com_fields/controllers/field.php | 2 +- .../com_fields/controllers/fields.php | 2 +- .../com_fields/controllers/group.php | 2 +- .../com_fields/controllers/groups.php | 2 +- .../components/com_fields/fields.php | 2 +- .../components/com_fields/fields.xml | 2 +- .../components/com_fields/helpers/fields.php | 2 +- .../com_fields/libraries/fieldslistplugin.php | 2 +- .../com_fields/libraries/fieldsplugin.php | 2 +- .../components/com_fields/models/field.php | 2 +- .../components/com_fields/models/fields.php | 2 +- .../models/fields/fieldcontexts.php | 2 +- .../com_fields/models/fields/fieldgroups.php | 2 +- .../com_fields/models/fields/section.php | 2 +- .../com_fields/models/fields/type.php | 2 +- .../components/com_fields/models/group.php | 2 +- .../components/com_fields/models/groups.php | 2 +- .../components/com_fields/tables/field.php | 2 +- .../components/com_fields/tables/group.php | 2 +- .../com_fields/views/field/tmpl/edit.php | 2 +- .../com_fields/views/field/view.html.php | 2 +- .../com_fields/views/fields/tmpl/default.php | 2 +- .../views/fields/tmpl/default_batch_body.php | 2 +- .../fields/tmpl/default_batch_footer.php | 2 +- .../com_fields/views/fields/tmpl/modal.php | 2 +- .../com_fields/views/fields/view.html.php | 2 +- .../com_fields/views/group/tmpl/edit.php | 2 +- .../com_fields/views/group/view.html.php | 2 +- .../com_fields/views/groups/tmpl/default.php | 2 +- .../views/groups/tmpl/default_batch_body.php | 2 +- .../groups/tmpl/default_batch_footer.php | 2 +- .../com_fields/views/groups/view.html.php | 2 +- .../components/com_finder/controller.php | 2 +- .../com_finder/controllers/filter.php | 2 +- .../com_finder/controllers/filters.php | 2 +- .../com_finder/controllers/index.php | 2 +- .../com_finder/controllers/indexer.json.php | 2 +- .../com_finder/controllers/maps.php | 2 +- .../components/com_finder/finder.php | 2 +- .../components/com_finder/finder.xml | 2 +- .../components/com_finder/helpers/finder.php | 2 +- .../com_finder/helpers/html/finder.php | 2 +- .../com_finder/helpers/indexer/adapter.php | 2 +- .../helpers/indexer/driver/mysql.php | 2 +- .../helpers/indexer/driver/postgresql.php | 2 +- .../helpers/indexer/driver/sqlsrv.php | 2 +- .../com_finder/helpers/indexer/helper.php | 2 +- .../com_finder/helpers/indexer/indexer.php | 2 +- .../com_finder/helpers/indexer/parser.php | 2 +- .../helpers/indexer/parser/html.php | 2 +- .../com_finder/helpers/indexer/parser/rtf.php | 2 +- .../com_finder/helpers/indexer/parser/txt.php | 2 +- .../com_finder/helpers/indexer/query.php | 2 +- .../com_finder/helpers/indexer/result.php | 2 +- .../com_finder/helpers/indexer/stemmer.php | 2 +- .../com_finder/helpers/indexer/stemmer/fr.php | 2 +- .../helpers/indexer/stemmer/porter_en.php | 2 +- .../helpers/indexer/stemmer/snowball.php | 2 +- .../com_finder/helpers/indexer/taxonomy.php | 2 +- .../com_finder/helpers/indexer/token.php | 2 +- .../com_finder/helpers/language.php | 2 +- .../com_finder/models/fields/branches.php | 2 +- .../com_finder/models/fields/contentmap.php | 2 +- .../com_finder/models/fields/contenttypes.php | 2 +- .../com_finder/models/fields/directories.php | 2 +- .../com_finder/models/fields/searchfilter.php | 2 +- .../components/com_finder/models/filter.php | 2 +- .../components/com_finder/models/filters.php | 2 +- .../components/com_finder/models/index.php | 2 +- .../components/com_finder/models/indexer.php | 2 +- .../components/com_finder/models/maps.php | 2 +- .../com_finder/models/statistics.php | 2 +- .../components/com_finder/tables/filter.php | 2 +- .../components/com_finder/tables/link.php | 2 +- .../components/com_finder/tables/map.php | 2 +- .../com_finder/views/filter/tmpl/edit.php | 2 +- .../com_finder/views/filter/view.html.php | 2 +- .../com_finder/views/filters/tmpl/default.php | 2 +- .../com_finder/views/filters/view.html.php | 2 +- .../com_finder/views/index/tmpl/default.php | 2 +- .../com_finder/views/index/view.html.php | 2 +- .../com_finder/views/indexer/tmpl/default.php | 2 +- .../com_finder/views/indexer/view.html.php | 2 +- .../com_finder/views/maps/tmpl/default.php | 2 +- .../com_finder/views/maps/view.html.php | 2 +- .../views/statistics/tmpl/default.php | 2 +- .../com_finder/views/statistics/view.html.php | 2 +- .../components/com_installer/controller.php | 2 +- .../com_installer/controllers/database.php | 2 +- .../com_installer/controllers/discover.php | 2 +- .../com_installer/controllers/install.php | 2 +- .../com_installer/controllers/manage.php | 2 +- .../com_installer/controllers/update.php | 2 +- .../com_installer/controllers/updatesites.php | 2 +- .../com_installer/helpers/html/manage.php | 2 +- .../helpers/html/updatesites.php | 2 +- .../com_installer/helpers/installer.php | 2 +- .../components/com_installer/installer.php | 2 +- .../components/com_installer/installer.xml | 2 +- .../com_installer/models/database.php | 2 +- .../com_installer/models/discover.php | 2 +- .../com_installer/models/extension.php | 2 +- .../models/fields/extensionstatus.php | 2 +- .../com_installer/models/fields/folder.php | 2 +- .../com_installer/models/fields/location.php | 2 +- .../com_installer/models/fields/type.php | 2 +- .../com_installer/models/install.php | 2 +- .../com_installer/models/languages.php | 2 +- .../com_installer/models/manage.php | 2 +- .../com_installer/models/update.php | 2 +- .../com_installer/models/updatesites.php | 2 +- .../com_installer/models/warnings.php | 2 +- .../views/database/tmpl/default.php | 2 +- .../views/database/view.html.php | 2 +- .../views/default/tmpl/default_ftp.php | 2 +- .../views/default/tmpl/default_message.php | 2 +- .../com_installer/views/default/view.php | 2 +- .../views/discover/tmpl/default.php | 2 +- .../views/discover/tmpl/default_item.php | 2 +- .../views/discover/view.html.php | 2 +- .../views/install/tmpl/default.php | 2 +- .../com_installer/views/install/view.html.php | 2 +- .../views/languages/tmpl/default.php | 2 +- .../views/languages/view.html.php | 2 +- .../views/manage/tmpl/default.php | 2 +- .../com_installer/views/manage/view.html.php | 2 +- .../views/update/tmpl/default.php | 2 +- .../com_installer/views/update/view.html.php | 2 +- .../views/updatesites/tmpl/default.php | 2 +- .../views/updatesites/view.html.php | 2 +- .../views/warnings/tmpl/default.php | 2 +- .../views/warnings/view.html.php | 2 +- .../com_joomlaupdate/controller.php | 2 +- .../com_joomlaupdate/controllers/update.php | 2 +- .../com_joomlaupdate/helpers/joomlaupdate.php | 2 +- .../com_joomlaupdate/helpers/select.php | 2 +- .../com_joomlaupdate/joomlaupdate.php | 2 +- .../com_joomlaupdate/joomlaupdate.xml | 2 +- .../com_joomlaupdate/models/default.php | 2 +- .../com_joomlaupdate/restore_finalisation.php | 2 +- .../views/default/tmpl/complete.php | 2 +- .../views/default/tmpl/default.php | 2 +- .../views/default/tmpl/default_nodownload.php | 2 +- .../views/default/tmpl/default_reinstall.php | 2 +- .../views/default/tmpl/default_update.php | 2 +- .../default/tmpl/default_updatemefirst.php | 2 +- .../views/default/tmpl/default_upload.php | 2 +- .../views/default/view.html.php | 2 +- .../views/update/tmpl/default.php | 2 +- .../views/update/tmpl/finaliseconfirm.php | 2 +- .../views/update/view.html.php | 2 +- .../views/upload/tmpl/captive.php | 2 +- .../views/upload/view.html.php | 2 +- .../components/com_languages/controller.php | 2 +- .../com_languages/controllers/installed.php | 2 +- .../com_languages/controllers/language.php | 2 +- .../com_languages/controllers/languages.php | 2 +- .../com_languages/controllers/override.php | 2 +- .../com_languages/controllers/overrides.php | 2 +- .../controllers/strings.json.php | 2 +- .../com_languages/helpers/html/languages.php | 2 +- .../com_languages/helpers/jsonresponse.php | 2 +- .../com_languages/helpers/languages.php | 2 +- .../com_languages/helpers/multilangstatus.php | 2 +- .../components/com_languages/languages.php | 2 +- .../components/com_languages/languages.xml | 2 +- .../com_languages/models/installed.php | 2 +- .../com_languages/models/language.php | 2 +- .../com_languages/models/languages.php | 2 +- .../com_languages/models/override.php | 2 +- .../com_languages/models/overrides.php | 2 +- .../com_languages/models/strings.php | 2 +- .../views/installed/tmpl/default.php | 2 +- .../views/installed/view.html.php | 2 +- .../views/language/tmpl/edit.php | 2 +- .../views/language/view.html.php | 2 +- .../views/languages/tmpl/default.php | 2 +- .../views/languages/view.html.php | 2 +- .../views/multilangstatus/tmpl/default.php | 2 +- .../views/multilangstatus/view.html.php | 2 +- .../views/override/tmpl/edit.php | 2 +- .../views/override/view.html.php | 2 +- .../views/overrides/tmpl/default.php | 2 +- .../views/overrides/view.html.php | 2 +- .../components/com_login/controller.php | 2 +- administrator/components/com_login/login.php | 2 +- administrator/components/com_login/login.xml | 2 +- .../components/com_login/models/login.php | 2 +- .../com_login/views/login/tmpl/default.php | 2 +- .../com_login/views/login/view.html.php | 2 +- .../components/com_media/controller.php | 2 +- .../com_media/controllers/file.json.php | 2 +- .../components/com_media/controllers/file.php | 2 +- .../com_media/controllers/folder.php | 2 +- .../components/com_media/helpers/media.php | 2 +- .../com_media/layouts/toolbar/deletemedia.php | 2 +- .../com_media/layouts/toolbar/newfolder.php | 2 +- .../com_media/layouts/toolbar/uploadmedia.php | 2 +- administrator/components/com_media/media.php | 2 +- administrator/components/com_media/media.xml | 2 +- .../components/com_media/models/list.php | 2 +- .../components/com_media/models/manager.php | 2 +- .../com_media/views/images/tmpl/default.php | 2 +- .../com_media/views/images/view.html.php | 2 +- .../views/imageslist/tmpl/default.php | 2 +- .../views/imageslist/tmpl/default_folder.php | 2 +- .../views/imageslist/tmpl/default_image.php | 2 +- .../com_media/views/imageslist/view.html.php | 2 +- .../com_media/views/media/tmpl/default.php | 2 +- .../views/media/tmpl/default_folders.php | 2 +- .../views/media/tmpl/default_navigation.php | 2 +- .../com_media/views/media/view.html.php | 2 +- .../views/medialist/tmpl/default.php | 2 +- .../views/medialist/tmpl/details.php | 2 +- .../views/medialist/tmpl/details_doc.php | 2 +- .../views/medialist/tmpl/details_docs.php | 2 +- .../views/medialist/tmpl/details_folder.php | 2 +- .../views/medialist/tmpl/details_folders.php | 2 +- .../views/medialist/tmpl/details_img.php | 2 +- .../views/medialist/tmpl/details_imgs.php | 2 +- .../views/medialist/tmpl/details_up.php | 2 +- .../views/medialist/tmpl/details_video.php | 2 +- .../views/medialist/tmpl/details_videos.php | 2 +- .../com_media/views/medialist/tmpl/thumbs.php | 2 +- .../views/medialist/tmpl/thumbs_docs.php | 2 +- .../views/medialist/tmpl/thumbs_folders.php | 2 +- .../views/medialist/tmpl/thumbs_imgs.php | 2 +- .../views/medialist/tmpl/thumbs_up.php | 2 +- .../views/medialist/tmpl/thumbs_videos.php | 2 +- .../com_media/views/medialist/view.html.php | 2 +- .../components/com_menus/controller.php | 2 +- .../components/com_menus/controllers/item.php | 2 +- .../com_menus/controllers/items.php | 2 +- .../components/com_menus/controllers/menu.php | 2 +- .../com_menus/controllers/menus.php | 2 +- .../com_menus/helpers/associations.php | 2 +- .../com_menus/helpers/html/menus.php | 2 +- .../components/com_menus/helpers/menus.php | 2 +- .../layouts/joomla/menu/edit_modules.php | 2 +- .../layouts/joomla/searchtools/default.php | 2 +- .../joomla/searchtools/default/bar.php | 2 +- administrator/components/com_menus/menus.php | 2 +- administrator/components/com_menus/menus.xml | 2 +- .../models/fields/componentscategory.php | 2 +- .../models/fields/menuitembytype.php | 2 +- .../com_menus/models/fields/menuordering.php | 2 +- .../com_menus/models/fields/menuparent.php | 2 +- .../com_menus/models/fields/menupreset.php | 2 +- .../com_menus/models/fields/menutype.php | 2 +- .../com_menus/models/fields/modal/menu.php | 2 +- .../components/com_menus/models/item.php | 2 +- .../components/com_menus/models/items.php | 2 +- .../components/com_menus/models/menu.php | 2 +- .../components/com_menus/models/menus.php | 2 +- .../components/com_menus/models/menutypes.php | 2 +- .../components/com_menus/tables/menu.php | 2 +- .../com_menus/views/item/tmpl/edit.php | 2 +- .../views/item/tmpl/edit_associations.php | 2 +- .../views/item/tmpl/edit_container.php | 2 +- .../views/item/tmpl/edit_modules.php | 2 +- .../views/item/tmpl/edit_options.php | 2 +- .../com_menus/views/item/tmpl/modal.php | 2 +- .../views/item/tmpl/modal_associations.php | 2 +- .../views/item/tmpl/modal_options.php | 2 +- .../com_menus/views/item/view.html.php | 2 +- .../com_menus/views/items/tmpl/default.php | 2 +- .../views/items/tmpl/default_batch_body.php | 2 +- .../views/items/tmpl/default_batch_footer.php | 2 +- .../com_menus/views/items/tmpl/modal.php | 2 +- .../com_menus/views/items/view.html.php | 2 +- .../com_menus/views/menu/tmpl/edit.php | 2 +- .../com_menus/views/menu/view.html.php | 2 +- .../com_menus/views/menu/view.xml.php | 2 +- .../com_menus/views/menus/tmpl/default.php | 2 +- .../com_menus/views/menus/view.html.php | 2 +- .../views/menutypes/tmpl/default.php | 2 +- .../com_menus/views/menutypes/view.html.php | 2 +- .../components/com_messages/controller.php | 2 +- .../com_messages/controllers/config.php | 2 +- .../com_messages/controllers/message.php | 2 +- .../com_messages/controllers/messages.php | 2 +- .../com_messages/helpers/html/messages.php | 2 +- .../com_messages/helpers/messages.php | 2 +- .../components/com_messages/messages.php | 2 +- .../components/com_messages/messages.xml | 2 +- .../components/com_messages/models/config.php | 2 +- .../models/fields/messagestates.php | 2 +- .../models/fields/usermessages.php | 2 +- .../com_messages/models/message.php | 2 +- .../com_messages/models/messages.php | 2 +- .../com_messages/tables/message.php | 2 +- .../views/config/tmpl/default.php | 2 +- .../com_messages/views/config/view.html.php | 2 +- .../views/message/tmpl/default.php | 2 +- .../com_messages/views/message/tmpl/edit.php | 2 +- .../com_messages/views/message/view.html.php | 2 +- .../views/messages/tmpl/default.php | 2 +- .../com_messages/views/messages/view.html.php | 2 +- .../components/com_modules/controller.php | 2 +- .../com_modules/controllers/module.php | 2 +- .../com_modules/controllers/modules.php | 2 +- .../com_modules/helpers/html/modules.php | 2 +- .../com_modules/helpers/modules.php | 2 +- .../components/com_modules/helpers/xml.php | 2 +- .../layouts/toolbar/cancelselect.php | 2 +- .../com_modules/layouts/toolbar/newmodule.php | 2 +- .../models/fields/modulesmodule.php | 2 +- .../models/fields/modulesposition.php | 2 +- .../components/com_modules/models/module.php | 2 +- .../components/com_modules/models/modules.php | 2 +- .../com_modules/models/positions.php | 2 +- .../components/com_modules/models/select.php | 2 +- .../components/com_modules/modules.php | 2 +- .../components/com_modules/modules.xml | 2 +- .../com_modules/views/module/tmpl/edit.php | 2 +- .../views/module/tmpl/edit_assignment.php | 2 +- .../views/module/tmpl/edit_options.php | 2 +- .../views/module/tmpl/edit_positions.php | 2 +- .../com_modules/views/module/tmpl/modal.php | 2 +- .../com_modules/views/module/view.html.php | 2 +- .../com_modules/views/module/view.json.php | 2 +- .../views/modules/tmpl/default.php | 2 +- .../views/modules/tmpl/default_batch_body.php | 2 +- .../modules/tmpl/default_batch_footer.php | 2 +- .../com_modules/views/modules/tmpl/modal.php | 2 +- .../com_modules/views/modules/view.html.php | 2 +- .../views/positions/tmpl/modal.php | 2 +- .../com_modules/views/positions/view.html.php | 2 +- .../views/preview/tmpl/default.php | 2 +- .../com_modules/views/preview/view.html.php | 2 +- .../com_modules/views/select/tmpl/default.php | 2 +- .../com_modules/views/select/view.html.php | 2 +- .../components/com_newsfeeds/controller.php | 2 +- .../com_newsfeeds/controllers/newsfeed.php | 2 +- .../com_newsfeeds/controllers/newsfeeds.php | 2 +- .../com_newsfeeds/helpers/associations.php | 2 +- .../com_newsfeeds/helpers/html/newsfeed.php | 2 +- .../com_newsfeeds/helpers/newsfeeds.php | 2 +- .../models/fields/modal/newsfeed.php | 2 +- .../com_newsfeeds/models/fields/newsfeeds.php | 2 +- .../com_newsfeeds/models/newsfeed.php | 2 +- .../com_newsfeeds/models/newsfeeds.php | 2 +- .../components/com_newsfeeds/newsfeeds.php | 2 +- .../components/com_newsfeeds/newsfeeds.xml | 2 +- .../com_newsfeeds/tables/newsfeed.php | 2 +- .../views/newsfeed/tmpl/edit.php | 2 +- .../views/newsfeed/tmpl/edit_associations.php | 2 +- .../views/newsfeed/tmpl/edit_display.php | 2 +- .../views/newsfeed/tmpl/edit_metadata.php | 2 +- .../views/newsfeed/tmpl/edit_params.php | 2 +- .../views/newsfeed/tmpl/modal.php | 2 +- .../newsfeed/tmpl/modal_associations.php | 2 +- .../views/newsfeed/tmpl/modal_display.php | 2 +- .../views/newsfeed/tmpl/modal_metadata.php | 2 +- .../views/newsfeed/tmpl/modal_params.php | 2 +- .../views/newsfeed/view.html.php | 2 +- .../views/newsfeeds/tmpl/default.php | 2 +- .../newsfeeds/tmpl/default_batch_body.php | 2 +- .../newsfeeds/tmpl/default_batch_footer.php | 2 +- .../views/newsfeeds/tmpl/modal.php | 2 +- .../views/newsfeeds/view.html.php | 2 +- .../components/com_plugins/controller.php | 2 +- .../com_plugins/controllers/plugin.php | 2 +- .../com_plugins/controllers/plugins.php | 2 +- .../com_plugins/helpers/plugins.php | 2 +- .../models/fields/pluginordering.php | 2 +- .../com_plugins/models/fields/plugintype.php | 2 +- .../components/com_plugins/models/plugin.php | 2 +- .../components/com_plugins/models/plugins.php | 2 +- .../components/com_plugins/plugins.php | 2 +- .../components/com_plugins/plugins.xml | 2 +- .../com_plugins/views/plugin/tmpl/edit.php | 2 +- .../views/plugin/tmpl/edit_options.php | 2 +- .../com_plugins/views/plugin/tmpl/modal.php | 2 +- .../com_plugins/views/plugin/view.html.php | 2 +- .../views/plugins/tmpl/default.php | 2 +- .../com_plugins/views/plugins/view.html.php | 2 +- .../com_postinstall/controllers/message.php | 2 +- .../com_postinstall/models/messages.php | 2 +- .../com_postinstall/postinstall.php | 2 +- .../com_postinstall/postinstall.xml | 2 +- .../components/com_postinstall/toolbar.php | 2 +- .../views/messages/tmpl/default.php | 2 +- .../views/messages/view.html.php | 2 +- .../components/com_redirect/controller.php | 2 +- .../com_redirect/controllers/link.php | 2 +- .../com_redirect/controllers/links.php | 2 +- .../com_redirect/helpers/html/redirect.php | 2 +- .../com_redirect/helpers/redirect.php | 2 +- .../com_redirect/layouts/toolbar/batch.php | 2 +- .../com_redirect/models/fields/redirect.php | 2 +- .../components/com_redirect/models/link.php | 2 +- .../components/com_redirect/models/links.php | 2 +- .../components/com_redirect/redirect.php | 2 +- .../components/com_redirect/redirect.xml | 2 +- .../components/com_redirect/tables/link.php | 2 +- .../com_redirect/views/link/tmpl/edit.php | 2 +- .../com_redirect/views/link/view.html.php | 2 +- .../com_redirect/views/links/tmpl/default.php | 2 +- .../views/links/tmpl/default_addform.php | 2 +- .../views/links/tmpl/default_batch_body.php | 2 +- .../views/links/tmpl/default_batch_footer.php | 2 +- .../com_redirect/views/links/view.html.php | 2 +- .../components/com_search/controller.php | 2 +- .../com_search/controllers/searches.php | 2 +- .../components/com_search/helpers/search.php | 2 +- .../components/com_search/helpers/site.php | 2 +- .../components/com_search/models/searches.php | 2 +- .../components/com_search/search.php | 2 +- .../components/com_search/search.xml | 2 +- .../views/searches/tmpl/default.php | 2 +- .../com_search/views/searches/view.html.php | 2 +- .../components/com_tags/controller.php | 2 +- .../components/com_tags/controllers/tag.php | 2 +- .../components/com_tags/controllers/tags.php | 2 +- .../components/com_tags/helpers/tags.php | 2 +- .../components/com_tags/models/tag.php | 2 +- .../components/com_tags/models/tags.php | 2 +- .../components/com_tags/tables/tag.php | 2 +- administrator/components/com_tags/tags.php | 2 +- administrator/components/com_tags/tags.xml | 2 +- .../com_tags/views/tag/tmpl/edit.php | 2 +- .../com_tags/views/tag/tmpl/edit_metadata.php | 2 +- .../com_tags/views/tag/tmpl/edit_options.php | 2 +- .../com_tags/views/tag/view.html.php | 2 +- .../com_tags/views/tags/tmpl/default.php | 2 +- .../views/tags/tmpl/default_batch_body.php | 2 +- .../views/tags/tmpl/default_batch_footer.php | 2 +- .../com_tags/views/tags/view.html.php | 2 +- .../components/com_templates/controller.php | 2 +- .../com_templates/controllers/style.php | 2 +- .../com_templates/controllers/styles.php | 2 +- .../com_templates/controllers/template.php | 2 +- .../com_templates/helpers/html/templates.php | 2 +- .../com_templates/helpers/template.php | 2 +- .../com_templates/helpers/templates.php | 2 +- .../models/fields/templatelocation.php | 2 +- .../models/fields/templatename.php | 2 +- .../components/com_templates/models/style.php | 2 +- .../com_templates/models/styles.php | 2 +- .../com_templates/models/template.php | 2 +- .../com_templates/models/templates.php | 2 +- .../components/com_templates/tables/style.php | 2 +- .../components/com_templates/templates.php | 2 +- .../components/com_templates/templates.xml | 2 +- .../com_templates/views/style/tmpl/edit.php | 2 +- .../views/style/tmpl/edit_assignment.php | 2 +- .../views/style/tmpl/edit_options.php | 2 +- .../com_templates/views/style/view.html.php | 2 +- .../com_templates/views/style/view.json.php | 2 +- .../views/styles/tmpl/default.php | 2 +- .../com_templates/views/styles/view.html.php | 2 +- .../views/template/tmpl/default.php | 2 +- .../template/tmpl/default_description.php | 2 +- .../views/template/tmpl/default_folders.php | 2 +- .../template/tmpl/default_modal_copy_body.php | 2 +- .../tmpl/default_modal_copy_footer.php | 2 +- .../tmpl/default_modal_delete_body.php | 2 +- .../tmpl/default_modal_delete_footer.php | 2 +- .../template/tmpl/default_modal_file_body.php | 2 +- .../tmpl/default_modal_file_footer.php | 2 +- .../tmpl/default_modal_folder_body.php | 2 +- .../tmpl/default_modal_folder_footer.php | 2 +- .../tmpl/default_modal_rename_body.php | 2 +- .../tmpl/default_modal_rename_footer.php | 2 +- .../tmpl/default_modal_resize_body.php | 2 +- .../tmpl/default_modal_resize_footer.php | 2 +- .../views/template/tmpl/default_tree.php | 2 +- .../views/template/tmpl/readonly.php | 2 +- .../views/template/view.html.php | 2 +- .../views/templates/tmpl/default.php | 2 +- .../views/templates/view.html.php | 2 +- .../components/com_users/controller.php | 2 +- .../com_users/controllers/group.php | 2 +- .../com_users/controllers/groups.php | 2 +- .../com_users/controllers/level.php | 2 +- .../com_users/controllers/levels.php | 2 +- .../components/com_users/controllers/mail.php | 2 +- .../components/com_users/controllers/note.php | 2 +- .../com_users/controllers/notes.php | 2 +- .../com_users/controllers/profile.json.php | 2 +- .../components/com_users/controllers/user.php | 2 +- .../com_users/controllers/users.php | 2 +- .../components/com_users/helpers/debug.php | 2 +- .../com_users/helpers/html/users.php | 2 +- .../components/com_users/helpers/users.php | 2 +- .../com_users/models/debuggroup.php | 2 +- .../components/com_users/models/debuguser.php | 2 +- .../com_users/models/fields/groupparent.php | 2 +- .../com_users/models/fields/levels.php | 2 +- .../components/com_users/models/group.php | 2 +- .../components/com_users/models/groups.php | 2 +- .../components/com_users/models/level.php | 2 +- .../components/com_users/models/levels.php | 2 +- .../components/com_users/models/mail.php | 2 +- .../components/com_users/models/note.php | 2 +- .../components/com_users/models/notes.php | 2 +- .../components/com_users/models/user.php | 2 +- .../components/com_users/models/users.php | 2 +- .../components/com_users/tables/note.php | 2 +- administrator/components/com_users/users.php | 2 +- administrator/components/com_users/users.xml | 2 +- .../views/debuggroup/tmpl/default.php | 2 +- .../com_users/views/debuggroup/view.html.php | 2 +- .../views/debuguser/tmpl/default.php | 2 +- .../com_users/views/debuguser/view.html.php | 2 +- .../com_users/views/group/tmpl/edit.php | 2 +- .../com_users/views/group/view.html.php | 2 +- .../com_users/views/groups/tmpl/default.php | 2 +- .../com_users/views/groups/view.html.php | 2 +- .../com_users/views/level/tmpl/edit.php | 2 +- .../com_users/views/level/view.html.php | 2 +- .../com_users/views/levels/tmpl/default.php | 2 +- .../com_users/views/levels/view.html.php | 2 +- .../com_users/views/mail/tmpl/default.php | 2 +- .../com_users/views/mail/view.html.php | 2 +- .../com_users/views/note/tmpl/edit.php | 2 +- .../com_users/views/note/view.html.php | 2 +- .../com_users/views/notes/tmpl/default.php | 2 +- .../com_users/views/notes/tmpl/modal.php | 2 +- .../com_users/views/notes/view.html.php | 2 +- .../com_users/views/user/tmpl/edit.php | 2 +- .../com_users/views/user/tmpl/edit_groups.php | 2 +- .../com_users/views/user/view.html.php | 2 +- .../com_users/views/users/tmpl/default.php | 2 +- .../views/users/tmpl/default_batch_body.php | 2 +- .../views/users/tmpl/default_batch_footer.php | 2 +- .../com_users/views/users/tmpl/modal.php | 2 +- .../com_users/views/users/view.html.php | 2 +- administrator/includes/defines.php | 2 +- administrator/includes/framework.php | 2 +- administrator/includes/helper.php | 2 +- administrator/includes/subtoolbar.php | 2 +- administrator/includes/toolbar.php | 2 +- administrator/index.php | 2 +- .../language/en-GB/en-GB.com_admin.ini | 2 +- .../language/en-GB/en-GB.com_admin.sys.ini | 2 +- .../language/en-GB/en-GB.com_ajax.ini | 2 +- .../language/en-GB/en-GB.com_ajax.sys.ini | 2 +- .../language/en-GB/en-GB.com_associations.ini | 2 +- .../en-GB/en-GB.com_associations.sys.ini | 2 +- .../language/en-GB/en-GB.com_banners.ini | 2 +- .../language/en-GB/en-GB.com_banners.sys.ini | 2 +- .../language/en-GB/en-GB.com_cache.ini | 2 +- .../language/en-GB/en-GB.com_cache.sys.ini | 2 +- .../language/en-GB/en-GB.com_categories.ini | 2 +- .../en-GB/en-GB.com_categories.sys.ini | 2 +- .../language/en-GB/en-GB.com_checkin.ini | 2 +- .../language/en-GB/en-GB.com_checkin.sys.ini | 2 +- .../language/en-GB/en-GB.com_config.ini | 2 +- .../language/en-GB/en-GB.com_config.sys.ini | 2 +- .../language/en-GB/en-GB.com_contact.ini | 2 +- .../language/en-GB/en-GB.com_contact.sys.ini | 2 +- .../language/en-GB/en-GB.com_content.ini | 2 +- .../language/en-GB/en-GB.com_content.sys.ini | 2 +- .../en-GB/en-GB.com_contenthistory.ini | 2 +- .../en-GB/en-GB.com_contenthistory.sys.ini | 2 +- .../language/en-GB/en-GB.com_cpanel.ini | 2 +- .../language/en-GB/en-GB.com_cpanel.sys.ini | 2 +- .../language/en-GB/en-GB.com_fields.ini | 2 +- .../language/en-GB/en-GB.com_fields.sys.ini | 2 +- .../language/en-GB/en-GB.com_finder.ini | 2 +- .../language/en-GB/en-GB.com_finder.sys.ini | 2 +- .../language/en-GB/en-GB.com_installer.ini | 2 +- .../en-GB/en-GB.com_installer.sys.ini | 2 +- .../language/en-GB/en-GB.com_joomlaupdate.ini | 2 +- .../en-GB/en-GB.com_joomlaupdate.sys.ini | 2 +- .../language/en-GB/en-GB.com_languages.ini | 2 +- .../en-GB/en-GB.com_languages.sys.ini | 2 +- .../language/en-GB/en-GB.com_login.ini | 2 +- .../language/en-GB/en-GB.com_login.sys.ini | 2 +- .../language/en-GB/en-GB.com_mailto.sys.ini | 2 +- .../language/en-GB/en-GB.com_media.ini | 2 +- .../language/en-GB/en-GB.com_media.sys.ini | 2 +- .../language/en-GB/en-GB.com_menus.ini | 2 +- .../language/en-GB/en-GB.com_menus.sys.ini | 2 +- .../language/en-GB/en-GB.com_messages.ini | 2 +- .../language/en-GB/en-GB.com_messages.sys.ini | 2 +- .../language/en-GB/en-GB.com_modules.ini | 2 +- .../language/en-GB/en-GB.com_modules.sys.ini | 2 +- .../language/en-GB/en-GB.com_newsfeeds.ini | 2 +- .../en-GB/en-GB.com_newsfeeds.sys.ini | 2 +- .../language/en-GB/en-GB.com_plugins.ini | 2 +- .../language/en-GB/en-GB.com_plugins.sys.ini | 2 +- .../language/en-GB/en-GB.com_postinstall.ini | 2 +- .../en-GB/en-GB.com_postinstall.sys.ini | 2 +- .../language/en-GB/en-GB.com_redirect.ini | 2 +- .../language/en-GB/en-GB.com_redirect.sys.ini | 2 +- .../language/en-GB/en-GB.com_search.ini | 2 +- .../language/en-GB/en-GB.com_search.sys.ini | 2 +- .../language/en-GB/en-GB.com_tags.ini | 2 +- .../language/en-GB/en-GB.com_tags.sys.ini | 2 +- .../language/en-GB/en-GB.com_templates.ini | 2 +- .../en-GB/en-GB.com_templates.sys.ini | 2 +- .../language/en-GB/en-GB.com_users.ini | 2 +- .../language/en-GB/en-GB.com_users.sys.ini | 2 +- .../language/en-GB/en-GB.com_weblinks.ini | 2 +- .../language/en-GB/en-GB.com_weblinks.sys.ini | 2 +- .../language/en-GB/en-GB.com_wrapper.ini | 2 +- .../language/en-GB/en-GB.com_wrapper.sys.ini | 2 +- administrator/language/en-GB/en-GB.ini | 2 +- .../language/en-GB/en-GB.lib_joomla.ini | 2 +- .../language/en-GB/en-GB.localise.php | 2 +- .../language/en-GB/en-GB.mod_custom.ini | 2 +- .../language/en-GB/en-GB.mod_custom.sys.ini | 2 +- .../language/en-GB/en-GB.mod_feed.ini | 2 +- .../language/en-GB/en-GB.mod_feed.sys.ini | 2 +- .../language/en-GB/en-GB.mod_latest.ini | 2 +- .../language/en-GB/en-GB.mod_latest.sys.ini | 2 +- .../language/en-GB/en-GB.mod_logged.ini | 2 +- .../language/en-GB/en-GB.mod_logged.sys.ini | 2 +- .../language/en-GB/en-GB.mod_login.ini | 2 +- .../language/en-GB/en-GB.mod_login.sys.ini | 2 +- .../language/en-GB/en-GB.mod_menu.ini | 2 +- .../language/en-GB/en-GB.mod_menu.sys.ini | 2 +- .../en-GB/en-GB.mod_multilangstatus.ini | 2 +- .../en-GB/en-GB.mod_multilangstatus.sys.ini | 2 +- .../language/en-GB/en-GB.mod_popular.ini | 2 +- .../language/en-GB/en-GB.mod_popular.sys.ini | 2 +- .../language/en-GB/en-GB.mod_quickicon.ini | 2 +- .../en-GB/en-GB.mod_quickicon.sys.ini | 2 +- .../language/en-GB/en-GB.mod_sampledata.ini | 2 +- .../en-GB/en-GB.mod_sampledata.sys.ini | 2 +- .../language/en-GB/en-GB.mod_stats_admin.ini | 2 +- .../en-GB/en-GB.mod_stats_admin.sys.ini | 2 +- .../language/en-GB/en-GB.mod_status.ini | 2 +- .../language/en-GB/en-GB.mod_status.sys.ini | 2 +- .../language/en-GB/en-GB.mod_submenu.ini | 2 +- .../language/en-GB/en-GB.mod_submenu.sys.ini | 2 +- .../language/en-GB/en-GB.mod_title.ini | 2 +- .../language/en-GB/en-GB.mod_title.sys.ini | 2 +- .../language/en-GB/en-GB.mod_toolbar.ini | 2 +- .../language/en-GB/en-GB.mod_toolbar.sys.ini | 2 +- .../language/en-GB/en-GB.mod_version.ini | 2 +- .../language/en-GB/en-GB.mod_version.sys.ini | 2 +- .../en-GB/en-GB.plg_authentication_cookie.ini | 2 +- .../en-GB.plg_authentication_cookie.sys.ini | 2 +- .../en-GB/en-GB.plg_authentication_gmail.ini | 2 +- .../en-GB.plg_authentication_gmail.sys.ini | 2 +- .../en-GB/en-GB.plg_authentication_joomla.ini | 2 +- .../en-GB.plg_authentication_joomla.sys.ini | 2 +- .../en-GB/en-GB.plg_authentication_ldap.ini | 2 +- .../en-GB.plg_authentication_ldap.sys.ini | 2 +- .../en-GB/en-GB.plg_captcha_recaptcha.ini | 2 +- .../en-GB/en-GB.plg_captcha_recaptcha.sys.ini | 2 +- .../en-GB/en-GB.plg_content_contact.ini | 2 +- .../en-GB/en-GB.plg_content_contact.sys.ini | 2 +- .../en-GB/en-GB.plg_content_emailcloak.ini | 2 +- .../en-GB.plg_content_emailcloak.sys.ini | 2 +- .../en-GB/en-GB.plg_content_fields.ini | 2 +- .../en-GB/en-GB.plg_content_fields.sys.ini | 2 +- .../en-GB/en-GB.plg_content_finder.ini | 2 +- .../en-GB/en-GB.plg_content_finder.sys.ini | 2 +- .../en-GB/en-GB.plg_content_joomla.ini | 2 +- .../en-GB/en-GB.plg_content_joomla.sys.ini | 2 +- .../en-GB/en-GB.plg_content_loadmodule.ini | 2 +- .../en-GB.plg_content_loadmodule.sys.ini | 2 +- .../en-GB/en-GB.plg_content_pagebreak.ini | 2 +- .../en-GB/en-GB.plg_content_pagebreak.sys.ini | 2 +- .../en-GB.plg_content_pagenavigation.ini | 2 +- .../en-GB.plg_content_pagenavigation.sys.ini | 2 +- .../language/en-GB/en-GB.plg_content_vote.ini | 2 +- .../en-GB/en-GB.plg_content_vote.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_article.ini | 2 +- .../en-GB.plg_editors-xtd_article.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_contact.ini | 2 +- .../en-GB.plg_editors-xtd_contact.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_fields.ini | 2 +- .../en-GB.plg_editors-xtd_fields.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_image.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_image.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_menu.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_menu.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_module.ini | 2 +- .../en-GB.plg_editors-xtd_module.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_pagebreak.ini | 2 +- .../en-GB.plg_editors-xtd_pagebreak.sys.ini | 2 +- .../en-GB/en-GB.plg_editors-xtd_readmore.ini | 2 +- .../en-GB.plg_editors-xtd_readmore.sys.ini | 2 +- .../en-GB/en-GB.plg_editors_codemirror.ini | 2 +- .../en-GB.plg_editors_codemirror.sys.ini | 2 +- .../language/en-GB/en-GB.plg_editors_none.ini | 2 +- .../en-GB/en-GB.plg_editors_none.sys.ini | 2 +- .../en-GB/en-GB.plg_editors_tinymce.ini | 2 +- .../en-GB/en-GB.plg_editors_tinymce.sys.ini | 2 +- .../en-GB/en-GB.plg_extension_joomla.ini | 2 +- .../en-GB/en-GB.plg_extension_joomla.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_calendar.ini | 2 +- .../en-GB/en-GB.plg_fields_calendar.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_checkboxes.ini | 2 +- .../en-GB/en-GB.plg_fields_checkboxes.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_color.ini | 2 +- .../en-GB/en-GB.plg_fields_color.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_editor.ini | 2 +- .../en-GB/en-GB.plg_fields_editor.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_image.ini | 2 +- .../en-GB/en-GB.plg_fields_image.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_imagelist.ini | 2 +- .../en-GB/en-GB.plg_fields_imagelist.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_integer.ini | 2 +- .../en-GB/en-GB.plg_fields_integer.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_list.ini | 2 +- .../en-GB/en-GB.plg_fields_list.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_media.ini | 2 +- .../en-GB/en-GB.plg_fields_media.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_radio.ini | 2 +- .../en-GB/en-GB.plg_fields_radio.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_sql.ini | 2 +- .../en-GB/en-GB.plg_fields_sql.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_text.ini | 2 +- .../en-GB/en-GB.plg_fields_text.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_textarea.ini | 2 +- .../en-GB/en-GB.plg_fields_textarea.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_url.ini | 2 +- .../en-GB/en-GB.plg_fields_url.sys.ini | 2 +- .../language/en-GB/en-GB.plg_fields_user.ini | 2 +- .../en-GB/en-GB.plg_fields_user.sys.ini | 2 +- .../en-GB/en-GB.plg_fields_usergrouplist.ini | 2 +- .../en-GB.plg_fields_usergrouplist.sys.ini | 2 +- .../en-GB/en-GB.plg_finder_categories.ini | 2 +- .../en-GB/en-GB.plg_finder_categories.sys.ini | 2 +- .../en-GB/en-GB.plg_finder_contacts.ini | 2 +- .../en-GB/en-GB.plg_finder_contacts.sys.ini | 2 +- .../en-GB/en-GB.plg_finder_content.ini | 2 +- .../en-GB/en-GB.plg_finder_content.sys.ini | 2 +- .../en-GB/en-GB.plg_finder_newsfeeds.ini | 2 +- .../en-GB/en-GB.plg_finder_newsfeeds.sys.ini | 2 +- .../language/en-GB/en-GB.plg_finder_tags.ini | 2 +- .../en-GB/en-GB.plg_finder_tags.sys.ini | 2 +- .../en-GB/en-GB.plg_finder_weblinks.ini | 2 +- .../en-GB/en-GB.plg_finder_weblinks.sys.ini | 2 +- .../en-GB.plg_installer_folderinstaller.ini | 2 +- ...n-GB.plg_installer_folderinstaller.sys.ini | 2 +- .../en-GB.plg_installer_packageinstaller.ini | 2 +- ...-GB.plg_installer_packageinstaller.sys.ini | 2 +- .../en-GB.plg_installer_urlinstaller.ini | 2 +- .../en-GB.plg_installer_urlinstaller.sys.ini | 2 +- .../en-GB.plg_installer_webinstaller.ini | 2 +- .../en-GB.plg_installer_webinstaller.sys.ini | 2 +- .../en-GB.plg_quickicon_extensionupdate.ini | 2 +- ...n-GB.plg_quickicon_extensionupdate.sys.ini | 2 +- .../en-GB.plg_quickicon_joomlaupdate.ini | 2 +- .../en-GB.plg_quickicon_joomlaupdate.sys.ini | 2 +- .../en-GB.plg_quickicon_phpversioncheck.ini | 2 +- ...n-GB.plg_quickicon_phpversioncheck.sys.ini | 2 +- .../en-GB/en-GB.plg_sampledata_blog.ini | 2 +- .../en-GB/en-GB.plg_sampledata_blog.sys.ini | 2 +- .../en-GB/en-GB.plg_search_categories.ini | 2 +- .../en-GB/en-GB.plg_search_categories.sys.ini | 2 +- .../en-GB/en-GB.plg_search_contacts.ini | 2 +- .../en-GB/en-GB.plg_search_contacts.sys.ini | 2 +- .../en-GB/en-GB.plg_search_content.ini | 2 +- .../en-GB/en-GB.plg_search_content.sys.ini | 2 +- .../en-GB/en-GB.plg_search_newsfeeds.ini | 2 +- .../en-GB/en-GB.plg_search_newsfeeds.sys.ini | 2 +- .../language/en-GB/en-GB.plg_search_tags.ini | 2 +- .../en-GB/en-GB.plg_search_tags.sys.ini | 2 +- .../en-GB/en-GB.plg_search_weblinks.ini | 2 +- .../en-GB/en-GB.plg_search_weblinks.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_cache.ini | 2 +- .../en-GB/en-GB.plg_system_cache.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_debug.ini | 2 +- .../en-GB/en-GB.plg_system_debug.sys.ini | 2 +- .../en-GB/en-GB.plg_system_fields.ini | 2 +- .../en-GB/en-GB.plg_system_fields.sys.ini | 2 +- .../en-GB/en-GB.plg_system_highlight.ini | 2 +- .../en-GB/en-GB.plg_system_highlight.sys.ini | 2 +- .../en-GB/en-GB.plg_system_languagecode.ini | 2 +- .../en-GB.plg_system_languagecode.sys.ini | 2 +- .../en-GB/en-GB.plg_system_languagefilter.ini | 2 +- .../en-GB.plg_system_languagefilter.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_log.ini | 2 +- .../en-GB/en-GB.plg_system_log.sys.ini | 2 +- .../en-GB/en-GB.plg_system_logout.ini | 2 +- .../en-GB/en-GB.plg_system_logout.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_p3p.ini | 2 +- .../en-GB/en-GB.plg_system_p3p.sys.ini | 2 +- .../en-GB/en-GB.plg_system_redirect.ini | 2 +- .../en-GB/en-GB.plg_system_redirect.sys.ini | 2 +- .../en-GB/en-GB.plg_system_remember.ini | 2 +- .../en-GB/en-GB.plg_system_remember.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_sef.ini | 2 +- .../en-GB/en-GB.plg_system_sef.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_stats.ini | 2 +- .../en-GB/en-GB.plg_system_stats.sys.ini | 2 +- .../en-GB.plg_system_updatenotification.ini | 2 +- ...n-GB.plg_system_updatenotification.sys.ini | 2 +- .../en-GB/en-GB.plg_twofactorauth_totp.ini | 2 +- .../en-GB.plg_twofactorauth_totp.sys.ini | 2 +- .../en-GB/en-GB.plg_twofactorauth_yubikey.ini | 2 +- .../en-GB.plg_twofactorauth_yubikey.sys.ini | 2 +- .../en-GB/en-GB.plg_user_contactcreator.ini | 2 +- .../en-GB.plg_user_contactcreator.sys.ini | 2 +- .../language/en-GB/en-GB.plg_user_joomla.ini | 2 +- .../en-GB/en-GB.plg_user_joomla.sys.ini | 2 +- .../language/en-GB/en-GB.plg_user_profile.ini | 2 +- .../en-GB/en-GB.plg_user_profile.sys.ini | 2 +- .../language/en-GB/en-GB.tpl_hathor.ini | 2 +- .../language/en-GB/en-GB.tpl_hathor.sys.ini | 2 +- .../language/en-GB/en-GB.tpl_isis.ini | 2 +- .../language/en-GB/en-GB.tpl_isis.sys.ini | 2 +- administrator/language/en-GB/en-GB.xml | 4 +- administrator/language/en-GB/install.xml | 4 +- administrator/manifests/files/joomla.xml | 6 +- administrator/manifests/libraries/joomla.xml | 2 +- .../manifests/packages/pkg_en-GB.xml | 4 +- .../manifests/packages/pkg_weblinks.xml | 2 +- .../modules/mod_custom/mod_custom.php | 2 +- .../modules/mod_custom/mod_custom.xml | 2 +- .../modules/mod_custom/tmpl/default.php | 2 +- administrator/modules/mod_feed/helper.php | 2 +- administrator/modules/mod_feed/mod_feed.php | 2 +- administrator/modules/mod_feed/mod_feed.xml | 2 +- .../modules/mod_feed/tmpl/default.php | 2 +- administrator/modules/mod_latest/helper.php | 2 +- .../modules/mod_latest/mod_latest.php | 2 +- .../modules/mod_latest/mod_latest.xml | 2 +- .../modules/mod_latest/tmpl/default.php | 2 +- administrator/modules/mod_logged/helper.php | 2 +- .../modules/mod_logged/mod_logged.php | 2 +- .../modules/mod_logged/mod_logged.xml | 2 +- .../modules/mod_logged/tmpl/default.php | 2 +- administrator/modules/mod_login/helper.php | 2 +- administrator/modules/mod_login/mod_login.php | 2 +- administrator/modules/mod_login/mod_login.xml | 2 +- .../modules/mod_login/tmpl/default.php | 2 +- administrator/modules/mod_menu/helper.php | 2 +- administrator/modules/mod_menu/menu.php | 2 +- administrator/modules/mod_menu/mod_menu.php | 2 +- administrator/modules/mod_menu/mod_menu.xml | 2 +- .../modules/mod_menu/tmpl/default.php | 2 +- .../modules/mod_menu/tmpl/default_submenu.php | 2 +- .../en-GB/en-GB.mod_multilangstatus.ini | 2 +- .../en-GB/en-GB.mod_multilangstatus.sys.ini | 2 +- .../mod_multilangstatus.php | 2 +- .../mod_multilangstatus.xml | 2 +- .../mod_multilangstatus/tmpl/default.php | 2 +- administrator/modules/mod_popular/helper.php | 2 +- .../modules/mod_popular/mod_popular.php | 2 +- .../modules/mod_popular/mod_popular.xml | 2 +- .../modules/mod_popular/tmpl/default.php | 2 +- .../modules/mod_quickicon/helper.php | 2 +- .../modules/mod_quickicon/mod_quickicon.php | 2 +- .../modules/mod_quickicon/mod_quickicon.xml | 2 +- .../modules/mod_quickicon/tmpl/default.php | 2 +- .../modules/mod_sampledata/helper.php | 2 +- .../modules/mod_sampledata/mod_sampledata.php | 2 +- .../modules/mod_sampledata/mod_sampledata.xml | 2 +- .../modules/mod_sampledata/tmpl/default.php | 2 +- .../modules/mod_stats_admin/helper.php | 2 +- .../language/en-GB.mod_stats_admin.ini | 2 +- .../language/en-GB.mod_stats_admin.sys.ini | 2 +- .../mod_stats_admin/mod_stats_admin.php | 2 +- .../mod_stats_admin/mod_stats_admin.xml | 2 +- .../modules/mod_stats_admin/tmpl/default.php | 2 +- .../modules/mod_status/mod_status.php | 2 +- .../modules/mod_status/mod_status.xml | 2 +- .../modules/mod_status/tmpl/default.php | 2 +- .../modules/mod_submenu/mod_submenu.php | 2 +- .../modules/mod_submenu/mod_submenu.xml | 2 +- .../modules/mod_submenu/tmpl/default.php | 2 +- administrator/modules/mod_title/mod_title.php | 2 +- administrator/modules/mod_title/mod_title.xml | 2 +- .../modules/mod_title/tmpl/default.php | 2 +- .../modules/mod_toolbar/mod_toolbar.php | 2 +- .../modules/mod_toolbar/mod_toolbar.xml | 2 +- .../modules/mod_toolbar/tmpl/default.php | 2 +- administrator/modules/mod_version/helper.php | 2 +- .../language/en-GB/en-GB.mod_version.ini | 2 +- .../language/en-GB/en-GB.mod_version.sys.ini | 2 +- .../modules/mod_version/mod_version.php | 2 +- .../modules/mod_version/mod_version.xml | 2 +- .../modules/mod_version/tmpl/default.php | 2 +- administrator/templates/hathor/component.php | 2 +- administrator/templates/hathor/cpanel.php | 2 +- .../templates/hathor/css/boldtext.css | 2 +- .../templates/hathor/css/colour_blue_rtl.css | 2 +- .../templates/hathor/css/colour_brown_rtl.css | 2 +- .../hathor/css/colour_highcontrast.css | 2 +- .../hathor/css/colour_highcontrast_rtl.css | 2 +- .../hathor/css/colour_standard_rtl.css | 2 +- administrator/templates/hathor/css/error.css | 2 +- administrator/templates/hathor/css/ie7.css | 2 +- administrator/templates/hathor/css/ie8.css | 2 +- .../templates/hathor/css/template_rtl.css | 2 +- administrator/templates/hathor/css/theme.css | 2 +- administrator/templates/hathor/error.php | 2 +- .../hathor/html/com_admin/help/default.php | 2 +- .../hathor/html/com_admin/profile/edit.php | 2 +- .../hathor/html/com_admin/sysinfo/default.php | 2 +- .../html/com_admin/sysinfo/default_config.php | 2 +- .../com_admin/sysinfo/default_directory.php | 2 +- .../com_admin/sysinfo/default_navigation.php | 2 +- .../com_admin/sysinfo/default_phpsettings.php | 2 +- .../html/com_admin/sysinfo/default_system.php | 2 +- .../com_associations/associations/default.php | 2 +- .../hathor/html/com_banners/banner/edit.php | 2 +- .../html/com_banners/banners/default.php | 2 +- .../hathor/html/com_banners/client/edit.php | 2 +- .../html/com_banners/clients/default.php | 2 +- .../html/com_banners/download/default.php | 2 +- .../html/com_banners/tracks/default.php | 2 +- .../hathor/html/com_cache/cache/default.php | 2 +- .../hathor/html/com_cache/purge/default.php | 2 +- .../com_categories/categories/default.php | 2 +- .../html/com_categories/category/edit.php | 2 +- .../com_categories/category/edit_options.php | 2 +- .../html/com_checkin/checkin/default.php | 2 +- .../html/com_config/application/default.php | 2 +- .../com_config/application/default_cache.php | 2 +- .../com_config/application/default_cookie.php | 2 +- .../application/default_database.php | 2 +- .../com_config/application/default_debug.php | 2 +- .../application/default_filters.php | 2 +- .../com_config/application/default_ftp.php | 2 +- .../application/default_ftplogin.php | 2 +- .../com_config/application/default_locale.php | 2 +- .../com_config/application/default_mail.php | 2 +- .../application/default_metadata.php | 2 +- .../application/default_navigation.php | 2 +- .../application/default_permissions.php | 2 +- .../com_config/application/default_seo.php | 2 +- .../com_config/application/default_server.php | 2 +- .../application/default_session.php | 2 +- .../com_config/application/default_site.php | 2 +- .../com_config/application/default_system.php | 2 +- .../html/com_config/component/default.php | 2 +- .../hathor/html/com_contact/contact/edit.php | 2 +- .../html/com_contact/contact/edit_params.php | 2 +- .../html/com_contact/contacts/default.php | 2 +- .../html/com_contact/contacts/modal.php | 2 +- .../hathor/html/com_content/article/edit.php | 2 +- .../html/com_content/articles/default.php | 2 +- .../html/com_content/articles/modal.php | 2 +- .../html/com_content/featured/default.php | 2 +- .../html/com_contenthistory/history/modal.php | 2 +- .../hathor/html/com_cpanel/cpanel/default.php | 2 +- .../hathor/html/com_fields/field/edit.php | 2 +- .../hathor/html/com_fields/fields/default.php | 2 +- .../hathor/html/com_fields/group/edit.php | 2 +- .../hathor/html/com_fields/groups/default.php | 2 +- .../html/com_finder/filters/default.php | 2 +- .../hathor/html/com_finder/index/default.php | 2 +- .../hathor/html/com_finder/maps/default.php | 2 +- .../html/com_installer/database/default.php | 2 +- .../com_installer/default/default_ftp.php | 2 +- .../html/com_installer/discover/default.php | 2 +- .../html/com_installer/install/default.php | 2 +- .../com_installer/install/default_form.php | 2 +- .../html/com_installer/languages/default.php | 2 +- .../languages/default_filter.php | 2 +- .../html/com_installer/manage/default.php | 2 +- .../com_installer/manage/default_filter.php | 2 +- .../html/com_installer/update/default.php | 2 +- .../html/com_installer/warnings/default.php | 2 +- .../html/com_joomlaupdate/default/default.php | 2 +- .../html/com_languages/installed/default.php | 2 +- .../com_languages/installed/default_ftp.php | 2 +- .../html/com_languages/languages/default.php | 2 +- .../html/com_languages/overrides/default.php | 2 +- .../hathor/html/com_menus/item/edit.php | 2 +- .../html/com_menus/item/edit_options.php | 2 +- .../hathor/html/com_menus/items/default.php | 2 +- .../hathor/html/com_menus/menu/edit.php | 2 +- .../hathor/html/com_menus/menus/default.php | 2 +- .../html/com_menus/menutypes/default.php | 2 +- .../hathor/html/com_messages/message/edit.php | 2 +- .../html/com_messages/messages/default.php | 2 +- .../hathor/html/com_modules/module/edit.php | 2 +- .../com_modules/module/edit_assignment.php | 2 +- .../html/com_modules/module/edit_options.php | 2 +- .../html/com_modules/modules/default.php | 2 +- .../html/com_modules/positions/modal.php | 2 +- .../html/com_newsfeeds/newsfeed/edit.php | 2 +- .../com_newsfeeds/newsfeed/edit_params.php | 2 +- .../html/com_newsfeeds/newsfeeds/default.php | 2 +- .../html/com_newsfeeds/newsfeeds/modal.php | 2 +- .../hathor/html/com_plugins/plugin/edit.php | 2 +- .../html/com_plugins/plugin/edit_options.php | 2 +- .../html/com_plugins/plugins/default.php | 2 +- .../html/com_postinstall/messages/default.php | 2 +- .../html/com_redirect/links/default.php | 2 +- .../html/com_search/searches/default.php | 2 +- .../hathor/html/com_tags/tag/edit.php | 2 +- .../html/com_tags/tag/edit_metadata.php | 2 +- .../hathor/html/com_tags/tag/edit_options.php | 2 +- .../hathor/html/com_tags/tags/default.php | 2 +- .../hathor/html/com_templates/style/edit.php | 2 +- .../com_templates/style/edit_assignment.php | 2 +- .../html/com_templates/style/edit_options.php | 2 +- .../html/com_templates/styles/default.php | 2 +- .../html/com_templates/template/default.php | 2 +- .../template/default_description.php | 2 +- .../template/default_folders.php | 2 +- .../com_templates/template/default_tree.php | 2 +- .../html/com_templates/templates/default.php | 2 +- .../html/com_users/debuggroup/default.php | 2 +- .../html/com_users/debuguser/default.php | 2 +- .../hathor/html/com_users/groups/default.php | 2 +- .../hathor/html/com_users/levels/default.php | 2 +- .../hathor/html/com_users/note/edit.php | 2 +- .../hathor/html/com_users/notes/default.php | 2 +- .../hathor/html/com_users/user/edit.php | 2 +- .../hathor/html/com_users/users/default.php | 2 +- .../hathor/html/com_users/users/modal.php | 2 +- .../hathor/html/com_weblinks/weblink/edit.php | 2 +- .../html/com_weblinks/weblink/edit_params.php | 2 +- .../html/com_weblinks/weblinks/default.php | 2 +- .../layouts/com_media/toolbar/deletemedia.php | 2 +- .../layouts/com_media/toolbar/newfolder.php | 2 +- .../layouts/com_media/toolbar/uploadmedia.php | 2 +- .../com_messages/toolbar/mysettings.php | 2 +- .../com_modules/toolbar/cancelselect.php | 2 +- .../layouts/com_modules/toolbar/newmodule.php | 2 +- .../html/layouts/joomla/edit/details.php | 2 +- .../html/layouts/joomla/edit/fieldset.php | 2 +- .../html/layouts/joomla/edit/global.php | 2 +- .../html/layouts/joomla/edit/metadata.php | 2 +- .../html/layouts/joomla/edit/params.php | 2 +- .../html/layouts/joomla/quickicons/icon.php | 2 +- .../html/layouts/joomla/sidebars/submenu.php | 2 +- .../html/layouts/joomla/toolbar/base.php | 2 +- .../html/layouts/joomla/toolbar/batch.php | 2 +- .../html/layouts/joomla/toolbar/confirm.php | 2 +- .../layouts/joomla/toolbar/containerclose.php | 2 +- .../layouts/joomla/toolbar/containeropen.php | 2 +- .../html/layouts/joomla/toolbar/help.php | 2 +- .../html/layouts/joomla/toolbar/iconclass.php | 2 +- .../html/layouts/joomla/toolbar/link.php | 2 +- .../html/layouts/joomla/toolbar/modal.php | 2 +- .../html/layouts/joomla/toolbar/popup.php | 2 +- .../html/layouts/joomla/toolbar/separator.php | 2 +- .../html/layouts/joomla/toolbar/slider.php | 2 +- .../html/layouts/joomla/toolbar/standard.php | 2 +- .../html/layouts/joomla/toolbar/title.php | 2 +- .../html/layouts/joomla/toolbar/versions.php | 2 +- .../plugins/user/profile/fields/dob.php | 2 +- .../hathor/html/mod_login/default.php | 2 +- .../hathor/html/mod_quickicon/default.php | 2 +- .../templates/hathor/html/modules.php | 2 +- .../templates/hathor/html/pagination.php | 2 +- administrator/templates/hathor/index.php | 2 +- administrator/templates/hathor/js/template.js | 2 +- .../language/en-GB/en-GB.tpl_hathor.ini | 2 +- .../language/en-GB/en-GB.tpl_hathor.sys.ini | 2 +- administrator/templates/hathor/login.php | 2 +- .../hathor/postinstall/hathormessage.php | 2 +- .../templates/hathor/templateDetails.xml | 2 +- administrator/templates/isis/component.php | 2 +- administrator/templates/isis/cpanel.php | 2 +- administrator/templates/isis/error.php | 2 +- .../com_media/imageslist/default_folder.php | 2 +- .../com_media/imageslist/default_image.php | 2 +- .../com_media/medialist/thumbs_folders.php | 2 +- .../html/com_media/medialist/thumbs_imgs.php | 2 +- .../html/layouts/joomla/form/field/media.php | 2 +- .../html/layouts/joomla/form/field/user.php | 2 +- .../html/layouts/joomla/pagination/link.php | 2 +- .../html/layouts/joomla/pagination/links.php | 2 +- .../html/layouts/joomla/system/message.php | 2 +- .../html/layouts/joomla/toolbar/versions.php | 2 +- .../isis/html/mod_version/default.php | 2 +- administrator/templates/isis/html/modules.php | 2 +- .../templates/isis/html/pagination.php | 2 +- administrator/templates/isis/index.php | 2 +- administrator/templates/isis/js/template.js | 2 +- .../isis/language/en-GB/en-GB.tpl_isis.ini | 2 +- .../language/en-GB/en-GB.tpl_isis.sys.ini | 2 +- administrator/templates/isis/login.php | 2 +- .../templates/isis/templateDetails.xml | 2 +- administrator/templates/system/component.php | 2 +- administrator/templates/system/css/error.css | 2 +- administrator/templates/system/css/system.css | 2 +- administrator/templates/system/error.php | 2 +- .../templates/system/html/modules.php | 2 +- administrator/templates/system/index.php | 2 +- bin/keychain.php | 2 +- build/build.php | 2 +- build/bump.php | 11 +- build/deleted_file_check.php | 2 +- build/generatecss.php | 2 +- build/helpTOC.php | 2 +- build/stubGenerator.php | 2 +- cli/deletefiles.php | 2 +- cli/finder_indexer.php | 2 +- cli/garbagecron.php | 2 +- cli/update_cron.php | 2 +- components/com_ajax/ajax.php | 2 +- components/com_banners/banners.php | 2 +- components/com_banners/controller.php | 2 +- components/com_banners/helpers/banner.php | 2 +- components/com_banners/helpers/category.php | 2 +- components/com_banners/models/banner.php | 2 +- components/com_banners/models/banners.php | 2 +- components/com_banners/router.php | 2 +- components/com_config/config.php | 2 +- components/com_config/controller/cancel.php | 2 +- .../com_config/controller/canceladmin.php | 2 +- components/com_config/controller/cmsbase.php | 2 +- .../com_config/controller/config/display.php | 2 +- .../com_config/controller/config/save.php | 2 +- components/com_config/controller/display.php | 2 +- components/com_config/controller/helper.php | 2 +- .../com_config/controller/modules/cancel.php | 2 +- .../com_config/controller/modules/display.php | 2 +- .../com_config/controller/modules/save.php | 2 +- .../controller/templates/display.php | 2 +- .../com_config/controller/templates/save.php | 2 +- components/com_config/model/cms.php | 2 +- components/com_config/model/config.php | 2 +- components/com_config/model/form.php | 2 +- components/com_config/model/modules.php | 2 +- components/com_config/model/templates.php | 2 +- components/com_config/view/cms/html.php | 2 +- components/com_config/view/cms/json.php | 2 +- components/com_config/view/config/html.php | 2 +- .../com_config/view/config/tmpl/default.php | 2 +- .../view/config/tmpl/default_metadata.php | 2 +- .../view/config/tmpl/default_seo.php | 2 +- .../view/config/tmpl/default_site.php | 2 +- components/com_config/view/modules/html.php | 2 +- .../com_config/view/modules/tmpl/default.php | 2 +- .../view/modules/tmpl/default_options.php | 2 +- .../view/modules/tmpl/default_positions.php | 2 +- components/com_config/view/templates/html.php | 2 +- .../view/templates/tmpl/default.php | 2 +- .../view/templates/tmpl/default_options.php | 2 +- components/com_contact/contact.php | 2 +- components/com_contact/controller.php | 2 +- .../com_contact/controllers/contact.php | 2 +- .../com_contact/helpers/association.php | 2 +- components/com_contact/helpers/category.php | 2 +- .../com_contact/helpers/legacyrouter.php | 2 +- components/com_contact/helpers/route.php | 2 +- .../com_contact/layouts/field/render.php | 2 +- .../com_contact/layouts/fields/render.php | 2 +- .../layouts/joomla/form/renderfield.php | 2 +- components/com_contact/models/categories.php | 2 +- components/com_contact/models/category.php | 2 +- components/com_contact/models/contact.php | 2 +- components/com_contact/models/featured.php | 2 +- .../com_contact/models/rules/contactemail.php | 2 +- .../models/rules/contactemailmessage.php | 2 +- .../models/rules/contactemailsubject.php | 2 +- components/com_contact/router.php | 2 +- .../views/categories/tmpl/default.php | 2 +- .../views/categories/tmpl/default_items.php | 2 +- .../views/categories/view.html.php | 2 +- .../views/category/tmpl/default.php | 2 +- .../views/category/tmpl/default_children.php | 2 +- .../views/category/tmpl/default_items.php | 2 +- .../com_contact/views/category/view.feed.php | 2 +- .../com_contact/views/category/view.html.php | 2 +- .../views/contact/tmpl/default.php | 2 +- .../views/contact/tmpl/default_address.php | 2 +- .../views/contact/tmpl/default_articles.php | 2 +- .../views/contact/tmpl/default_form.php | 2 +- .../views/contact/tmpl/default_links.php | 2 +- .../views/contact/tmpl/default_profile.php | 2 +- .../tmpl/default_user_custom_fields.php | 2 +- .../com_contact/views/contact/view.html.php | 2 +- .../com_contact/views/contact/view.vcf.php | 2 +- .../views/featured/tmpl/default.php | 2 +- .../views/featured/tmpl/default_items.php | 2 +- .../com_contact/views/featured/view.html.php | 2 +- components/com_content/content.php | 2 +- components/com_content/controller.php | 2 +- .../com_content/controllers/article.php | 2 +- .../com_content/helpers/association.php | 2 +- components/com_content/helpers/category.php | 2 +- components/com_content/helpers/icon.php | 2 +- .../com_content/helpers/legacyrouter.php | 2 +- components/com_content/helpers/query.php | 2 +- components/com_content/helpers/route.php | 2 +- components/com_content/models/archive.php | 2 +- components/com_content/models/article.php | 2 +- components/com_content/models/articles.php | 2 +- components/com_content/models/categories.php | 2 +- components/com_content/models/category.php | 2 +- components/com_content/models/featured.php | 2 +- components/com_content/models/form.php | 2 +- components/com_content/router.php | 2 +- .../views/archive/tmpl/default.php | 2 +- .../views/archive/tmpl/default_items.php | 2 +- .../com_content/views/archive/view.html.php | 2 +- .../views/article/tmpl/default.php | 2 +- .../views/article/tmpl/default_links.php | 2 +- .../com_content/views/article/view.html.php | 2 +- .../views/categories/tmpl/default.php | 2 +- .../views/categories/tmpl/default_items.php | 2 +- .../views/categories/view.html.php | 2 +- .../com_content/views/category/tmpl/blog.php | 2 +- .../views/category/tmpl/blog_children.php | 2 +- .../views/category/tmpl/blog_item.php | 2 +- .../views/category/tmpl/blog_links.php | 2 +- .../views/category/tmpl/default.php | 2 +- .../views/category/tmpl/default_articles.php | 2 +- .../views/category/tmpl/default_children.php | 2 +- .../com_content/views/category/view.feed.php | 2 +- .../com_content/views/category/view.html.php | 2 +- .../views/featured/tmpl/default.php | 2 +- .../views/featured/tmpl/default_item.php | 2 +- .../views/featured/tmpl/default_links.php | 2 +- .../com_content/views/featured/view.feed.php | 2 +- .../com_content/views/featured/view.html.php | 2 +- .../com_content/views/form/tmpl/edit.php | 2 +- .../com_content/views/form/view.html.php | 2 +- .../com_contenthistory/contenthistory.php | 2 +- components/com_fields/controller.php | 2 +- components/com_fields/fields.php | 2 +- .../com_fields/layouts/field/render.php | 2 +- .../com_fields/layouts/fields/render.php | 2 +- components/com_finder/controller.php | 2 +- .../controllers/suggestions.json.php | 2 +- components/com_finder/finder.php | 2 +- components/com_finder/helpers/html/filter.php | 2 +- components/com_finder/helpers/html/query.php | 2 +- components/com_finder/helpers/route.php | 2 +- components/com_finder/models/search.php | 2 +- components/com_finder/models/suggestions.php | 2 +- components/com_finder/router.php | 2 +- .../com_finder/views/search/tmpl/default.php | 2 +- .../views/search/tmpl/default_form.php | 2 +- .../views/search/tmpl/default_result.php | 2 +- .../views/search/tmpl/default_results.php | 2 +- .../com_finder/views/search/view.feed.php | 2 +- .../com_finder/views/search/view.html.php | 2 +- .../views/search/view.opensearch.php | 2 +- components/com_mailto/controller.php | 2 +- components/com_mailto/helpers/mailto.php | 2 +- components/com_mailto/mailto.php | 2 +- components/com_mailto/mailto.xml | 2 +- .../com_mailto/views/mailto/tmpl/default.php | 2 +- .../com_mailto/views/mailto/view.html.php | 2 +- .../com_mailto/views/sent/tmpl/default.php | 2 +- .../com_mailto/views/sent/view.html.php | 2 +- components/com_media/media.php | 2 +- components/com_menus/controller.php | 2 +- components/com_menus/menus.php | 2 +- components/com_modules/controller.php | 2 +- components/com_modules/modules.php | 2 +- components/com_newsfeeds/controller.php | 2 +- .../com_newsfeeds/helpers/association.php | 2 +- components/com_newsfeeds/helpers/category.php | 2 +- .../com_newsfeeds/helpers/legacyrouter.php | 2 +- components/com_newsfeeds/helpers/route.php | 2 +- .../com_newsfeeds/models/categories.php | 2 +- components/com_newsfeeds/models/category.php | 2 +- components/com_newsfeeds/models/newsfeed.php | 2 +- components/com_newsfeeds/newsfeeds.php | 2 +- components/com_newsfeeds/router.php | 2 +- .../views/categories/tmpl/default.php | 2 +- .../views/categories/tmpl/default_items.php | 2 +- .../views/categories/view.html.php | 2 +- .../views/category/tmpl/default.php | 2 +- .../views/category/tmpl/default_children.php | 2 +- .../views/category/tmpl/default_items.php | 2 +- .../views/category/view.html.php | 2 +- .../views/newsfeed/tmpl/default.php | 2 +- .../views/newsfeed/view.html.php | 2 +- components/com_search/controller.php | 2 +- components/com_search/models/search.php | 2 +- components/com_search/router.php | 2 +- components/com_search/search.php | 2 +- .../com_search/views/search/tmpl/default.php | 2 +- .../views/search/tmpl/default_error.php | 2 +- .../views/search/tmpl/default_form.php | 2 +- .../views/search/tmpl/default_results.php | 2 +- .../com_search/views/search/view.html.php | 4 +- .../views/search/view.opensearch.php | 2 +- components/com_tags/controller.php | 2 +- components/com_tags/controllers/tags.php | 2 +- components/com_tags/helpers/route.php | 2 +- components/com_tags/models/tag.php | 2 +- components/com_tags/models/tags.php | 2 +- components/com_tags/router.php | 2 +- components/com_tags/tags.php | 2 +- .../com_tags/views/tag/tmpl/default.php | 2 +- .../com_tags/views/tag/tmpl/default_items.php | 2 +- components/com_tags/views/tag/tmpl/list.php | 2 +- .../com_tags/views/tag/tmpl/list_items.php | 2 +- components/com_tags/views/tag/view.feed.php | 2 +- components/com_tags/views/tag/view.html.php | 2 +- .../com_tags/views/tags/tmpl/default.php | 2 +- .../views/tags/tmpl/default_items.php | 2 +- components/com_tags/views/tags/view.feed.php | 2 +- components/com_tags/views/tags/view.html.php | 2 +- components/com_users/controller.php | 2 +- .../com_users/controllers/profile.json.php | 2 +- components/com_users/controllers/profile.php | 2 +- .../controllers/profile_base_json.php | 2 +- .../com_users/controllers/registration.php | 2 +- components/com_users/controllers/remind.php | 2 +- components/com_users/controllers/reset.php | 2 +- components/com_users/controllers/user.php | 2 +- components/com_users/helpers/html/users.php | 2 +- components/com_users/helpers/legacyrouter.php | 2 +- components/com_users/helpers/route.php | 2 +- components/com_users/models/login.php | 2 +- components/com_users/models/profile.php | 2 +- components/com_users/models/registration.php | 2 +- components/com_users/models/remind.php | 2 +- components/com_users/models/reset.php | 2 +- .../models/rules/loginuniquefield.php | 2 +- .../models/rules/logoutuniquefield.php | 2 +- components/com_users/router.php | 2 +- components/com_users/users.php | 2 +- .../com_users/views/login/tmpl/default.php | 2 +- .../views/login/tmpl/default_login.php | 2 +- .../views/login/tmpl/default_logout.php | 2 +- .../com_users/views/login/view.html.php | 2 +- .../com_users/views/profile/tmpl/default.php | 2 +- .../views/profile/tmpl/default_core.php | 2 +- .../views/profile/tmpl/default_custom.php | 2 +- .../views/profile/tmpl/default_params.php | 2 +- .../com_users/views/profile/tmpl/edit.php | 2 +- .../com_users/views/profile/view.html.php | 2 +- .../views/registration/tmpl/complete.php | 2 +- .../views/registration/tmpl/default.php | 2 +- .../views/registration/view.html.php | 2 +- .../com_users/views/remind/tmpl/default.php | 2 +- .../com_users/views/remind/view.html.php | 2 +- .../com_users/views/reset/tmpl/complete.php | 2 +- .../com_users/views/reset/tmpl/confirm.php | 2 +- .../com_users/views/reset/tmpl/default.php | 2 +- .../com_users/views/reset/view.html.php | 2 +- components/com_wrapper/controller.php | 2 +- components/com_wrapper/router.php | 2 +- .../views/wrapper/tmpl/default.php | 2 +- .../com_wrapper/views/wrapper/view.html.php | 2 +- components/com_wrapper/wrapper.php | 2 +- components/com_wrapper/wrapper.xml | 2 +- htaccess.txt | 2 +- includes/defines.php | 2 +- includes/framework.php | 2 +- index.php | 2 +- installation/COPYRIGHT | 2 +- installation/CREDITS | 2 +- installation/INSTALL | 2 +- installation/LICENSES | 2 +- installation/application/bootstrap.php | 2 +- installation/application/defines.php | 2 +- installation/application/framework.php | 2 +- installation/application/router.php | 2 +- installation/application/web.php | 2 +- installation/configuration.php-dist | 2 +- installation/controller/database.php | 2 +- installation/controller/default.php | 2 +- installation/controller/detectftproot.php | 2 +- installation/controller/ftp.php | 2 +- installation/controller/install/config.php | 2 +- installation/controller/install/database.php | 2 +- .../controller/install/database_backup.php | 2 +- .../controller/install/database_remove.php | 2 +- installation/controller/install/email.php | 2 +- installation/controller/install/languages.php | 2 +- installation/controller/install/sample.php | 2 +- installation/controller/preinstall.php | 2 +- installation/controller/removefolder.php | 2 +- .../controller/setdefaultlanguage.php | 2 +- installation/controller/setlanguage.php | 2 +- installation/controller/site.php | 2 +- installation/controller/summary.php | 2 +- installation/controller/verifyftpsettings.php | 2 +- installation/form/field/language.php | 2 +- installation/form/field/prefix.php | 2 +- installation/form/field/sample.php | 2 +- installation/form/rule/prefix.php | 2 +- installation/helper/database.php | 2 +- installation/html/helper.php | 2 +- installation/index.php | 2 +- installation/language/af-ZA/af-ZA.ini | 2 +- installation/language/af-ZA/af-ZA.xml | 2 +- installation/language/ar-AA/ar-AA.ini | 2 +- installation/language/ar-AA/ar-AA.xml | 2 +- installation/language/be-BY/be-BY.ini | 2 +- installation/language/be-BY/be-BY.xml | 2 +- installation/language/bg-BG/bg-BG.ini | 2 +- installation/language/bg-BG/bg-BG.xml | 2 +- installation/language/bn-BD/bn-BD.ini | 2 +- installation/language/bn-BD/bn-BD.xml | 2 +- installation/language/bs-BA/bs-BA.ini | 2 +- installation/language/bs-BA/bs-BA.xml | 2 +- installation/language/ca-ES/ca-ES.ini | 2 +- installation/language/ca-ES/ca-ES.xml | 2 +- installation/language/ckb-IQ/ckb-IQ.ini | 2 +- installation/language/ckb-IQ/ckb-IQ.xml | 2 +- installation/language/cs-CZ/cs-CZ.ini | 2 +- installation/language/cs-CZ/cs-CZ.xml | 2 +- installation/language/cy-GB/cy-GB.ini | 2 +- installation/language/cy-GB/cy-GB.xml | 2 +- installation/language/da-DK/da-DK.ini | 2 +- installation/language/da-DK/da-DK.xml | 2 +- installation/language/de-AT/de-AT.ini | 2 +- installation/language/de-AT/de-AT.xml | 2 +- installation/language/de-CH/de-CH.ini | 2 +- installation/language/de-CH/de-CH.xml | 2 +- installation/language/de-DE/de-DE.ini | 2 +- installation/language/de-DE/de-DE.xml | 2 +- installation/language/de-LI/de-LI.ini | 2 +- installation/language/de-LI/de-LI.xml | 2 +- installation/language/de-LU/de-LU.ini | 2 +- installation/language/de-LU/de-LU.xml | 2 +- installation/language/dz-BT/dz-BT.ini | 2 +- installation/language/dz-BT/dz-BT.xml | 2 +- installation/language/el-GR/el-GR.ini | 2 +- installation/language/en-AU/en-AU.ini | 2 +- installation/language/en-AU/en-AU.xml | 2 +- installation/language/en-CA/en-CA.ini | 2 +- installation/language/en-CA/en-CA.xml | 2 +- installation/language/en-GB/en-GB.ini | 2 +- installation/language/en-GB/en-GB.xml | 4 +- installation/language/en-NZ/en-NZ.ini | 2 +- installation/language/en-NZ/en-NZ.xml | 2 +- installation/language/en-US/en-US.ini | 2 +- installation/language/en-US/en-US.xml | 2 +- installation/language/eo-XX/eo-XX.ini | 2 +- installation/language/eo-XX/eo-XX.xml | 2 +- installation/language/es-CO/es-CO.ini | 2 +- installation/language/es-CO/es-CO.xml | 2 +- installation/language/es-ES/es-ES.ini | 2 +- installation/language/es-ES/es-ES.xml | 2 +- installation/language/et-EE/et-EE.ini | 2 +- installation/language/et-EE/et-EE.xml | 2 +- installation/language/eu-ES/eu-ES.ini | 2 +- installation/language/eu-ES/eu-ES.xml | 2 +- installation/language/fa-IR/fa-IR.ini | 2 +- installation/language/fa-IR/fa-IR.xml | 2 +- installation/language/fi-FI/fi-FI.ini | 2 +- installation/language/fi-FI/fi-FI.xml | 2 +- installation/language/fr-CA/fr-CA.ini | 2 +- installation/language/fr-CA/fr-CA.xml | 2 +- installation/language/fr-FR/fr-FR.ini | 2 +- installation/language/fr-FR/fr-FR.xml | 2 +- installation/language/ga-IE/ga-IE.ini | 2 +- installation/language/ga-IE/ga-IE.xml | 2 +- installation/language/gl-ES/gl-ES.ini | 2 +- installation/language/gl-ES/gl-ES.xml | 2 +- installation/language/he-IL/he-IL.ini | 2 +- installation/language/he-IL/he-IL.xml | 2 +- installation/language/hi-IN/hi-IN.ini | 2 +- installation/language/hi-IN/hi-IN.xml | 2 +- installation/language/hr-HR/hr-HR.ini | 2 +- installation/language/hr-HR/hr-HR.xml | 2 +- installation/language/hu-HU/hu-HU.ini | 2 +- installation/language/hu-HU/hu-HU.xml | 2 +- installation/language/hy-AM/hy-AM.ini | 2 +- installation/language/hy-AM/hy-AM.xml | 2 +- installation/language/id-ID/id-ID.ini | 2 +- installation/language/id-ID/id-ID.xml | 2 +- installation/language/it-IT/it-IT.ini | 2 +- installation/language/it-IT/it-IT.xml | 2 +- installation/language/ja-JP/ja-JP.ini | 2 +- installation/language/ja-JP/ja-JP.xml | 2 +- installation/language/ka-GE/ka-GE.ini | 2 +- installation/language/ka-GE/ka-GE.xml | 2 +- installation/language/km-KH/km-KH.ini | 2 +- installation/language/km-KH/km-KH.xml | 2 +- installation/language/ko-KR/ko-KR.ini | 2 +- installation/language/ko-KR/ko-KR.xml | 2 +- installation/language/lv-LV/lv-LV.ini | 2 +- installation/language/lv-LV/lv-LV.xml | 2 +- installation/language/mk-MK/mk-MK.ini | 2 +- installation/language/mk-MK/mk-MK.xml | 2 +- installation/language/ms-MY/ms-MY.ini | 2 +- installation/language/ms-MY/ms-MY.xml | 2 +- installation/language/nb-NO/nb-NO.ini | 2 +- installation/language/nb-NO/nb-NO.xml | 2 +- installation/language/nl-NL/nl-NL.ini | 2 +- installation/language/nl-NL/nl-NL.xml | 2 +- installation/language/nn-NO/nn-NO.ini | 2 +- installation/language/nn-NO/nn-NO.xml | 2 +- installation/language/pl-PL/pl-PL.ini | 2 +- installation/language/pl-PL/pl-PL.xml | 2 +- installation/language/prs-AF/prs-AF.ini | 2 +- installation/language/prs-AF/prs-AF.xml | 2 +- installation/language/pt-BR/pt-BR.ini | 2 +- installation/language/pt-BR/pt-BR.xml | 2 +- installation/language/pt-PT/pt-PT.ini | 2 +- installation/language/pt-PT/pt-PT.xml | 2 +- installation/language/ro-RO/ro-RO.ini | 2 +- installation/language/ro-RO/ro-RO.xml | 2 +- installation/language/ru-RU/ru-RU.ini | 2 +- installation/language/ru-RU/ru-RU.xml | 2 +- installation/language/si-LK/si-LK.ini | 2 +- installation/language/si-LK/si-LK.xml | 2 +- installation/language/sk-SK/sk-SK.ini | 2 +- installation/language/sk-SK/sk-SK.xml | 2 +- installation/language/sl-SI/sl-SI.ini | 2 +- installation/language/sl-SI/sl-SI.xml | 2 +- installation/language/sr-RS/sr-RS.ini | 2 +- installation/language/sr-RS/sr-RS.xml | 2 +- installation/language/sr-YU/sr-YU.ini | 2 +- installation/language/sr-YU/sr-YU.xml | 2 +- installation/language/srp-ME/srp-ME.ini | 2 +- installation/language/srp-ME/srp-ME.xml | 2 +- installation/language/sv-SE/sv-SE.ini | 2 +- installation/language/sv-SE/sv-SE.xml | 2 +- installation/language/sw-KE/sw-KE.ini | 2 +- installation/language/sw-KE/sw-KE.xml | 2 +- installation/language/sy-IQ/sy-IQ.ini | 2 +- installation/language/sy-IQ/sy-IQ.xml | 2 +- installation/language/ta-IN/ta-IN.ini | 2 +- installation/language/ta-IN/ta-IN.xml | 2 +- installation/language/th-TH/th-TH.ini | 2 +- installation/language/th-TH/th-TH.xml | 2 +- installation/language/tk-TM/tk-TM.ini | 2 +- installation/language/tk-TM/tk-TM.xml | 2 +- installation/language/tr-TR/tr-TR.ini | 2 +- installation/language/tr-TR/tr-TR.xml | 2 +- installation/language/ug-CN/ug-CN.ini | 2 +- installation/language/ug-CN/ug-CN.xml | 2 +- installation/language/uk-UA/uk-UA.ini | 2 +- installation/language/uk-UA/uk-UA.xml | 2 +- installation/language/vi-VN/vi-VN.ini | 2 +- installation/language/vi-VN/vi-VN.xml | 2 +- installation/language/zh-CN/zh-CN.ini | 2 +- installation/language/zh-CN/zh-CN.xml | 2 +- installation/language/zh-TW/zh-TW.ini | 2 +- installation/language/zh-TW/zh-TW.xml | 2 +- installation/model/configuration.php | 2 +- installation/model/database.php | 2 +- installation/model/ftp.php | 2 +- installation/model/languages.php | 2 +- installation/model/setup.php | 2 +- installation/response/json.php | 2 +- installation/template/body.php | 2 +- installation/template/css/template.css | 2 +- installation/template/css/template_rtl.css | 2 +- installation/template/index.php | 2 +- installation/template/js/installation.js | 2 +- installation/view/complete/html.php | 2 +- installation/view/complete/tmpl/default.php | 2 +- installation/view/database/tmpl/default.php | 2 +- installation/view/default.php | 2 +- installation/view/defaultlanguage/html.php | 2 +- .../view/defaultlanguage/tmpl/default.php | 2 +- installation/view/ftp/tmpl/default.php | 2 +- installation/view/install/html.php | 2 +- installation/view/install/tmpl/default.php | 2 +- installation/view/languages/html.php | 2 +- installation/view/languages/tmpl/default.php | 2 +- installation/view/preinstall/html.php | 2 +- installation/view/preinstall/tmpl/default.php | 2 +- installation/view/remove/html.php | 2 +- installation/view/remove/tmpl/default.php | 2 +- installation/view/site/tmpl/default.php | 2 +- installation/view/summary/html.php | 2 +- installation/view/summary/tmpl/default.php | 2 +- language/en-GB/en-GB.com_ajax.ini | 2 +- language/en-GB/en-GB.com_config.ini | 2 +- language/en-GB/en-GB.com_contact.ini | 2 +- language/en-GB/en-GB.com_content.ini | 2 +- language/en-GB/en-GB.com_finder.ini | 2 +- language/en-GB/en-GB.com_mailto.ini | 2 +- language/en-GB/en-GB.com_media.ini | 2 +- language/en-GB/en-GB.com_messages.ini | 2 +- language/en-GB/en-GB.com_newsfeeds.ini | 2 +- language/en-GB/en-GB.com_search.ini | 2 +- language/en-GB/en-GB.com_tags.ini | 2 +- language/en-GB/en-GB.com_users.ini | 2 +- language/en-GB/en-GB.com_weblinks.ini | 2 +- language/en-GB/en-GB.com_wrapper.ini | 2 +- language/en-GB/en-GB.files_joomla.sys.ini | 2 +- language/en-GB/en-GB.finder_cli.ini | 2 +- language/en-GB/en-GB.ini | 2 +- language/en-GB/en-GB.lib_fof.sys.ini | 2 +- language/en-GB/en-GB.lib_idna_convert.sys.ini | 2 +- language/en-GB/en-GB.lib_joomla.ini | 2 +- language/en-GB/en-GB.lib_joomla.sys.ini | 2 +- language/en-GB/en-GB.lib_phpass.sys.ini | 2 +- language/en-GB/en-GB.lib_phputf8.sys.ini | 2 +- language/en-GB/en-GB.lib_simplepie.sys.ini | 2 +- language/en-GB/en-GB.localise.php | 2 +- language/en-GB/en-GB.mod_articles_archive.ini | 2 +- .../en-GB/en-GB.mod_articles_archive.sys.ini | 2 +- .../en-GB/en-GB.mod_articles_categories.ini | 2 +- .../en-GB.mod_articles_categories.sys.ini | 2 +- .../en-GB/en-GB.mod_articles_category.ini | 2 +- .../en-GB/en-GB.mod_articles_category.sys.ini | 2 +- language/en-GB/en-GB.mod_articles_latest.ini | 2 +- .../en-GB/en-GB.mod_articles_latest.sys.ini | 2 +- language/en-GB/en-GB.mod_articles_news.ini | 2 +- .../en-GB/en-GB.mod_articles_news.sys.ini | 2 +- language/en-GB/en-GB.mod_articles_popular.ini | 2 +- .../en-GB/en-GB.mod_articles_popular.sys.ini | 2 +- language/en-GB/en-GB.mod_banners.ini | 2 +- language/en-GB/en-GB.mod_banners.sys.ini | 2 +- language/en-GB/en-GB.mod_breadcrumbs.ini | 2 +- language/en-GB/en-GB.mod_breadcrumbs.sys.ini | 2 +- language/en-GB/en-GB.mod_custom.ini | 2 +- language/en-GB/en-GB.mod_custom.sys.ini | 2 +- language/en-GB/en-GB.mod_feed.ini | 2 +- language/en-GB/en-GB.mod_feed.sys.ini | 2 +- language/en-GB/en-GB.mod_finder.ini | 2 +- language/en-GB/en-GB.mod_finder.sys.ini | 2 +- language/en-GB/en-GB.mod_footer.ini | 2 +- language/en-GB/en-GB.mod_footer.sys.ini | 2 +- language/en-GB/en-GB.mod_languages.ini | 2 +- language/en-GB/en-GB.mod_languages.sys.ini | 2 +- language/en-GB/en-GB.mod_login.ini | 2 +- language/en-GB/en-GB.mod_login.sys.ini | 2 +- language/en-GB/en-GB.mod_menu.ini | 2 +- language/en-GB/en-GB.mod_menu.sys.ini | 2 +- language/en-GB/en-GB.mod_random_image.ini | 2 +- language/en-GB/en-GB.mod_random_image.sys.ini | 2 +- language/en-GB/en-GB.mod_related_items.ini | 2 +- .../en-GB/en-GB.mod_related_items.sys.ini | 2 +- language/en-GB/en-GB.mod_search.ini | 2 +- language/en-GB/en-GB.mod_search.sys.ini | 2 +- language/en-GB/en-GB.mod_stats.ini | 2 +- language/en-GB/en-GB.mod_stats.sys.ini | 2 +- language/en-GB/en-GB.mod_syndicate.ini | 2 +- language/en-GB/en-GB.mod_syndicate.sys.ini | 2 +- language/en-GB/en-GB.mod_tags_popular.ini | 2 +- language/en-GB/en-GB.mod_tags_popular.sys.ini | 2 +- language/en-GB/en-GB.mod_tags_similar.ini | 2 +- language/en-GB/en-GB.mod_tags_similar.sys.ini | 2 +- language/en-GB/en-GB.mod_users_latest.ini | 2 +- language/en-GB/en-GB.mod_users_latest.sys.ini | 2 +- language/en-GB/en-GB.mod_weblinks.ini | 2 +- language/en-GB/en-GB.mod_weblinks.sys.ini | 2 +- language/en-GB/en-GB.mod_whosonline.ini | 2 +- language/en-GB/en-GB.mod_whosonline.sys.ini | 2 +- language/en-GB/en-GB.mod_wrapper.ini | 2 +- language/en-GB/en-GB.mod_wrapper.sys.ini | 2 +- language/en-GB/en-GB.tpl_beez3.ini | 2 +- language/en-GB/en-GB.tpl_beez3.sys.ini | 2 +- language/en-GB/en-GB.tpl_protostar.ini | 2 +- language/en-GB/en-GB.tpl_protostar.sys.ini | 2 +- language/en-GB/en-GB.xml | 4 +- language/en-GB/install.xml | 4 +- layouts/joomla/content/associations.php | 2 +- .../content/blog_style_default_item_title.php | 2 +- .../content/blog_style_default_links.php | 2 +- layouts/joomla/content/categories_default.php | 2 +- .../content/categories_default_items.php | 2 +- layouts/joomla/content/category_default.php | 2 +- layouts/joomla/content/full_image.php | 2 +- layouts/joomla/content/icons.php | 2 +- layouts/joomla/content/icons/create.php | 2 +- layouts/joomla/content/icons/edit.php | 2 +- layouts/joomla/content/icons/edit_lock.php | 2 +- layouts/joomla/content/icons/email.php | 2 +- layouts/joomla/content/icons/print_popup.php | 2 +- layouts/joomla/content/icons/print_screen.php | 2 +- layouts/joomla/content/info_block.php | 2 +- .../content/info_block/associations.php | 2 +- layouts/joomla/content/info_block/author.php | 2 +- layouts/joomla/content/info_block/block.php | 2 +- .../joomla/content/info_block/category.php | 2 +- .../joomla/content/info_block/create_date.php | 2 +- layouts/joomla/content/info_block/hits.php | 2 +- .../joomla/content/info_block/modify_date.php | 2 +- .../content/info_block/parent_category.php | 2 +- .../content/info_block/publish_date.php | 2 +- layouts/joomla/content/intro_image.php | 2 +- layouts/joomla/content/language.php | 2 +- layouts/joomla/content/options_default.php | 2 +- layouts/joomla/content/readmore.php | 2 +- layouts/joomla/content/tags.php | 2 +- layouts/joomla/content/text_filters.php | 2 +- layouts/joomla/edit/associations.php | 2 +- layouts/joomla/edit/details.php | 2 +- layouts/joomla/edit/fieldset.php | 2 +- layouts/joomla/edit/frontediting_modules.php | 2 +- layouts/joomla/edit/global.php | 2 +- layouts/joomla/edit/item_title.php | 2 +- layouts/joomla/edit/metadata.php | 2 +- layouts/joomla/edit/params.php | 2 +- layouts/joomla/edit/publishingdata.php | 2 +- layouts/joomla/edit/title_alias.php | 2 +- layouts/joomla/editors/buttons.php | 2 +- layouts/joomla/editors/buttons/button.php | 2 +- layouts/joomla/error/backtrace.php | 2 +- layouts/joomla/form/field/calendar.php | 2 +- layouts/joomla/form/field/checkboxes.php | 2 +- layouts/joomla/form/field/color/advanced.php | 2 +- layouts/joomla/form/field/color/simple.php | 2 +- layouts/joomla/form/field/combo.php | 2 +- layouts/joomla/form/field/contenthistory.php | 2 +- layouts/joomla/form/field/email.php | 2 +- layouts/joomla/form/field/file.php | 2 +- layouts/joomla/form/field/hidden.php | 2 +- layouts/joomla/form/field/media.php | 2 +- layouts/joomla/form/field/meter.php | 2 +- layouts/joomla/form/field/moduleorder.php | 2 +- layouts/joomla/form/field/number.php | 2 +- layouts/joomla/form/field/password.php | 2 +- layouts/joomla/form/field/radio.php | 2 +- layouts/joomla/form/field/range.php | 2 +- layouts/joomla/form/field/subform/default.php | 2 +- .../form/field/subform/repeatable-table.php | 2 +- .../repeatable-table/section-byfieldsets.php | 2 +- .../subform/repeatable-table/section.php | 2 +- .../joomla/form/field/subform/repeatable.php | 2 +- .../repeatable/section-byfieldsets.php | 2 +- .../form/field/subform/repeatable/section.php | 2 +- layouts/joomla/form/field/tel.php | 2 +- layouts/joomla/form/field/text.php | 2 +- layouts/joomla/form/field/textarea.php | 2 +- layouts/joomla/form/field/url.php | 2 +- layouts/joomla/form/field/user.php | 2 +- layouts/joomla/form/renderfield.php | 2 +- layouts/joomla/form/renderlabel.php | 2 +- layouts/joomla/html/batch/access.php | 2 +- layouts/joomla/html/batch/adminlanguage.php | 2 +- layouts/joomla/html/batch/item.php | 2 +- layouts/joomla/html/batch/language.php | 2 +- layouts/joomla/html/batch/tag.php | 2 +- layouts/joomla/html/batch/user.php | 2 +- .../joomla/html/formbehavior/ajaxchosen.php | 2 +- layouts/joomla/html/formbehavior/chosen.php | 2 +- layouts/joomla/html/sortablelist.php | 2 +- layouts/joomla/html/tag.php | 2 +- layouts/joomla/html/treeprefix.php | 2 +- layouts/joomla/links/groupclose.php | 2 +- layouts/joomla/links/groupopen.php | 2 +- layouts/joomla/links/groupsclose.php | 2 +- layouts/joomla/links/groupseparator.php | 2 +- layouts/joomla/links/groupsopen.php | 2 +- layouts/joomla/links/link.php | 2 +- layouts/joomla/modal/body.php | 2 +- layouts/joomla/modal/footer.php | 2 +- layouts/joomla/modal/header.php | 2 +- layouts/joomla/modal/iframe.php | 2 +- layouts/joomla/modal/main.php | 2 +- layouts/joomla/pagination/link.php | 2 +- layouts/joomla/pagination/links.php | 2 +- layouts/joomla/pagination/list.php | 2 +- layouts/joomla/quickicons/icon.php | 2 +- layouts/joomla/searchtools/default.php | 2 +- layouts/joomla/searchtools/default/bar.php | 2 +- .../joomla/searchtools/default/filters.php | 2 +- layouts/joomla/searchtools/default/list.php | 2 +- .../joomla/searchtools/default/noitems.php | 2 +- .../joomla/searchtools/default/selector.php | 2 +- layouts/joomla/searchtools/grid/sort.php | 2 +- layouts/joomla/sidebars/submenu.php | 2 +- layouts/joomla/sidebars/toggle.php | 2 +- layouts/joomla/system/message.php | 2 +- layouts/joomla/tinymce/buttons.php | 2 +- layouts/joomla/tinymce/buttons/button.php | 2 +- layouts/joomla/tinymce/textarea.php | 2 +- layouts/joomla/tinymce/togglebutton.php | 2 +- layouts/joomla/toolbar/base.php | 2 +- layouts/joomla/toolbar/batch.php | 2 +- layouts/joomla/toolbar/confirm.php | 2 +- layouts/joomla/toolbar/containerclose.php | 2 +- layouts/joomla/toolbar/containeropen.php | 2 +- layouts/joomla/toolbar/help.php | 2 +- layouts/joomla/toolbar/iconclass.php | 2 +- layouts/joomla/toolbar/link.php | 2 +- layouts/joomla/toolbar/modal.php | 2 +- layouts/joomla/toolbar/popup.php | 2 +- layouts/joomla/toolbar/separator.php | 2 +- layouts/joomla/toolbar/slider.php | 2 +- layouts/joomla/toolbar/standard.php | 2 +- layouts/joomla/toolbar/title.php | 2 +- layouts/joomla/toolbar/versions.php | 2 +- .../libraries/cms/html/bootstrap/addtab.php | 2 +- .../cms/html/bootstrap/addtabscript.php | 2 +- .../libraries/cms/html/bootstrap/endtab.php | 2 +- .../cms/html/bootstrap/endtabset.php | 2 +- .../cms/html/bootstrap/starttabset.php | 2 +- .../cms/html/bootstrap/starttabsetscript.php | 2 +- .../editors/tinymce/field/tinymcebuilder.php | 2 +- .../field/tinymcebuilder/setoptions.php | 2 +- layouts/plugins/user/profile/fields/dob.php | 2 +- libraries/classmap.php | 2 +- libraries/cms.php | 2 +- libraries/cms/class/loader.php | 2 +- libraries/cms/html/access.php | 2 +- libraries/cms/html/actionsdropdown.php | 2 +- libraries/cms/html/adminlanguage.php | 2 +- libraries/cms/html/batch.php | 2 +- libraries/cms/html/behavior.php | 2 +- libraries/cms/html/bootstrap.php | 2 +- libraries/cms/html/category.php | 2 +- libraries/cms/html/content.php | 2 +- libraries/cms/html/contentlanguage.php | 2 +- libraries/cms/html/date.php | 2 +- libraries/cms/html/debug.php | 2 +- libraries/cms/html/dropdown.php | 2 +- libraries/cms/html/email.php | 2 +- libraries/cms/html/form.php | 2 +- libraries/cms/html/formbehavior.php | 2 +- libraries/cms/html/grid.php | 2 +- libraries/cms/html/icons.php | 2 +- libraries/cms/html/jgrid.php | 2 +- libraries/cms/html/jquery.php | 2 +- .../html/language/en-GB/en-GB.jhtmldate.ini | 2 +- libraries/cms/html/links.php | 2 +- libraries/cms/html/list.php | 2 +- libraries/cms/html/menu.php | 2 +- libraries/cms/html/number.php | 2 +- libraries/cms/html/rules.php | 2 +- libraries/cms/html/searchtools.php | 2 +- libraries/cms/html/select.php | 2 +- libraries/cms/html/sidebar.php | 2 +- libraries/cms/html/sliders.php | 2 +- libraries/cms/html/sortablelist.php | 2 +- libraries/cms/html/string.php | 2 +- libraries/cms/html/tabs.php | 2 +- libraries/cms/html/tag.php | 2 +- libraries/cms/html/tel.php | 2 +- libraries/cms/html/user.php | 2 +- libraries/cms/less/formatter/joomla.php | 2 +- libraries/cms/less/less.php | 2 +- libraries/import.legacy.php | 2 +- libraries/import.php | 2 +- libraries/joomla/application/web/router.php | 2 +- .../joomla/application/web/router/base.php | 2 +- .../joomla/application/web/router/rest.php | 2 +- libraries/joomla/archive/archive.php | 2 +- libraries/joomla/archive/bzip2.php | 2 +- libraries/joomla/archive/extractable.php | 2 +- libraries/joomla/archive/gzip.php | 2 +- libraries/joomla/archive/tar.php | 2 +- libraries/joomla/archive/wrapper/archive.php | 2 +- libraries/joomla/archive/zip.php | 2 +- libraries/joomla/base/adapter.php | 2 +- libraries/joomla/base/adapterinstance.php | 2 +- libraries/joomla/controller/base.php | 2 +- libraries/joomla/controller/controller.php | 2 +- libraries/joomla/database/database.php | 2 +- libraries/joomla/database/driver.php | 2 +- libraries/joomla/database/driver/mysql.php | 2 +- libraries/joomla/database/driver/mysqli.php | 2 +- libraries/joomla/database/driver/oracle.php | 2 +- libraries/joomla/database/driver/pdo.php | 2 +- libraries/joomla/database/driver/pdomysql.php | 2 +- .../joomla/database/driver/postgresql.php | 2 +- libraries/joomla/database/driver/sqlazure.php | 2 +- libraries/joomla/database/driver/sqlite.php | 2 +- libraries/joomla/database/driver/sqlsrv.php | 2 +- .../joomla/database/exception/connecting.php | 2 +- .../joomla/database/exception/executing.php | 2 +- .../joomla/database/exception/unsupported.php | 2 +- libraries/joomla/database/exporter.php | 2 +- libraries/joomla/database/exporter/mysql.php | 2 +- libraries/joomla/database/exporter/mysqli.php | 2 +- .../joomla/database/exporter/pdomysql.php | 2 +- .../joomla/database/exporter/postgresql.php | 2 +- libraries/joomla/database/factory.php | 2 +- libraries/joomla/database/importer.php | 2 +- libraries/joomla/database/importer/mysql.php | 2 +- libraries/joomla/database/importer/mysqli.php | 2 +- .../joomla/database/importer/pdomysql.php | 2 +- .../joomla/database/importer/postgresql.php | 2 +- libraries/joomla/database/interface.php | 2 +- libraries/joomla/database/iterator.php | 2 +- libraries/joomla/database/iterator/mysql.php | 2 +- libraries/joomla/database/iterator/mysqli.php | 2 +- libraries/joomla/database/iterator/oracle.php | 2 +- libraries/joomla/database/iterator/pdo.php | 2 +- .../joomla/database/iterator/pdomysql.php | 2 +- .../joomla/database/iterator/postgresql.php | 2 +- .../joomla/database/iterator/sqlazure.php | 2 +- libraries/joomla/database/iterator/sqlite.php | 2 +- libraries/joomla/database/iterator/sqlsrv.php | 2 +- libraries/joomla/database/query.php | 2 +- libraries/joomla/database/query/element.php | 2 +- libraries/joomla/database/query/limitable.php | 2 +- libraries/joomla/database/query/mysql.php | 2 +- libraries/joomla/database/query/mysqli.php | 2 +- libraries/joomla/database/query/oracle.php | 2 +- libraries/joomla/database/query/pdo.php | 2 +- libraries/joomla/database/query/pdomysql.php | 2 +- .../joomla/database/query/postgresql.php | 2 +- .../joomla/database/query/preparable.php | 2 +- libraries/joomla/database/query/sqlazure.php | 2 +- libraries/joomla/database/query/sqlite.php | 2 +- libraries/joomla/database/query/sqlsrv.php | 2 +- libraries/joomla/event/dispatcher.php | 2 +- libraries/joomla/event/event.php | 2 +- libraries/joomla/facebook/album.php | 2 +- libraries/joomla/facebook/checkin.php | 2 +- libraries/joomla/facebook/comment.php | 2 +- libraries/joomla/facebook/event.php | 2 +- libraries/joomla/facebook/facebook.php | 2 +- libraries/joomla/facebook/group.php | 2 +- libraries/joomla/facebook/link.php | 2 +- libraries/joomla/facebook/note.php | 2 +- libraries/joomla/facebook/oauth.php | 2 +- libraries/joomla/facebook/object.php | 2 +- libraries/joomla/facebook/photo.php | 2 +- libraries/joomla/facebook/post.php | 2 +- libraries/joomla/facebook/status.php | 2 +- libraries/joomla/facebook/user.php | 2 +- libraries/joomla/facebook/video.php | 2 +- libraries/joomla/filesystem/file.php | 2 +- libraries/joomla/filesystem/folder.php | 2 +- libraries/joomla/filesystem/helper.php | 2 +- .../en-GB.lib_joomla_filesystem_patcher.ini | 2 +- libraries/joomla/filesystem/patcher.php | 2 +- libraries/joomla/filesystem/path.php | 2 +- libraries/joomla/filesystem/stream.php | 2 +- .../joomla/filesystem/streams/string.php | 2 +- .../filesystem/support/stringcontroller.php | 2 +- libraries/joomla/filesystem/wrapper/file.php | 2 +- .../joomla/filesystem/wrapper/folder.php | 2 +- libraries/joomla/filesystem/wrapper/path.php | 2 +- libraries/joomla/form/fields/accesslevel.php | 2 +- libraries/joomla/form/fields/aliastag.php | 2 +- libraries/joomla/form/fields/cachehandler.php | 2 +- libraries/joomla/form/fields/calendar.php | 2 +- libraries/joomla/form/fields/checkbox.php | 2 +- libraries/joomla/form/fields/checkboxes.php | 2 +- libraries/joomla/form/fields/color.php | 2 +- libraries/joomla/form/fields/combo.php | 2 +- libraries/joomla/form/fields/components.php | 2 +- .../joomla/form/fields/databaseconnection.php | 2 +- libraries/joomla/form/fields/email.php | 2 +- libraries/joomla/form/fields/file.php | 2 +- libraries/joomla/form/fields/filelist.php | 2 +- libraries/joomla/form/fields/folderlist.php | 2 +- libraries/joomla/form/fields/groupedlist.php | 2 +- libraries/joomla/form/fields/hidden.php | 2 +- libraries/joomla/form/fields/imagelist.php | 2 +- libraries/joomla/form/fields/integer.php | 2 +- libraries/joomla/form/fields/language.php | 2 +- libraries/joomla/form/fields/list.php | 2 +- libraries/joomla/form/fields/meter.php | 2 +- libraries/joomla/form/fields/note.php | 2 +- libraries/joomla/form/fields/number.php | 2 +- libraries/joomla/form/fields/password.php | 2 +- libraries/joomla/form/fields/plugins.php | 2 +- .../joomla/form/fields/predefinedlist.php | 2 +- libraries/joomla/form/fields/radio.php | 2 +- libraries/joomla/form/fields/range.php | 2 +- libraries/joomla/form/fields/repeatable.php | 2 +- libraries/joomla/form/fields/rules.php | 2 +- .../joomla/form/fields/sessionhandler.php | 2 +- libraries/joomla/form/fields/spacer.php | 2 +- libraries/joomla/form/fields/sql.php | 2 +- libraries/joomla/form/fields/subform.php | 2 +- libraries/joomla/form/fields/tel.php | 2 +- libraries/joomla/form/fields/text.php | 2 +- libraries/joomla/form/fields/textarea.php | 2 +- libraries/joomla/form/fields/timezone.php | 2 +- libraries/joomla/form/fields/url.php | 2 +- libraries/joomla/form/fields/usergroup.php | 2 +- libraries/joomla/github/account.php | 2 +- libraries/joomla/github/commits.php | 2 +- libraries/joomla/github/forks.php | 2 +- libraries/joomla/github/github.php | 2 +- libraries/joomla/github/hooks.php | 2 +- libraries/joomla/github/http.php | 2 +- libraries/joomla/github/meta.php | 2 +- libraries/joomla/github/milestones.php | 2 +- libraries/joomla/github/object.php | 2 +- libraries/joomla/github/package.php | 2 +- libraries/joomla/github/package/activity.php | 2 +- .../joomla/github/package/activity/events.php | 2 +- .../github/package/activity/notifications.php | 2 +- .../github/package/activity/starring.php | 2 +- .../github/package/activity/watching.php | 2 +- .../joomla/github/package/authorization.php | 2 +- libraries/joomla/github/package/data.php | 2 +- .../joomla/github/package/data/blobs.php | 2 +- .../joomla/github/package/data/commits.php | 2 +- libraries/joomla/github/package/data/refs.php | 2 +- libraries/joomla/github/package/data/tags.php | 2 +- .../joomla/github/package/data/trees.php | 2 +- libraries/joomla/github/package/gists.php | 2 +- .../joomla/github/package/gists/comments.php | 2 +- libraries/joomla/github/package/gitignore.php | 2 +- libraries/joomla/github/package/issues.php | 2 +- .../github/package/issues/assignees.php | 2 +- .../joomla/github/package/issues/comments.php | 2 +- .../joomla/github/package/issues/events.php | 2 +- .../joomla/github/package/issues/labels.php | 2 +- .../github/package/issues/milestones.php | 2 +- libraries/joomla/github/package/orgs.php | 2 +- .../joomla/github/package/orgs/members.php | 2 +- .../joomla/github/package/orgs/teams.php | 2 +- libraries/joomla/github/package/pulls.php | 2 +- .../joomla/github/package/pulls/comments.php | 2 +- .../joomla/github/package/repositories.php | 2 +- .../package/repositories/collaborators.php | 2 +- .../github/package/repositories/comments.php | 2 +- .../github/package/repositories/commits.php | 2 +- .../github/package/repositories/contents.php | 2 +- .../github/package/repositories/downloads.php | 2 +- .../github/package/repositories/forks.php | 2 +- .../github/package/repositories/hooks.php | 2 +- .../github/package/repositories/keys.php | 2 +- .../github/package/repositories/merging.php | 2 +- .../package/repositories/statistics.php | 2 +- .../github/package/repositories/statuses.php | 2 +- libraries/joomla/github/package/search.php | 2 +- libraries/joomla/github/package/users.php | 2 +- .../joomla/github/package/users/emails.php | 2 +- .../joomla/github/package/users/followers.php | 2 +- .../joomla/github/package/users/keys.php | 2 +- libraries/joomla/github/refs.php | 2 +- libraries/joomla/github/statuses.php | 2 +- libraries/joomla/google/auth.php | 2 +- libraries/joomla/google/auth/oauth2.php | 2 +- libraries/joomla/google/data.php | 2 +- libraries/joomla/google/data/adsense.php | 2 +- libraries/joomla/google/data/calendar.php | 2 +- libraries/joomla/google/data/picasa.php | 2 +- libraries/joomla/google/data/picasa/album.php | 2 +- libraries/joomla/google/data/picasa/photo.php | 2 +- libraries/joomla/google/data/plus.php | 2 +- .../joomla/google/data/plus/activities.php | 2 +- .../joomla/google/data/plus/comments.php | 2 +- libraries/joomla/google/data/plus/people.php | 2 +- libraries/joomla/google/embed.php | 2 +- libraries/joomla/google/embed/analytics.php | 2 +- libraries/joomla/google/embed/maps.php | 2 +- libraries/joomla/google/google.php | 2 +- libraries/joomla/grid/grid.php | 2 +- libraries/joomla/keychain/keychain.php | 2 +- libraries/joomla/linkedin/communications.php | 2 +- libraries/joomla/linkedin/companies.php | 2 +- libraries/joomla/linkedin/groups.php | 2 +- libraries/joomla/linkedin/jobs.php | 2 +- libraries/joomla/linkedin/linkedin.php | 2 +- libraries/joomla/linkedin/oauth.php | 2 +- libraries/joomla/linkedin/object.php | 2 +- libraries/joomla/linkedin/people.php | 2 +- libraries/joomla/linkedin/stream.php | 2 +- libraries/joomla/mediawiki/categories.php | 2 +- libraries/joomla/mediawiki/http.php | 2 +- libraries/joomla/mediawiki/images.php | 2 +- libraries/joomla/mediawiki/links.php | 2 +- libraries/joomla/mediawiki/mediawiki.php | 2 +- libraries/joomla/mediawiki/object.php | 2 +- libraries/joomla/mediawiki/pages.php | 2 +- libraries/joomla/mediawiki/search.php | 2 +- libraries/joomla/mediawiki/sites.php | 2 +- libraries/joomla/mediawiki/users.php | 2 +- libraries/joomla/model/base.php | 2 +- libraries/joomla/model/database.php | 2 +- libraries/joomla/model/model.php | 2 +- libraries/joomla/oauth1/client.php | 2 +- libraries/joomla/oauth2/client.php | 2 +- libraries/joomla/observable/interface.php | 2 +- libraries/joomla/observer/interface.php | 2 +- libraries/joomla/observer/mapper.php | 2 +- libraries/joomla/observer/updater.php | 2 +- .../joomla/observer/updater/interface.php | 2 +- libraries/joomla/observer/wrapper/mapper.php | 2 +- libraries/joomla/openstreetmap/changesets.php | 2 +- libraries/joomla/openstreetmap/elements.php | 2 +- libraries/joomla/openstreetmap/gps.php | 2 +- libraries/joomla/openstreetmap/info.php | 2 +- libraries/joomla/openstreetmap/oauth.php | 2 +- libraries/joomla/openstreetmap/object.php | 2 +- .../joomla/openstreetmap/openstreetmap.php | 2 +- libraries/joomla/openstreetmap/user.php | 2 +- libraries/joomla/platform.php | 4 +- libraries/joomla/route/wrapper/route.php | 2 +- .../joomla/session/handler/interface.php | 2 +- libraries/joomla/session/handler/joomla.php | 2 +- libraries/joomla/session/handler/native.php | 2 +- libraries/joomla/session/storage.php | 2 +- libraries/joomla/session/storage/apc.php | 2 +- libraries/joomla/session/storage/database.php | 2 +- libraries/joomla/session/storage/memcache.php | 2 +- .../joomla/session/storage/memcached.php | 2 +- libraries/joomla/session/storage/none.php | 2 +- libraries/joomla/session/storage/redis.php | 2 +- libraries/joomla/session/storage/wincache.php | 2 +- libraries/joomla/session/storage/xcache.php | 2 +- libraries/joomla/string/string.php | 2 +- libraries/joomla/string/wrapper/normalise.php | 2 +- libraries/joomla/string/wrapper/punycode.php | 2 +- libraries/joomla/twitter/block.php | 2 +- libraries/joomla/twitter/directmessages.php | 2 +- libraries/joomla/twitter/favorites.php | 2 +- libraries/joomla/twitter/friends.php | 2 +- libraries/joomla/twitter/help.php | 2 +- libraries/joomla/twitter/lists.php | 2 +- libraries/joomla/twitter/oauth.php | 2 +- libraries/joomla/twitter/object.php | 2 +- libraries/joomla/twitter/places.php | 2 +- libraries/joomla/twitter/profile.php | 2 +- libraries/joomla/twitter/search.php | 2 +- libraries/joomla/twitter/statuses.php | 2 +- libraries/joomla/twitter/trends.php | 2 +- libraries/joomla/twitter/twitter.php | 2 +- libraries/joomla/twitter/users.php | 2 +- libraries/joomla/utilities/arrayhelper.php | 2 +- libraries/joomla/view/base.php | 2 +- libraries/joomla/view/html.php | 2 +- libraries/joomla/view/view.php | 2 +- libraries/legacy/application/application.php | 2 +- libraries/legacy/base/node.php | 2 +- libraries/legacy/base/observable.php | 2 +- libraries/legacy/base/observer.php | 2 +- libraries/legacy/base/tree.php | 2 +- libraries/legacy/database/exception.php | 2 +- libraries/legacy/database/mysql.php | 2 +- libraries/legacy/database/mysqli.php | 2 +- libraries/legacy/database/sqlazure.php | 2 +- libraries/legacy/database/sqlsrv.php | 2 +- libraries/legacy/dispatcher/dispatcher.php | 2 +- libraries/legacy/error/error.php | 2 +- libraries/legacy/exception/exception.php | 2 +- libraries/legacy/form/field/category.php | 2 +- .../legacy/form/field/componentlayout.php | 2 +- libraries/legacy/form/field/modulelayout.php | 2 +- libraries/legacy/log/logexception.php | 2 +- libraries/legacy/request/request.php | 2 +- libraries/legacy/response/response.php | 2 +- libraries/legacy/simplecrypt/simplecrypt.php | 2 +- libraries/legacy/simplepie/factory.php | 2 +- libraries/legacy/table/session.php | 2 +- libraries/legacy/utilities/xmlelement.php | 2 +- libraries/loader.php | 2 +- libraries/src/Access/Access.php | 2 +- libraries/src/Access/Exception/NotAllowed.php | 2 +- libraries/src/Access/Rule.php | 2 +- libraries/src/Access/Rules.php | 2 +- libraries/src/Access/Wrapper/Access.php | 2 +- .../Application/AdministratorApplication.php | 2 +- .../src/Application/ApplicationHelper.php | 2 +- libraries/src/Application/BaseApplication.php | 2 +- libraries/src/Application/CMSApplication.php | 2 +- libraries/src/Application/CliApplication.php | 2 +- .../src/Application/DaemonApplication.php | 2 +- libraries/src/Application/SiteApplication.php | 2 +- libraries/src/Application/WebApplication.php | 2 +- .../AssociationExtensionHelper.php | 2 +- .../AssociationExtensionInterface.php | 2 +- .../src/Authentication/Authentication.php | 2 +- .../Authentication/AuthenticationResponse.php | 2 +- libraries/src/Cache/Cache.php | 2 +- libraries/src/Cache/CacheController.php | 2 +- libraries/src/Cache/CacheStorage.php | 2 +- .../Cache/Controller/CallbackController.php | 2 +- .../src/Cache/Controller/OutputController.php | 2 +- .../src/Cache/Controller/PageController.php | 2 +- .../src/Cache/Controller/ViewController.php | 2 +- .../Exception/CacheConnectingException.php | 2 +- .../Exception/CacheExceptionInterface.php | 2 +- .../Exception/UnsupportedCacheException.php | 2 +- libraries/src/Cache/Storage/ApcStorage.php | 2 +- libraries/src/Cache/Storage/ApcuStorage.php | 2 +- .../src/Cache/Storage/CacheStorageHelper.php | 2 +- .../src/Cache/Storage/CacheliteStorage.php | 2 +- libraries/src/Cache/Storage/FileStorage.php | 2 +- .../src/Cache/Storage/MemcacheStorage.php | 2 +- .../src/Cache/Storage/MemcachedStorage.php | 2 +- libraries/src/Cache/Storage/RedisStorage.php | 2 +- .../src/Cache/Storage/WincacheStorage.php | 2 +- libraries/src/Cache/Storage/XcacheStorage.php | 2 +- libraries/src/Captcha/Captcha.php | 2 +- libraries/src/Categories/Categories.php | 2 +- libraries/src/Categories/CategoryNode.php | 2 +- libraries/src/Client/ClientHelper.php | 2 +- libraries/src/Client/ClientWrapper.php | 2 +- libraries/src/Client/FtpClient.php | 2 +- libraries/src/Component/ComponentHelper.php | 2 +- libraries/src/Component/ComponentRecord.php | 2 +- .../Exception/MissingComponentException.php | 2 +- libraries/src/Component/Router/RouterBase.php | 2 +- .../src/Component/Router/RouterInterface.php | 2 +- .../src/Component/Router/RouterLegacy.php | 2 +- libraries/src/Component/Router/RouterView.php | 2 +- .../Router/RouterViewConfiguration.php | 2 +- .../src/Component/Router/Rules/MenuRules.php | 2 +- .../Component/Router/Rules/NomenuRules.php | 2 +- .../Component/Router/Rules/RulesInterface.php | 2 +- .../Component/Router/Rules/StandardRules.php | 2 +- libraries/src/Crypt/Cipher/BlowfishCipher.php | 2 +- libraries/src/Crypt/Cipher/CryptoCipher.php | 2 +- libraries/src/Crypt/Cipher/McryptCipher.php | 2 +- .../src/Crypt/Cipher/Rijndael256Cipher.php | 2 +- libraries/src/Crypt/Cipher/SimpleCipher.php | 2 +- libraries/src/Crypt/Cipher/SodiumCipher.php | 2 +- .../src/Crypt/Cipher/TripleDesCipher.php | 2 +- libraries/src/Crypt/CipherInterface.php | 2 +- libraries/src/Crypt/Crypt.php | 2 +- libraries/src/Crypt/CryptPassword.php | 2 +- libraries/src/Crypt/Key.php | 2 +- .../Crypt/Password/SimpleCryptPassword.php | 2 +- libraries/src/Date/Date.php | 2 +- libraries/src/Document/Document.php | 2 +- libraries/src/Document/DocumentRenderer.php | 2 +- libraries/src/Document/ErrorDocument.php | 2 +- libraries/src/Document/Feed/FeedEnclosure.php | 2 +- libraries/src/Document/Feed/FeedImage.php | 2 +- libraries/src/Document/Feed/FeedItem.php | 2 +- libraries/src/Document/FeedDocument.php | 2 +- libraries/src/Document/HtmlDocument.php | 2 +- libraries/src/Document/ImageDocument.php | 2 +- libraries/src/Document/JsonDocument.php | 2 +- .../Document/Opensearch/OpensearchImage.php | 2 +- .../src/Document/Opensearch/OpensearchUrl.php | 2 +- libraries/src/Document/OpensearchDocument.php | 2 +- libraries/src/Document/RawDocument.php | 2 +- .../Document/Renderer/Feed/AtomRenderer.php | 2 +- .../Document/Renderer/Feed/RssRenderer.php | 2 +- .../Renderer/Html/ComponentRenderer.php | 2 +- .../Document/Renderer/Html/HeadRenderer.php | 2 +- .../Renderer/Html/MessageRenderer.php | 2 +- .../Document/Renderer/Html/ModuleRenderer.php | 2 +- .../Renderer/Html/ModulesRenderer.php | 2 +- libraries/src/Document/XmlDocument.php | 2 +- libraries/src/Editor/Editor.php | 2 +- libraries/src/Environment/Browser.php | 2 +- libraries/src/Exception/ExceptionHandler.php | 2 +- libraries/src/Extension/ExtensionHelper.php | 2 +- libraries/src/Factory.php | 2 +- libraries/src/Feed/Feed.php | 2 +- libraries/src/Feed/FeedEntry.php | 2 +- libraries/src/Feed/FeedFactory.php | 2 +- libraries/src/Feed/FeedLink.php | 2 +- libraries/src/Feed/FeedParser.php | 2 +- libraries/src/Feed/FeedPerson.php | 2 +- libraries/src/Feed/Parser/AtomParser.php | 2 +- .../Feed/Parser/NamespaceParserInterface.php | 2 +- .../src/Feed/Parser/Rss/ItunesRssParser.php | 2 +- .../src/Feed/Parser/Rss/MediaRssParser.php | 2 +- libraries/src/Feed/Parser/RssParser.php | 2 +- libraries/src/Filter/InputFilter.php | 2 +- libraries/src/Filter/OutputFilter.php | 2 +- .../Filter/Wrapper/OutputFilterWrapper.php | 2 +- libraries/src/Form/Field/AuthorField.php | 2 +- libraries/src/Form/Field/CaptchaField.php | 2 +- libraries/src/Form/Field/ChromestyleField.php | 2 +- .../src/Form/Field/ContenthistoryField.php | 2 +- .../src/Form/Field/ContentlanguageField.php | 2 +- libraries/src/Form/Field/ContenttypeField.php | 2 +- libraries/src/Form/Field/EditorField.php | 2 +- .../src/Form/Field/FrontendlanguageField.php | 2 +- libraries/src/Form/Field/HeadertagField.php | 2 +- libraries/src/Form/Field/HelpsiteField.php | 2 +- .../Form/Field/LastvisitdaterangeField.php | 2 +- libraries/src/Form/Field/LimitboxField.php | 2 +- libraries/src/Form/Field/MediaField.php | 2 +- libraries/src/Form/Field/MenuField.php | 2 +- libraries/src/Form/Field/MenuitemField.php | 2 +- libraries/src/Form/Field/ModuleorderField.php | 2 +- .../src/Form/Field/ModulepositionField.php | 2 +- libraries/src/Form/Field/ModuletagField.php | 2 +- libraries/src/Form/Field/OrderingField.php | 2 +- .../src/Form/Field/PluginstatusField.php | 2 +- .../src/Form/Field/RedirectStatusField.php | 2 +- .../Form/Field/RegistrationdaterangeField.php | 2 +- libraries/src/Form/Field/StatusField.php | 2 +- libraries/src/Form/Field/TagField.php | 2 +- .../src/Form/Field/TemplatestyleField.php | 2 +- libraries/src/Form/Field/UserField.php | 2 +- libraries/src/Form/Field/UseractiveField.php | 2 +- .../src/Form/Field/UsergrouplistField.php | 2 +- libraries/src/Form/Field/UserstateField.php | 2 +- libraries/src/Form/Form.php | 2 +- libraries/src/Form/FormField.php | 2 +- libraries/src/Form/FormHelper.php | 2 +- libraries/src/Form/FormRule.php | 2 +- libraries/src/Form/FormWrapper.php | 2 +- libraries/src/Form/Rule/BooleanRule.php | 2 +- libraries/src/Form/Rule/CalendarRule.php | 2 +- libraries/src/Form/Rule/CaptchaRule.php | 2 +- libraries/src/Form/Rule/ColorRule.php | 2 +- libraries/src/Form/Rule/EmailRule.php | 2 +- libraries/src/Form/Rule/EqualsRule.php | 2 +- libraries/src/Form/Rule/NotequalsRule.php | 2 +- libraries/src/Form/Rule/NumberRule.php | 2 +- libraries/src/Form/Rule/OptionsRule.php | 2 +- libraries/src/Form/Rule/PasswordRule.php | 2 +- libraries/src/Form/Rule/RulesRule.php | 2 +- libraries/src/Form/Rule/TelRule.php | 2 +- libraries/src/Form/Rule/UrlRule.php | 2 +- libraries/src/Form/Rule/UsernameRule.php | 2 +- libraries/src/HTML/HTMLHelper.php | 2 +- libraries/src/Help/Help.php | 2 +- libraries/src/Helper/AuthenticationHelper.php | 2 +- libraries/src/Helper/CMSHelper.php | 2 +- libraries/src/Helper/ContentHelper.php | 2 +- libraries/src/Helper/ContentHistoryHelper.php | 2 +- libraries/src/Helper/LibraryHelper.php | 2 +- libraries/src/Helper/MediaHelper.php | 2 +- libraries/src/Helper/ModuleHelper.php | 2 +- libraries/src/Helper/RouteHelper.php | 2 +- libraries/src/Helper/SearchHelper.php | 2 +- libraries/src/Helper/TagsHelper.php | 2 +- libraries/src/Helper/UserGroupsHelper.php | 2 +- libraries/src/Http/Http.php | 2 +- libraries/src/Http/HttpFactory.php | 2 +- libraries/src/Http/Response.php | 2 +- .../src/Http/Transport/CurlTransport.php | 2 +- .../src/Http/Transport/SocketTransport.php | 2 +- .../src/Http/Transport/StreamTransport.php | 2 +- libraries/src/Http/TransportInterface.php | 2 +- libraries/src/Http/Wrapper/FactoryWrapper.php | 2 +- libraries/src/Image/Image.php | 2 +- libraries/src/Image/ImageFilter.php | 2 +- libraries/src/Input/Cli.php | 2 +- libraries/src/Input/Cookie.php | 2 +- libraries/src/Input/Files.php | 2 +- libraries/src/Input/Input.php | 2 +- libraries/src/Input/Json.php | 2 +- .../Installer/Adapter/ComponentAdapter.php | 2 +- .../src/Installer/Adapter/FileAdapter.php | 2 +- .../src/Installer/Adapter/LanguageAdapter.php | 2 +- .../src/Installer/Adapter/LibraryAdapter.php | 2 +- .../src/Installer/Adapter/ModuleAdapter.php | 2 +- .../src/Installer/Adapter/PackageAdapter.php | 2 +- .../src/Installer/Adapter/PluginAdapter.php | 2 +- .../src/Installer/Adapter/TemplateAdapter.php | 2 +- libraries/src/Installer/Installer.php | 2 +- libraries/src/Installer/InstallerAdapter.php | 2 +- .../src/Installer/InstallerExtension.php | 2 +- libraries/src/Installer/InstallerHelper.php | 2 +- libraries/src/Installer/InstallerScript.php | 2 +- libraries/src/Installer/Manifest.php | 2 +- .../Installer/Manifest/LibraryManifest.php | 2 +- .../Installer/Manifest/PackageManifest.php | 2 +- libraries/src/Language/Associations.php | 2 +- libraries/src/Language/Language.php | 2 +- libraries/src/Language/LanguageHelper.php | 2 +- libraries/src/Language/LanguageStemmer.php | 2 +- libraries/src/Language/Multilanguage.php | 2 +- libraries/src/Language/Stemmer/Porteren.php | 2 +- libraries/src/Language/Text.php | 2 +- libraries/src/Language/Transliterate.php | 2 +- .../src/Language/Wrapper/JTextWrapper.php | 2 +- .../Wrapper/LanguageHelperWrapper.php | 2 +- .../Language/Wrapper/TransliterateWrapper.php | 2 +- libraries/src/Layout/BaseLayout.php | 2 +- libraries/src/Layout/FileLayout.php | 2 +- libraries/src/Layout/LayoutHelper.php | 2 +- libraries/src/Layout/LayoutInterface.php | 2 +- libraries/src/Log/DelegatingPsrLogger.php | 2 +- libraries/src/Log/Log.php | 2 +- libraries/src/Log/LogEntry.php | 2 +- libraries/src/Log/Logger.php | 2 +- libraries/src/Log/Logger/CallbackLogger.php | 2 +- libraries/src/Log/Logger/DatabaseLogger.php | 2 +- libraries/src/Log/Logger/EchoLogger.php | 2 +- .../src/Log/Logger/FormattedtextLogger.php | 2 +- .../src/Log/Logger/MessagequeueLogger.php | 2 +- libraries/src/Log/Logger/SyslogLogger.php | 2 +- libraries/src/Log/Logger/W3cLogger.php | 2 +- .../src/MVC/Controller/AdminController.php | 2 +- .../src/MVC/Controller/BaseController.php | 2 +- .../src/MVC/Controller/FormController.php | 2 +- libraries/src/MVC/Model/AdminModel.php | 2 +- libraries/src/MVC/Model/BaseDatabaseModel.php | 2 +- libraries/src/MVC/Model/FormModel.php | 2 +- libraries/src/MVC/Model/ItemModel.php | 2 +- libraries/src/MVC/Model/ListModel.php | 2 +- libraries/src/MVC/View/CategoriesView.php | 2 +- libraries/src/MVC/View/CategoryFeedView.php | 2 +- libraries/src/MVC/View/CategoryView.php | 2 +- libraries/src/MVC/View/HtmlView.php | 2 +- libraries/src/Mail/Mail.php | 2 +- libraries/src/Mail/MailHelper.php | 2 +- libraries/src/Mail/MailWrapper.php | 2 +- .../Mail/language/phpmailer.lang-en_gb.php | 2 +- libraries/src/Menu/AbstractMenu.php | 2 +- libraries/src/Menu/AdministratorMenu.php | 2 +- libraries/src/Menu/MenuHelper.php | 2 +- libraries/src/Menu/MenuItem.php | 2 +- libraries/src/Menu/Node.php | 2 +- libraries/src/Menu/Node/Component.php | 2 +- libraries/src/Menu/Node/Container.php | 2 +- libraries/src/Menu/Node/Heading.php | 2 +- libraries/src/Menu/Node/Separator.php | 2 +- libraries/src/Menu/Node/Url.php | 2 +- libraries/src/Menu/SiteMenu.php | 2 +- libraries/src/Menu/Tree.php | 2 +- libraries/src/Microdata/Microdata.php | 2 +- libraries/src/Object/CMSObject.php | 2 +- libraries/src/Pagination/Pagination.php | 2 +- libraries/src/Pagination/PaginationObject.php | 2 +- libraries/src/Pathway/Pathway.php | 2 +- libraries/src/Pathway/SitePathway.php | 2 +- libraries/src/Plugin/CMSPlugin.php | 2 +- libraries/src/Plugin/PluginHelper.php | 2 +- libraries/src/Profiler/Profiler.php | 2 +- libraries/src/Response/JsonResponse.php | 2 +- libraries/src/Router/AdministratorRouter.php | 2 +- .../Exception/RouteNotFoundException.php | 2 +- libraries/src/Router/Route.php | 2 +- libraries/src/Router/Router.php | 2 +- libraries/src/Router/SiteRouter.php | 2 +- libraries/src/Schema/ChangeItem.php | 2 +- .../src/Schema/ChangeItem/MysqlChangeItem.php | 2 +- .../ChangeItem/PostgresqlChangeItem.php | 2 +- .../Schema/ChangeItem/SqlsrvChangeItem.php | 2 +- libraries/src/Schema/ChangeSet.php | 2 +- .../Exception/UnsupportedStorageException.php | 2 +- libraries/src/Session/Session.php | 2 +- libraries/src/String/PunycodeHelper.php | 2 +- libraries/src/Table/Asset.php | 2 +- libraries/src/Table/Category.php | 2 +- libraries/src/Table/Content.php | 2 +- libraries/src/Table/ContentHistory.php | 2 +- libraries/src/Table/ContentType.php | 2 +- libraries/src/Table/CoreContent.php | 2 +- libraries/src/Table/Extension.php | 2 +- libraries/src/Table/Language.php | 2 +- libraries/src/Table/Menu.php | 2 +- libraries/src/Table/MenuType.php | 2 +- libraries/src/Table/Module.php | 2 +- libraries/src/Table/Nested.php | 2 +- .../src/Table/Observer/AbstractObserver.php | 2 +- .../src/Table/Observer/ContentHistory.php | 2 +- libraries/src/Table/Observer/Tags.php | 2 +- libraries/src/Table/Table.php | 2 +- libraries/src/Table/TableInterface.php | 2 +- libraries/src/Table/Ucm.php | 2 +- libraries/src/Table/Update.php | 2 +- libraries/src/Table/UpdateSite.php | 2 +- libraries/src/Table/User.php | 2 +- libraries/src/Table/Usergroup.php | 2 +- libraries/src/Table/ViewLevel.php | 2 +- .../src/Toolbar/Button/ConfirmButton.php | 2 +- libraries/src/Toolbar/Button/CustomButton.php | 2 +- libraries/src/Toolbar/Button/HelpButton.php | 2 +- libraries/src/Toolbar/Button/LinkButton.php | 2 +- libraries/src/Toolbar/Button/PopupButton.php | 2 +- .../src/Toolbar/Button/SeparatorButton.php | 2 +- libraries/src/Toolbar/Button/SliderButton.php | 2 +- .../src/Toolbar/Button/StandardButton.php | 2 +- libraries/src/Toolbar/Toolbar.php | 2 +- libraries/src/Toolbar/ToolbarButton.php | 2 +- libraries/src/UCM/UCM.php | 2 +- libraries/src/UCM/UCMBase.php | 2 +- libraries/src/UCM/UCMContent.php | 2 +- libraries/src/UCM/UCMType.php | 2 +- .../src/Updater/Adapter/CollectionAdapter.php | 2 +- .../src/Updater/Adapter/ExtensionAdapter.php | 2 +- libraries/src/Updater/DownloadSource.php | 10 +- libraries/src/Updater/Update.php | 2 +- libraries/src/Updater/UpdateAdapter.php | 2 +- libraries/src/Updater/Updater.php | 2 +- libraries/src/Uri/Uri.php | 2 +- libraries/src/User/User.php | 2 +- libraries/src/User/UserHelper.php | 2 +- libraries/src/User/UserWrapper.php | 2 +- libraries/src/Utility/BufferStreamHandler.php | 2 +- libraries/src/Utility/Utility.php | 2 +- libraries/src/Version.php | 14 +- media/cms/css/debug.css | 2 +- media/com_associations/css/sidebyside.css | 2 +- .../js/sidebyside-uncompressed.js | 2 +- media/com_contact/js/admin-contacts-modal.js | 2 +- .../com_content/js/admin-article-pagebreak.js | 2 +- .../com_content/js/admin-article-readmore.js | 2 +- media/com_content/js/admin-articles-modal.js | 2 +- media/com_fields/js/admin-fields-modal.js | 2 +- media/com_menus/js/admin-items-modal.js | 2 +- media/com_modules/js/admin-modules-modal.js | 2 +- media/editors/none/js/none.js | 2 +- media/editors/tinymce/js/tiny-close.js | 2 +- media/editors/tinymce/js/tinymce-builder.js | 2 +- media/editors/tinymce/js/tinymce.js | 2 +- media/jui/css/sortablelist.css | 2 +- media/jui/js/cms-uncompressed.js | 2 +- media/jui/js/fielduser.js | 2 +- media/jui/js/sortablelist.js | 2 +- media/jui/js/treeselectmenu.jquery.js | 2 +- media/jui/js/treeselectmenu.jquery.min.js | 2 +- media/media/css/medialist-details.css | 2 +- media/media/css/medialist-details_rtl.css | 2 +- media/media/css/medialist-thumbs.css | 2 +- media/media/css/medialist-thumbs_rtl.css | 2 +- media/media/css/mediamanager.css | 2 +- media/media/css/mediamanager_rtl.css | 2 +- media/media/css/popup-imagelist.css | 2 +- media/media/css/popup-imagelist_rtl.css | 2 +- media/media/css/popup-imagemanager.css | 2 +- media/media/css/popup-imagemanager_rtl.css | 2 +- media/media/js/mediafield.js | 2 +- media/media/js/mediamanager.js | 2 +- media/media/js/popup-imagemanager.js | 2 +- media/mod_sampledata/js/sampledata-process.js | 2 +- media/overrider/css/overrider.css | 2 +- media/overrider/js/overrider.js | 2 +- media/plg_captcha_recaptcha/js/recaptcha.js | 2 +- .../js/extensionupdatecheck.js | 2 +- .../js/jupdatecheck.js | 2 +- media/plg_system_stats/js/stats.js | 2 +- media/system/css/adminlist.css | 2 +- media/system/css/calendar-jos.css | 2 +- media/system/css/fields/calendar-rtl.css | 2 +- media/system/css/fields/calendar.css | 2 +- media/system/css/frontediting.css | 2 +- media/system/css/mootree.css | 2 +- media/system/css/mootree_rtl.css | 2 +- media/system/css/system.css | 2 +- .../js/associations-edit-uncompressed.js | 2 +- media/system/js/caption-uncompressed.js | 2 +- media/system/js/combobox-uncompressed.js | 2 +- media/system/js/core-uncompressed.js | 2 +- media/system/js/fields/calendar.js | 2 +- media/system/js/frontediting-uncompressed.js | 2 +- media/system/js/helpsite.js | 2 +- media/system/js/highlighter-uncompressed.js | 2 +- media/system/js/html5fallback-uncompressed.js | 2 +- media/system/js/keepalive-uncompressed.js | 2 +- media/system/js/modal-fields-uncompressed.js | 2 +- media/system/js/multiselect-uncompressed.js | 2 +- media/system/js/repeatable-uncompressed.js | 2 +- media/system/js/sendtestmail-uncompressed.js | 2 +- .../js/subform-repeatable-uncompressed.js | 2 +- media/system/js/switcher-uncompressed.js | 2 +- media/system/js/tabs-state-uncompressed.js | 2 +- media/system/js/tabs.js | 2 +- media/system/js/validate-uncompressed.js | 2 +- modules/mod_articles_archive/helper.php | 2 +- .../mod_articles_archive.php | 2 +- .../mod_articles_archive.xml | 2 +- modules/mod_articles_archive/tmpl/default.php | 2 +- modules/mod_articles_categories/helper.php | 2 +- .../mod_articles_categories.php | 2 +- .../mod_articles_categories.xml | 2 +- .../mod_articles_categories/tmpl/default.php | 2 +- .../tmpl/default_items.php | 2 +- modules/mod_articles_category/helper.php | 2 +- .../mod_articles_category.php | 2 +- .../mod_articles_category.xml | 2 +- .../mod_articles_category/tmpl/default.php | 2 +- modules/mod_articles_latest/helper.php | 2 +- .../mod_articles_latest.php | 2 +- .../mod_articles_latest.xml | 2 +- modules/mod_articles_latest/tmpl/default.php | 2 +- modules/mod_articles_news/helper.php | 2 +- .../mod_articles_news/mod_articles_news.php | 2 +- .../mod_articles_news/mod_articles_news.xml | 2 +- modules/mod_articles_news/tmpl/_item.php | 2 +- modules/mod_articles_news/tmpl/default.php | 2 +- modules/mod_articles_news/tmpl/horizontal.php | 2 +- modules/mod_articles_news/tmpl/vertical.php | 2 +- modules/mod_articles_popular/helper.php | 2 +- .../mod_articles_popular.php | 2 +- .../mod_articles_popular.xml | 2 +- modules/mod_articles_popular/tmpl/default.php | 2 +- modules/mod_banners/helper.php | 2 +- modules/mod_banners/mod_banners.php | 2 +- modules/mod_banners/mod_banners.xml | 2 +- modules/mod_banners/tmpl/default.php | 2 +- modules/mod_breadcrumbs/helper.php | 2 +- modules/mod_breadcrumbs/mod_breadcrumbs.php | 2 +- modules/mod_breadcrumbs/mod_breadcrumbs.xml | 2 +- modules/mod_breadcrumbs/tmpl/default.php | 2 +- modules/mod_custom/mod_custom.php | 2 +- modules/mod_custom/mod_custom.xml | 2 +- modules/mod_custom/tmpl/default.php | 2 +- modules/mod_feed/helper.php | 2 +- modules/mod_feed/mod_feed.php | 2 +- modules/mod_feed/mod_feed.xml | 2 +- modules/mod_feed/tmpl/default.php | 2 +- modules/mod_finder/helper.php | 2 +- modules/mod_finder/mod_finder.php | 2 +- modules/mod_finder/mod_finder.xml | 2 +- modules/mod_finder/tmpl/default.php | 2 +- modules/mod_footer/mod_footer.php | 2 +- modules/mod_footer/mod_footer.xml | 2 +- modules/mod_footer/tmpl/default.php | 2 +- modules/mod_languages/helper.php | 2 +- modules/mod_languages/mod_languages.php | 2 +- modules/mod_languages/mod_languages.xml | 2 +- modules/mod_languages/tmpl/default.php | 2 +- modules/mod_login/helper.php | 2 +- modules/mod_login/mod_login.php | 2 +- modules/mod_login/mod_login.xml | 2 +- modules/mod_login/tmpl/default.php | 2 +- modules/mod_login/tmpl/default_logout.php | 2 +- modules/mod_menu/helper.php | 2 +- modules/mod_menu/mod_menu.php | 2 +- modules/mod_menu/mod_menu.xml | 2 +- modules/mod_menu/tmpl/default.php | 2 +- modules/mod_menu/tmpl/default_component.php | 2 +- modules/mod_menu/tmpl/default_heading.php | 2 +- modules/mod_menu/tmpl/default_separator.php | 2 +- modules/mod_menu/tmpl/default_url.php | 2 +- modules/mod_random_image/helper.php | 2 +- modules/mod_random_image/mod_random_image.php | 2 +- modules/mod_random_image/mod_random_image.xml | 2 +- modules/mod_random_image/tmpl/default.php | 2 +- modules/mod_related_items/helper.php | 2 +- .../mod_related_items/mod_related_items.php | 2 +- .../mod_related_items/mod_related_items.xml | 2 +- modules/mod_related_items/tmpl/default.php | 2 +- modules/mod_search/helper.php | 2 +- modules/mod_search/mod_search.php | 2 +- modules/mod_search/mod_search.xml | 2 +- modules/mod_search/tmpl/default.php | 2 +- modules/mod_stats/helper.php | 2 +- modules/mod_stats/mod_stats.php | 2 +- modules/mod_stats/mod_stats.xml | 2 +- modules/mod_stats/tmpl/default.php | 2 +- modules/mod_syndicate/helper.php | 2 +- modules/mod_syndicate/mod_syndicate.php | 2 +- modules/mod_syndicate/mod_syndicate.xml | 2 +- modules/mod_syndicate/tmpl/default.php | 2 +- modules/mod_tags_popular/helper.php | 2 +- modules/mod_tags_popular/mod_tags_popular.php | 2 +- modules/mod_tags_popular/mod_tags_popular.xml | 2 +- modules/mod_tags_popular/tmpl/cloud.php | 2 +- modules/mod_tags_popular/tmpl/default.php | 2 +- modules/mod_tags_similar/helper.php | 2 +- modules/mod_tags_similar/mod_tags_similar.php | 2 +- modules/mod_tags_similar/mod_tags_similar.xml | 2 +- modules/mod_tags_similar/tmpl/default.php | 2 +- modules/mod_users_latest/helper.php | 2 +- modules/mod_users_latest/mod_users_latest.php | 2 +- modules/mod_users_latest/mod_users_latest.xml | 2 +- modules/mod_users_latest/tmpl/default.php | 2 +- modules/mod_whosonline/helper.php | 2 +- modules/mod_whosonline/mod_whosonline.php | 2 +- modules/mod_whosonline/mod_whosonline.xml | 2 +- modules/mod_whosonline/tmpl/default.php | 2 +- modules/mod_wrapper/helper.php | 2 +- modules/mod_wrapper/mod_wrapper.php | 2 +- modules/mod_wrapper/mod_wrapper.xml | 2 +- modules/mod_wrapper/tmpl/default.php | 2 +- plugins/authentication/cookie/cookie.php | 2 +- plugins/authentication/cookie/cookie.xml | 2 +- plugins/authentication/gmail/gmail.php | 2 +- plugins/authentication/gmail/gmail.xml | 2 +- plugins/authentication/joomla/joomla.php | 2 +- plugins/authentication/joomla/joomla.xml | 2 +- plugins/authentication/ldap/ldap.php | 2 +- plugins/authentication/ldap/ldap.xml | 2 +- plugins/captcha/recaptcha/recaptcha.php | 2 +- plugins/captcha/recaptcha/recaptcha.xml | 2 +- plugins/content/contact/contact.php | 2 +- plugins/content/contact/contact.xml | 2 +- plugins/content/emailcloak/emailcloak.php | 2 +- plugins/content/emailcloak/emailcloak.xml | 2 +- plugins/content/fields/fields.php | 2 +- plugins/content/fields/fields.xml | 2 +- plugins/content/finder/finder.php | 2 +- plugins/content/finder/finder.xml | 2 +- plugins/content/joomla/joomla.php | 2 +- plugins/content/joomla/joomla.xml | 2 +- plugins/content/loadmodule/loadmodule.php | 2 +- plugins/content/loadmodule/loadmodule.xml | 2 +- plugins/content/pagebreak/pagebreak.php | 2 +- plugins/content/pagebreak/pagebreak.xml | 2 +- .../content/pagenavigation/pagenavigation.php | 2 +- .../content/pagenavigation/pagenavigation.xml | 2 +- .../content/pagenavigation/tmpl/default.php | 2 +- plugins/content/vote/tmpl/rating.php | 2 +- plugins/content/vote/tmpl/vote.php | 2 +- plugins/content/vote/vote.php | 2 +- plugins/content/vote/vote.xml | 2 +- plugins/editors-xtd/article/article.php | 2 +- plugins/editors-xtd/article/article.xml | 2 +- plugins/editors-xtd/contact/contact.php | 2 +- plugins/editors-xtd/contact/contact.xml | 2 +- plugins/editors-xtd/fields/fields.php | 2 +- plugins/editors-xtd/fields/fields.xml | 2 +- plugins/editors-xtd/image/image.php | 2 +- plugins/editors-xtd/image/image.xml | 2 +- plugins/editors-xtd/menu/menu.php | 2 +- plugins/editors-xtd/menu/menu.xml | 2 +- plugins/editors-xtd/module/module.php | 2 +- plugins/editors-xtd/module/module.xml | 2 +- plugins/editors-xtd/pagebreak/pagebreak.php | 2 +- plugins/editors-xtd/pagebreak/pagebreak.xml | 2 +- plugins/editors-xtd/readmore/readmore.php | 2 +- plugins/editors-xtd/readmore/readmore.xml | 2 +- plugins/editors/codemirror/codemirror.php | 2 +- plugins/editors/codemirror/fonts.php | 2 +- .../layouts/editors/codemirror/element.php | 2 +- .../layouts/editors/codemirror/init.php | 2 +- .../layouts/editors/codemirror/styles.php | 2 +- plugins/editors/none/none.php | 2 +- plugins/editors/none/none.xml | 2 +- plugins/editors/tinymce/field/skins.php | 2 +- .../editors/tinymce/field/tinymcebuilder.php | 2 +- plugins/editors/tinymce/field/uploaddirs.php | 2 +- plugins/editors/tinymce/tinymce.php | 2 +- plugins/extension/joomla/joomla.php | 2 +- plugins/extension/joomla/joomla.xml | 2 +- plugins/fields/calendar/calendar.php | 2 +- plugins/fields/calendar/calendar.xml | 2 +- plugins/fields/calendar/tmpl/calendar.php | 2 +- plugins/fields/checkboxes/checkboxes.php | 2 +- plugins/fields/checkboxes/checkboxes.xml | 2 +- plugins/fields/checkboxes/tmpl/checkboxes.php | 2 +- plugins/fields/color/color.php | 2 +- plugins/fields/color/color.xml | 2 +- plugins/fields/color/tmpl/color.php | 2 +- plugins/fields/editor/editor.php | 2 +- plugins/fields/editor/editor.xml | 2 +- plugins/fields/editor/tmpl/editor.php | 2 +- plugins/fields/imagelist/imagelist.php | 2 +- plugins/fields/imagelist/imagelist.xml | 2 +- plugins/fields/imagelist/tmpl/imagelist.php | 2 +- plugins/fields/integer/integer.php | 2 +- plugins/fields/integer/integer.xml | 2 +- plugins/fields/integer/tmpl/integer.php | 2 +- plugins/fields/list/list.php | 2 +- plugins/fields/list/list.xml | 2 +- plugins/fields/list/tmpl/list.php | 2 +- plugins/fields/media/media.php | 2 +- plugins/fields/media/media.xml | 2 +- plugins/fields/media/tmpl/media.php | 2 +- plugins/fields/radio/radio.php | 2 +- plugins/fields/radio/radio.xml | 2 +- plugins/fields/radio/tmpl/radio.php | 2 +- plugins/fields/sql/sql.php | 2 +- plugins/fields/sql/sql.xml | 2 +- plugins/fields/sql/tmpl/sql.php | 2 +- plugins/fields/text/text.php | 2 +- plugins/fields/text/text.xml | 2 +- plugins/fields/text/tmpl/text.php | 2 +- plugins/fields/textarea/textarea.php | 2 +- plugins/fields/textarea/textarea.xml | 2 +- plugins/fields/textarea/tmpl/textarea.php | 2 +- plugins/fields/url/tmpl/url.php | 2 +- plugins/fields/url/url.php | 2 +- plugins/fields/url/url.xml | 2 +- plugins/fields/user/tmpl/user.php | 2 +- plugins/fields/user/user.php | 2 +- plugins/fields/user/user.xml | 2 +- .../usergrouplist/tmpl/usergrouplist.php | 2 +- .../fields/usergrouplist/usergrouplist.php | 2 +- .../fields/usergrouplist/usergrouplist.xml | 2 +- plugins/finder/categories/categories.php | 2 +- plugins/finder/categories/categories.xml | 2 +- plugins/finder/contacts/contacts.php | 2 +- plugins/finder/contacts/contacts.xml | 2 +- plugins/finder/content/content.php | 2 +- plugins/finder/content/content.xml | 2 +- plugins/finder/newsfeeds/newsfeeds.php | 2 +- plugins/finder/newsfeeds/newsfeeds.xml | 2 +- plugins/finder/tags/tags.php | 2 +- plugins/finder/tags/tags.xml | 2 +- .../folderinstaller/folderinstaller.php | 2 +- .../folderinstaller/folderinstaller.xml | 2 +- .../folderinstaller/tmpl/default.php | 2 +- .../packageinstaller/packageinstaller.php | 2 +- .../packageinstaller/packageinstaller.xml | 2 +- .../packageinstaller/tmpl/default.php | 2 +- .../installer/urlinstaller/tmpl/default.php | 2 +- .../installer/urlinstaller/urlinstaller.php | 2 +- .../installer/urlinstaller/urlinstaller.xml | 2 +- .../extensionupdate/extensionupdate.php | 2 +- .../extensionupdate/extensionupdate.xml | 2 +- .../quickicon/joomlaupdate/joomlaupdate.php | 2 +- .../quickicon/joomlaupdate/joomlaupdate.xml | 2 +- .../phpversioncheck/phpversioncheck.php | 2 +- .../phpversioncheck/phpversioncheck.xml | 2 +- plugins/sampledata/blog/blog.php | 2 +- plugins/sampledata/blog/blog.xml | 2 +- plugins/search/categories/categories.php | 2 +- plugins/search/categories/categories.xml | 2 +- plugins/search/contacts/contacts.php | 2 +- plugins/search/contacts/contacts.xml | 2 +- plugins/search/content/content.php | 2 +- plugins/search/content/content.xml | 2 +- plugins/search/newsfeeds/newsfeeds.php | 2 +- plugins/search/newsfeeds/newsfeeds.xml | 2 +- plugins/search/tags/tags.php | 2 +- plugins/search/tags/tags.xml | 2 +- plugins/system/cache/cache.php | 2 +- plugins/system/cache/cache.xml | 2 +- plugins/system/debug/debug.php | 2 +- plugins/system/debug/debug.xml | 2 +- plugins/system/fields/fields.php | 4 +- plugins/system/fields/fields.xml | 2 +- plugins/system/highlight/highlight.php | 2 +- plugins/system/highlight/highlight.xml | 2 +- .../en-GB/en-GB.plg_system_languagecode.ini | 2 +- .../en-GB.plg_system_languagecode.sys.ini | 2 +- plugins/system/languagecode/languagecode.php | 2 +- plugins/system/languagecode/languagecode.xml | 2 +- .../system/languagefilter/languagefilter.php | 2 +- .../system/languagefilter/languagefilter.xml | 2 +- plugins/system/log/log.php | 2 +- plugins/system/log/log.xml | 2 +- plugins/system/logout/logout.php | 2 +- plugins/system/logout/logout.xml | 2 +- plugins/system/p3p/p3p.php | 2 +- plugins/system/p3p/p3p.xml | 2 +- plugins/system/redirect/redirect.php | 2 +- plugins/system/redirect/redirect.xml | 2 +- plugins/system/remember/remember.php | 2 +- plugins/system/remember/remember.xml | 2 +- plugins/system/sef/sef.php | 2 +- plugins/system/sef/sef.xml | 2 +- plugins/system/stats/field/base.php | 2 +- plugins/system/stats/field/data.php | 2 +- plugins/system/stats/field/uniqueid.php | 2 +- plugins/system/stats/layouts/field/data.php | 2 +- .../system/stats/layouts/field/uniqueid.php | 2 +- plugins/system/stats/layouts/message.php | 2 +- plugins/system/stats/layouts/stats.php | 2 +- plugins/system/stats/stats.php | 2 +- plugins/system/stats/stats.xml | 2 +- .../postinstall/updatecachetime.php | 2 +- .../updatenotification/updatenotification.php | 2 +- .../updatenotification/updatenotification.xml | 2 +- .../totp/postinstall/actions.php | 2 +- plugins/twofactorauth/totp/tmpl/form.php | 2 +- plugins/twofactorauth/totp/totp.php | 2 +- plugins/twofactorauth/totp/totp.xml | 2 +- plugins/twofactorauth/yubikey/tmpl/form.php | 2 +- plugins/twofactorauth/yubikey/yubikey.php | 2 +- plugins/twofactorauth/yubikey/yubikey.xml | 2 +- .../user/contactcreator/contactcreator.php | 2 +- .../user/contactcreator/contactcreator.xml | 2 +- plugins/user/joomla/joomla.php | 2 +- plugins/user/joomla/joomla.xml | 2 +- plugins/user/profile/field/dob.php | 2 +- plugins/user/profile/field/tos.php | 2 +- plugins/user/profile/profile.php | 2 +- plugins/user/profile/profile.xml | 2 +- templates/beez3/component.php | 2 +- templates/beez3/css/ie7only.css | 2 +- templates/beez3/css/ieonly.css | 2 +- templates/beez3/css/layout.css | 2 +- templates/beez3/css/position.css | 2 +- templates/beez3/css/print.css | 2 +- templates/beez3/css/template.css | 2 +- templates/beez3/css/template_rtl.css | 2 +- templates/beez3/error.php | 2 +- .../html/com_contact/categories/default.php | 2 +- .../com_contact/categories/default_items.php | 2 +- .../html/com_contact/category/default.php | 2 +- .../com_contact/category/default_children.php | 2 +- .../com_contact/category/default_items.php | 2 +- .../html/com_contact/contact/default.php | 2 +- .../com_contact/contact/default_address.php | 2 +- .../com_contact/contact/default_articles.php | 2 +- .../html/com_contact/contact/default_form.php | 2 +- .../com_contact/contact/default_links.php | 2 +- .../com_contact/contact/default_profile.php | 2 +- .../contact/default_user_custom_fields.php | 2 +- .../html/com_contact/contact/encyclopedia.php | 2 +- .../html/com_content/archive/default.php | 2 +- .../com_content/archive/default_items.php | 2 +- .../html/com_content/article/default.php | 2 +- .../com_content/article/default_links.php | 2 +- .../html/com_content/categories/default.php | 2 +- .../com_content/categories/default_items.php | 2 +- .../beez3/html/com_content/category/blog.php | 2 +- .../com_content/category/blog_children.php | 2 +- .../html/com_content/category/blog_item.php | 2 +- .../html/com_content/category/blog_links.php | 2 +- .../html/com_content/category/default.php | 2 +- .../com_content/category/default_articles.php | 2 +- .../com_content/category/default_children.php | 2 +- .../html/com_content/featured/default.php | 2 +- .../com_content/featured/default_item.php | 2 +- .../com_content/featured/default_links.php | 2 +- .../beez3/html/com_content/form/edit.php | 2 +- .../html/com_newsfeeds/categories/default.php | 2 +- .../categories/default_items.php | 2 +- .../html/com_newsfeeds/category/default.php | 2 +- .../category/default_children.php | 2 +- .../com_newsfeeds/category/default_items.php | 2 +- .../html/com_weblinks/categories/default.php | 2 +- .../com_weblinks/categories/default_items.php | 2 +- .../html/com_weblinks/category/default.php | 2 +- .../category/default_children.php | 2 +- .../com_weblinks/category/default_items.php | 2 +- .../beez3/html/com_weblinks/form/edit.php | 2 +- .../html/layouts/joomla/system/message.php | 2 +- .../beez3/html/mod_breadcrumbs/default.php | 2 +- .../beez3/html/mod_languages/default.php | 2 +- templates/beez3/html/mod_login/default.php | 2 +- .../beez3/html/mod_login/default_logout.php | 2 +- templates/beez3/html/modules.php | 2 +- templates/beez3/index.php | 2 +- templates/beez3/javascript/template.js | 2 +- templates/beez3/jsstrings.php | 2 +- .../beez3/language/en-GB/en-GB.tpl_beez3.ini | 2 +- .../language/en-GB/en-GB.tpl_beez3.sys.ini | 2 +- templates/beez3/templateDetails.xml | 2 +- templates/protostar/component.php | 2 +- templates/protostar/css/offline.css | 2 +- templates/protostar/error.php | 2 +- .../com_media/imageslist/default_folder.php | 2 +- .../com_media/imageslist/default_image.php | 2 +- .../joomla/form/field/contenthistory.php | 2 +- .../html/layouts/joomla/form/field/media.php | 2 +- .../html/layouts/joomla/form/field/user.php | 2 +- .../html/layouts/joomla/system/message.php | 2 +- templates/protostar/html/modules.php | 2 +- templates/protostar/html/pagination.php | 2 +- templates/protostar/index.php | 2 +- templates/protostar/js/template.js | 2 +- .../language/en-GB/en-GB.tpl_protostar.ini | 2 +- .../en-GB/en-GB.tpl_protostar.sys.ini | 2 +- templates/protostar/offline.php | 2 +- templates/protostar/templateDetails.xml | 2 +- templates/system/component.php | 2 +- templates/system/css/editor.css | 2 +- templates/system/css/error.css | 2 +- templates/system/css/error_rtl.css | 2 +- templates/system/css/general.css | 2 +- templates/system/css/offline.css | 2 +- templates/system/css/offline_rtl.css | 2 +- templates/system/css/system.css | 2 +- templates/system/css/toolbar.css | 2 +- templates/system/error.php | 2 +- templates/system/html/modules.php | 2 +- templates/system/index.php | 2 +- templates/system/offline.php | 2 +- .../codeception/_support/AcceptanceTester.php | 2 +- .../codeception/_support/FunctionalTester.php | 2 +- .../_support/Helper/Acceptance.php | 2 +- .../_support/Helper/Functional.php | 2 +- .../codeception/_support/Helper/JoomlaDb.php | 2 +- tests/codeception/_support/Helper/Unit.php | 2 +- .../Acceptance/Administrator/AdminPage.php | 2 +- .../Administrator/UserManagerPage.php | 2 +- .../Page/Acceptance/Site/FrontPage.php | 2 +- .../_support/Shared/UserCredentials.php | 2 +- tests/codeception/_support/UnitTester.php | 2 +- .../components/com_users/UserCest.php | 2 +- .../components/com_users/UserCest.php | 2 +- .../acceptance/install/InstallCest.php | 2 +- tests/javascript/calendar/spec-setup.js | 2 +- tests/javascript/calendar/spec.js | 2 +- tests/javascript/caption/spec-setup.js | 2 +- tests/javascript/caption/spec.js | 2 +- tests/javascript/combobox/spec-setup.js | 2 +- tests/javascript/combobox/spec.js | 2 +- tests/javascript/core/spec-setup.js | 2 +- tests/javascript/core/spec.js | 2 +- tests/javascript/highlighter/spec-setup.js | 2 +- tests/javascript/highlighter/spec.js | 2 +- tests/javascript/permissions/spec-setup.js | 2 +- tests/javascript/permissions/spec.js | 2 +- tests/javascript/repeatable/spec-setup.js | 2 +- tests/javascript/repeatable/spec.js | 2 +- tests/javascript/sendtestmail/spec-setup.js | 2 +- tests/javascript/sendtestmail/spec.js | 2 +- .../subform-repeatable/spec-setup.js | 2 +- tests/javascript/subform-repeatable/spec.js | 2 +- tests/javascript/switcher/spec-setup.js | 2 +- tests/javascript/switcher/spec.js | 2 +- tests/javascript/validate/spec-setup.js | 2 +- tests/javascript/validate/spec.js | 2 +- tests/unit/bootstrap.php | 2 +- tests/unit/core/case/cache.php | 2 +- tests/unit/core/case/case.php | 2 +- tests/unit/core/case/database.php | 2 +- tests/unit/core/case/database/mysql.php | 2 +- tests/unit/core/case/database/mysqli.php | 2 +- tests/unit/core/case/database/oracle.php | 2 +- tests/unit/core/case/database/pdomysql.php | 2 +- tests/unit/core/case/database/postgresql.php | 2 +- tests/unit/core/case/database/sqlsrv.php | 2 +- tests/unit/core/helper.php | 2 +- tests/unit/core/mock/application.php | 2 +- tests/unit/core/mock/application/base.php | 2 +- tests/unit/core/mock/application/cli.php | 2 +- tests/unit/core/mock/application/cms.php | 2 +- tests/unit/core/mock/application/web.php | 2 +- tests/unit/core/mock/cache.php | 2 +- tests/unit/core/mock/config.php | 2 +- tests/unit/core/mock/controller.php | 2 +- tests/unit/core/mock/database/driver.php | 2 +- tests/unit/core/mock/database/query.php | 2 +- tests/unit/core/mock/dispatcher.php | 2 +- tests/unit/core/mock/document.php | 2 +- tests/unit/core/mock/input.php | 2 +- tests/unit/core/mock/language.php | 2 +- tests/unit/core/mock/menu.php | 2 +- tests/unit/core/mock/rules.php | 2 +- tests/unit/core/mock/session.php | 2 +- tests/unit/core/reflection.php | 2 +- .../unit/stubs/DummyNamespace/DummyClass.php | 2 +- tests/unit/stubs/FormInspectors.php | 2 +- tests/unit/stubs/bogusload.php | 2 +- tests/unit/stubs/config.wrongclass.php | 2 +- tests/unit/stubs/configuration.php | 2 +- tests/unit/stubs/database/jos_extensions.csv | 244 +++++++++--------- tests/unit/stubs/discover2/challenger.php | 2 +- tests/unit/stubs/discover2/endeavour.php | 2 +- tests/unit/stubs/jhttp_stub.php | 2 +- tests/unit/stubs/loader/patch.php | 2 +- tests/unit/stubs/loader/patch/tester.php | 2 +- tests/unit/stubs/loader/tester/tester.php | 2 +- .../loaderoveralias/jloaderaliasstub.php | 2 +- .../stubs/loaderoverride/aliasnewclass.php | 2 +- .../loaderoverride/aliasoverrideclass.php | 2 +- .../stubs/loaderoverride/originalnewclass.php | 2 +- .../loaderoverride/originaloverrideclass.php | 2 +- .../includes/JAdministratorHelperTest.php | 2 +- .../driver/mysql/JDatabaseDriverMysqlTest.php | 2 +- .../mysql/JDatabaseExporterMysqlTest.php | 2 +- .../mysql/JDatabaseImporterMysqlTest.php | 2 +- .../mysql/JDatabaseIteratorMysqlTest.php | 2 +- .../mysqli/JDatabaseDriverMysqliTest.php | 2 +- .../mysqli/JDatabaseExporterMysqliTest.php | 2 +- .../mysqli/JDatabaseImporterMysqliTest.php | 2 +- .../mysqli/JDatabaseIteratorMysqliTest.php | 2 +- .../mysqli/JDatabaseQueryMysqliTest.php | 2 +- .../pdomysql/JDatabaseDriverPdomysqlTest.php | 2 +- .../JDatabaseExporterPdomysqlTest.php | 2 +- .../JDatabaseImporterPdomysqlTest.php | 2 +- .../JDatabaseIteratorPdomysqlTest.php | 2 +- .../JDatabaseDriverPostgresqlTest.php | 2 +- .../JDatabaseExporterPostgresqlTest.php | 2 +- .../JDatabaseImporterPostgresqlTest.php | 2 +- .../JDatabaseIteratorPostgresqlTest.php | 2 +- .../JDatabaseQueryPostgresqlTest.php | 2 +- .../sqlite/JDatabaseQuerySqliteTest.php | 2 +- .../sqlsrv/JDatabaseDriverSqlsrvTest.php | 2 +- .../sqlsrv/JDatabaseIteratorSqlsrvTest.php | 2 +- .../sqlsrv/JDatabaseQuerySqlsrvTest.php | 2 +- .../finderIndexer/FinderIndexerHelperTest.php | 2 +- .../finderIndexer/FinderIndexerParserTest.php | 2 +- .../finderIndexer/FinderIndexerResultTest.php | 2 +- .../FinderIndexerStemmerTest.php | 2 +- .../finderIndexer/FinderIndexerTest.php | 2 +- .../finderIndexer/FinderIndexerTokenTest.php | 2 +- .../parser/FinderIndexerParserHtmlTest.php | 2 +- .../parser/FinderIndexerParserRtfTest.php | 2 +- .../stemmer/FinderIndexerStemmerFrTest.php | 2 +- .../FinderIndexerStemmerPorter_EnTest.php | 2 +- .../JApplicationAdministratorTest.php | 2 +- .../cms/application/JApplicationCmsTest.php | 2 +- .../cms/application/JApplicationSiteTest.php | 2 +- .../stubs/JApplicationCmsInspector.php | 2 +- .../stubs/JApplicationHelperInspector.php | 2 +- .../cms/component/JComponentHelperTest.php | 2 +- .../router/JComponentRouterBaseTest.php | 2 +- .../router/JComponentRouterLegacyTest.php | 2 +- .../router/JComponentRouterViewTest.php | 2 +- .../JComponentRouterViewconfigurationTest.php | 2 +- .../rules/JComponentRouterRulesMenuTest.php | 2 +- .../rules/JComponentRouterRulesNomenuTest.php | 2 +- .../JComponentRouterRulesStandardTest.php | 2 +- .../JComponentRouterRulesMenuInspector.php | 2 +- .../JComponentRouterRulesNomenuInspector.php | 2 +- ...ockJComponentRouterRulesMenuMenuObject.php | 2 +- .../router/stubs/ComContentRouter.php | 2 +- .../router/stubs/JCategoriesMock.php | 2 +- .../stubs/JComponentRouterBaseInspector.php | 2 +- .../stubs/JComponentRouterViewInspector.php | 2 +- .../router/stubs/componentrouter.php | 2 +- .../router/stubs/componentrouterrule.php | 2 +- .../libraries/cms/editor/JEditorTest.php | 2 +- .../cms/editor/stubs/EditorObserver.php | 2 +- .../libraries/cms/error/JErrorPageTest.php | 2 +- .../form/field/JFormFieldHeadertagTest.php | 2 +- .../cms/form/field/JFormFieldHelpsiteTest.php | 2 +- .../form/field/JFormFieldModuletagTest.php | 2 +- .../cms/form/rule/JFormRuleNotequalsTest.php | 2 +- .../suites/libraries/cms/help/JHelpTest.php | 2 +- .../cms/helper/JHelperContentTest.php | 2 +- .../libraries/cms/helper/JHelperMediaTest.php | 2 +- .../libraries/cms/helper/JHelperTest.php | 2 +- .../libraries/cms/html/JHtmlBatchTest.php | 2 +- .../libraries/cms/html/JHtmlBehaviorTest.php | 2 +- .../libraries/cms/html/JHtmlBootstrapTest.php | 2 +- .../libraries/cms/html/JHtmlDateTest.php | 2 +- .../libraries/cms/html/JHtmlDebugTest.php | 2 +- .../libraries/cms/html/JHtmlEmailTest.php | 2 +- .../libraries/cms/html/JHtmlFormTest.php | 2 +- .../cms/html/JHtmlFormbehaviorTest.php | 2 +- .../libraries/cms/html/JHtmlIconsTest.php | 2 +- .../libraries/cms/html/JHtmlJqueryTest.php | 2 +- .../libraries/cms/html/JHtmlListTest.php | 2 +- .../libraries/cms/html/JHtmlMenuTest.php | 2 +- .../libraries/cms/html/JHtmlNumberTest.php | 2 +- .../libraries/cms/html/JHtmlSelectTest.php | 2 +- .../libraries/cms/html/JHtmlStringTest.php | 2 +- .../libraries/cms/html/JHtmlTelTest.php | 2 +- .../suites/libraries/cms/html/JHtmlTest.php | 2 +- .../libraries/cms/html/JHtmlUserTest.php | 2 +- .../JHtmlSelect-helper-dataset.php | 2 +- .../cms/html/stubs/JHtmlBehaviorInspector.php | 2 +- .../html/stubs/JHtmlBootstrapInspector.php | 2 +- .../cms/html/stubs/JHtmlJqueryInspector.php | 2 +- .../libraries/cms/html/testfiles/empty.php | 2 +- .../cms/html/testfiles/inspector.php | 2 +- .../cms/installer/JInstallerAdapterTest.php | 2 +- .../cms/installer/JInstallerExtensionTest.php | 2 +- .../cms/installer/JInstallerHelperTest.php | 2 +- .../cms/installer/JInstallerTest.php | 2 +- .../libraries/cms/installer/data/joomla.xml | 2 +- .../cms/installer/data/mod_finder.xml | 2 +- .../cms/installer/data/pkg_joomla.xml | 2 +- .../JInstallerManifestLibraryTest.php | 2 +- .../JInstallerManifestPackageTest.php | 2 +- .../cms/language/JLanguageMultilangTest.php | 2 +- .../libraries/cms/layout/JLayoutBaseTest.php | 2 +- .../libraries/cms/layout/JLayoutFileTest.php | 2 +- .../cms/module/JModuleHelperTest.php | 2 +- .../cms/pagination/JPaginationObjectTest.php | 2 +- .../cms/pagination/JPaginationTest.php | 2 +- .../libraries/cms/pathway/JPathwayTest.php | 2 +- .../cms/pathway/stubs/includes/pathway.php | 2 +- .../cms/plugin/JPluginHelperTest.php | 2 +- .../libraries/cms/plugin/JPluginTest.php | 2 +- .../cms/plugin/stubs/PlgSystemBase.php | 2 +- .../cms/plugin/stubs/PlgSystemJoomla.php | 2 +- .../cms/plugin/stubs/PlgSystemPrivate.php | 2 +- .../cms/response/JResponseJsonTest.php | 2 +- .../cms/response/stubs/mock.application.php | 2 +- .../cms/router/JRouterAdministratorTest.php | 2 +- .../libraries/cms/router/JRouterSiteTest.php | 2 +- .../libraries/cms/router/JRouterTest.php | 2 +- .../libraries/cms/router/data/TestRouter.php | 2 +- .../cms/router/data/includes/router.php | 2 +- .../cms/schema/JSchemaChangeitemTest.php | 2 +- .../cms/schema/JSchemaChangesetTestMysql.php | 2 +- .../cms/schema/JSchemaChangesetTestMysqli.php | 2 +- .../schema/JSchemaChangesetTestPdomysql.php | 2 +- .../schema/JSchemaChangesetTestPostgresql.php | 2 +- .../cms/schema/JSchemaChangesetTestSqlsrv.php | 2 +- .../cms/schema/stubs/mysql/3.0.0.sql | 8 +- .../cms/schema/stubs/mysql/3.2.0.sql | 10 +- .../cms/schema/stubs/postgresql/3.2.0.sql | 10 +- .../cms/table/JTableContenttypeTest.php | 2 +- .../cms/table/JTableCorecontentTest.php | 2 +- .../cms/toolbar/JToolbarButtonTest.php | 2 +- .../libraries/cms/toolbar/JToolbarTest.php | 2 +- .../button/JToolbarButtonConfirmTest.php | 2 +- .../button/JToolbarButtonCustomTest.php | 2 +- .../toolbar/button/JToolbarButtonHelpTest.php | 2 +- .../toolbar/button/JToolbarButtonLinkTest.php | 2 +- .../button/JToolbarButtonPopupTest.php | 2 +- .../button/JToolbarButtonSliderTest.php | 2 +- .../button/JToolbarButtonStandardTest.php | 2 +- .../suites/libraries/cms/ucm/JUcmBaseTest.php | 2 +- .../libraries/cms/ucm/JUcmContentTest.php | 2 +- .../suites/libraries/cms/ucm/JUcmTypeTest.php | 2 +- .../libraries/cms/version/JVersionTest.php | 2 +- .../suites/libraries/joomla/JFactoryTest.php | 2 +- .../suites/libraries/joomla/JLoaderTest.php | 2 +- .../suites/libraries/joomla/JPlatformTest.php | 6 +- .../joomla/access/JAccessRuleTest.php | 2 +- .../joomla/access/JAccessRulesTest.php | 2 +- .../libraries/joomla/access/JAccessTest.php | 2 +- .../application/JApplicationBaseTest.php | 2 +- .../application/JApplicationCliTest.php | 2 +- .../application/JApplicationDaemonTest.php | 2 +- .../application/JApplicationWebTest.php | 2 +- .../stubs/JApplicationCliInspector.php | 2 +- .../stubs/JApplicationDaemonInspector.php | 2 +- .../stubs/JApplicationWebInspector.php | 2 +- .../web/JApplicationWebRouterTest.php | 2 +- .../router/JApplicationWebRouterBaseTest.php | 2 +- .../router/JApplicationWebRouterRestTest.php | 2 +- .../web/stubs/JWebClientInspector.php | 2 +- .../application/web/stubs/controllers/bar.php | 2 +- .../application/web/stubs/controllers/baz.php | 2 +- .../application/web/stubs/controllers/foo.php | 2 +- .../joomla/archive/JArchiveBzip2Test.php | 2 +- .../joomla/archive/JArchiveGzipTest.php | 2 +- .../joomla/archive/JArchiveTarTest.php | 2 +- .../libraries/joomla/archive/JArchiveTest.php | 2 +- .../joomla/archive/JArchiveTestCase.php | 2 +- .../joomla/archive/JArchiveZipTest.php | 2 +- .../joomla/base/JAdapterInstanceTest.php | 2 +- .../libraries/joomla/base/JAdapterTest.php | 2 +- .../joomla/base/stubs/testadapter.php | 2 +- .../joomla/base/stubs/testadapter2.php | 2 +- .../joomla/base/stubs/testadapter3.php | 2 +- .../joomla/base/stubs/testadapter4.php | 2 +- .../joomla/cache/JCacheConstructTest.php | 2 +- .../joomla/cache/JCacheStorageTest.php | 2 +- .../libraries/joomla/cache/JCacheTest.php | 2 +- .../JCacheControllerCallback.helper.php | 2 +- .../JCacheControllerCallbackCallbackTest.php | 2 +- .../cache/controller/JCacheControllerRaw.php | 2 +- .../cache/storage/JCacheStorageApcTest.php | 2 +- .../cache/storage/JCacheStorageApcuTest.php | 2 +- .../storage/JCacheStorageCacheliteTest.php | 2 +- .../cache/storage/JCacheStorageFileTest.php | 2 +- .../storage/JCacheStorageMemcacheTest.php | 2 +- .../storage/JCacheStorageMemcachedTest.php | 2 +- .../cache/storage/JCacheStorageMock.php | 2 +- .../cache/storage/JCacheStorageRedisTest.php | 2 +- .../storage/JCacheStorageWincacheTest.php | 2 +- .../cache/storage/JCacheStorageXcacheTest.php | 2 +- .../joomla/controller/JControllerBaseTest.php | 2 +- .../joomla/controller/stubs/tbase.php | 2 +- .../libraries/joomla/crypt/JCryptTest.php | 2 +- .../crypt/cipher/JCryptCipher3DesTest.php | 2 +- .../crypt/cipher/JCryptCipherBlowfishTest.php | 2 +- .../crypt/cipher/JCryptCipherCryptoTest.php | 2 +- .../cipher/JCryptCipherRijndael256Test.php | 2 +- .../crypt/cipher/JCryptCipherSimpleTest.php | 2 +- .../crypt/cipher/JCryptCipherSodiumTest.php | 2 +- .../password/JCryptPasswordSimpleTest.php | 2 +- .../joomla/database/JDatabaseDriverTest.php | 2 +- .../joomla/database/JDatabaseFactoryTest.php | 2 +- .../JDatabaseQueryElementInspector.php | 2 +- .../database/JDatabaseQueryElementTest.php | 2 +- .../database/JDatabaseQueryInspector.php | 2 +- .../joomla/database/JDatabaseQueryTest.php | 2 +- .../joomla/database/stubs/nosqldriver.php | 2 +- .../libraries/joomla/date/JDateTest.php | 2 +- .../joomla/document/JDocumentRendererTest.php | 2 +- .../joomla/document/JDocumentTest.php | 2 +- .../document/error/JDocumentErrorTest.php | 2 +- .../document/feed/JDocumentFeedTest.php | 2 +- .../renderer/JDocumentRendererAtomTest.php | 2 +- .../renderer/JDocumentRendererRSSTest.php | 2 +- .../document/html/JDocumentHTMLTest.php | 2 +- .../JDocumentRendererComponentTest.php | 2 +- .../renderer/JDocumentRendererMessageTest.php | 2 +- .../document/image/JDocumentImageTest.php | 2 +- .../document/json/JDocumentJSONTest.php | 2 +- .../opensearch/JDocumentOpensearchTest.php | 2 +- .../joomla/document/raw/JDocumentRawTest.php | 2 +- .../JDocumentRendererHtmlModulesTest.php | 2 +- .../joomla/document/xml/JDocumentXmlTest.php | 2 +- .../joomla/environment/JBrowserTest.php | 2 +- .../joomla/event/JEventDispatcherTest.php | 2 +- .../joomla/event/JEventInspector.php | 2 +- .../libraries/joomla/event/JEventStub.php | 2 +- .../libraries/joomla/event/JEventTest.php | 2 +- .../joomla/facebook/JFacebookAlbumTest.php | 2 +- .../joomla/facebook/JFacebookCheckinTest.php | 2 +- .../joomla/facebook/JFacebookCommentTest.php | 2 +- .../joomla/facebook/JFacebookEventTest.php | 2 +- .../joomla/facebook/JFacebookGroupTest.php | 2 +- .../joomla/facebook/JFacebookLinkTest.php | 2 +- .../joomla/facebook/JFacebookNoteTest.php | 2 +- .../joomla/facebook/JFacebookOauthTest.php | 2 +- .../joomla/facebook/JFacebookObjectTest.php | 2 +- .../joomla/facebook/JFacebookPhotoTest.php | 2 +- .../joomla/facebook/JFacebookPostTest.php | 2 +- .../joomla/facebook/JFacebookStatusTest.php | 2 +- .../joomla/facebook/JFacebookTest.php | 2 +- .../joomla/facebook/JFacebookUserTest.php | 2 +- .../joomla/facebook/JFacebookVideoTest.php | 2 +- .../facebook/stubs/JFacebookObjectMock.php | 2 +- .../libraries/joomla/feed/JFeedEntryTest.php | 2 +- .../joomla/feed/JFeedFactoryTest.php | 2 +- .../libraries/joomla/feed/JFeedLinkTest.php | 2 +- .../libraries/joomla/feed/JFeedParserTest.php | 2 +- .../libraries/joomla/feed/JFeedPersonTest.php | 2 +- .../libraries/joomla/feed/JFeedTest.php | 2 +- .../feed/parser/JFeedParserAtomTest.php | 2 +- .../joomla/feed/parser/JFeedParserRssTest.php | 2 +- .../joomla/feed/stubs/JFeedParserMock.php | 2 +- .../feed/stubs/JFeedParserMockNamespace.php | 2 +- .../stubs/JFeedParserProcessElementMock.php | 2 +- .../libraries/joomla/filesystem/JFileTest.php | 2 +- .../filesystem/JFilesystemHelperTest.php | 2 +- .../filesystem/JFilesystemPatcherTest.php | 2 +- .../joomla/filesystem/JFolderTest.php | 2 +- .../libraries/joomla/filesystem/JPathTest.php | 2 +- .../joomla/filter/JFilterInputTest.php | 2 +- .../joomla/filter/JFilterOutputTest.php | 2 +- .../libraries/joomla/form/JFormDataHelper.php | 2 +- .../libraries/joomla/form/JFormFieldTest.php | 2 +- .../libraries/joomla/form/JFormTest.php | 2 +- .../TestHelpers/JHtmlField-helper-dataset.php | 2 +- .../libraries/joomla/form/_testfields/bar.php | 2 +- .../libraries/joomla/form/_testfields/foo.php | 2 +- .../joomla/form/_testfields/modal/bar.php | 2 +- .../joomla/form/_testfields/modal/foo.php | 2 +- .../joomla/form/_testfields/test.php | 2 +- .../joomla/form/_testrules/custom.php | 2 +- .../form/field/JFormFieldCategoryTest.php | 2 +- .../field/JFormFieldComponentLayoutTest.php | 2 +- .../form/field/JFormFieldModuleLayoutTest.php | 2 +- .../form/fields/JFormFieldAccessLevelTest.php | 2 +- .../fields/JFormFieldCacheHandlerTest.php | 2 +- .../form/fields/JFormFieldCheckboxTest.php | 2 +- .../form/fields/JFormFieldCheckboxesTest.php | 2 +- .../form/fields/JFormFieldColorTest.php | 2 +- .../form/fields/JFormFieldComboTest.php | 2 +- .../JFormFieldDatabaseConnectionTest.php | 2 +- .../form/fields/JFormFieldEmailTest.php | 2 +- .../form/fields/JFormFieldFileListTest.php | 2 +- .../joomla/form/fields/JFormFieldFileTest.php | 2 +- .../form/fields/JFormFieldFolderListTest.php | 2 +- .../form/fields/JFormFieldGroupedListTest.php | 2 +- .../form/fields/JFormFieldHiddenTest.php | 2 +- .../form/fields/JFormFieldImageListTest.php | 2 +- .../form/fields/JFormFieldIntegerTest.php | 2 +- .../form/fields/JFormFieldLanguageTest.php | 2 +- .../joomla/form/fields/JFormFieldListTest.php | 2 +- .../form/fields/JFormFieldNumberTest.php | 2 +- .../form/fields/JFormFieldPasswordTest.php | 2 +- .../form/fields/JFormFieldPluginsTest.php | 2 +- .../form/fields/JFormFieldRadioTest.php | 2 +- .../joomla/form/fields/JFormFieldRange.php | 2 +- .../form/fields/JFormFieldRulesTest.php | 2 +- .../joomla/form/fields/JFormFieldSQLTest.php | 2 +- .../fields/JFormFieldSessionHandlerTest.php | 2 +- .../form/fields/JFormFieldSpacerTest.php | 2 +- .../joomla/form/fields/JFormFieldTelTest.php | 2 +- .../joomla/form/fields/JFormFieldTextTest.php | 2 +- .../form/fields/JFormFieldTextareaTest.php | 2 +- .../form/fields/JFormFieldTimezoneTest.php | 2 +- .../joomla/form/fields/JFormFieldUrlTest.php | 2 +- .../form/fields/JFormFieldUsergroupTest.php | 2 +- .../JHtmlFieldCheckbox-helper-dataset.php | 2 +- .../JHtmlFieldEmail-helper-dataset.php | 2 +- .../JHtmlFieldNumber-helper-dataset.php | 2 +- .../JHtmlFieldPassword-helper-dataset.php | 2 +- .../JHtmlFieldRadio-helper-dataset.php | 2 +- .../JHtmlFieldRange-helper-dataset.php | 2 +- .../JHtmlFieldTel-helper-dataset.php | 2 +- .../JHtmlFieldText-helper-dataset.php | 2 +- .../JHtmlFieldTextarea-helper-dataset.php | 2 +- .../JHtmlFieldUrl-helper-dataset.php | 2 +- .../joomla/form/rule/JFormRuleBooleanTest.php | 2 +- .../joomla/form/rule/JFormRuleColorTest.php | 2 +- .../joomla/form/rule/JFormRuleEmailTest.php | 2 +- .../joomla/form/rule/JFormRuleOptionsTest.php | 2 +- .../joomla/form/rule/JFormRuleRulesTest.php | 2 +- .../joomla/form/rule/JFormRuleTelTest.php | 2 +- .../joomla/form/rule/JFormRuleUrlTest.php | 2 +- .../joomla/github/JGithubAccountTest.php | 2 +- .../joomla/github/JGithubCommitsTest.php | 2 +- .../joomla/github/JGithubForksTest.php | 2 +- .../joomla/github/JGithubGistsTest.php | 2 +- .../joomla/github/JGithubHooksTest.php | 2 +- .../joomla/github/JGithubHttpTest.php | 2 +- .../joomla/github/JGithubIssuesTest.php | 2 +- .../joomla/github/JGithubMetaTest.php | 2 +- .../joomla/github/JGithubMilestonesTest.php | 2 +- .../joomla/github/JGithubObjectTest.php | 2 +- .../JGithubPackageAuthorizationsTest.php | 2 +- .../joomla/github/JGithubPackageGistsTest.php | 2 +- .../github/JGithubPackageGitignoreTest.php | 2 +- .../github/JGithubPackageIssuesTest.php | 2 +- .../joomla/github/JGithubPackagePullsTest.php | 2 +- .../joomla/github/JGithubPackageUsersTest.php | 2 +- .../joomla/github/JGithubPullsTest.php | 2 +- .../joomla/github/JGithubRefsTest.php | 2 +- .../joomla/github/JGithubStatusesTest.php | 2 +- .../libraries/joomla/github/JGithubTest.php | 2 +- .../joomla/github/JGithubUsersTest.php | 2 +- .../JGithubPackageActivityEventsTest.php | 2 +- .../data/JGithubPackageDataRefsTest.php | 2 +- .../JGithubPackageIssuesMilestonesTest.php | 2 +- .../JGithubPackageRepositoriesForksTest.php | 2 +- .../JGithubPackageRepositoriesHooksTest.php | 2 +- ...JGithubPackageRepositoriesStatusesTest.php | 2 +- .../joomla/github/stubs/JGithubObjectMock.php | 2 +- .../joomla/google/JGoogleAuthOauth2Test.php | 2 +- .../joomla/google/JGoogleDataAdsenseTest.php | 2 +- .../joomla/google/JGoogleDataCalendarTest.php | 2 +- .../google/JGoogleDataPicasaAlbumTest.php | 2 +- .../google/JGoogleDataPicasaPhotoTest.php | 2 +- .../joomla/google/JGoogleDataPicasaTest.php | 2 +- .../google/JGoogleDataPlusActivitiesTest.php | 2 +- .../google/JGoogleDataPlusCommentsTest.php | 2 +- .../google/JGoogleDataPlusPeopleTest.php | 2 +- .../joomla/google/JGoogleDataPlusTest.php | 2 +- .../google/JGoogleEmbedAnalyticsTest.php | 2 +- .../joomla/google/JGoogleEmbedMapsTest.php | 2 +- .../libraries/joomla/google/JGoogleTest.php | 2 +- .../libraries/joomla/grid/JGridTest.php | 2 +- .../joomla/http/JHttpFactoryTest.php | 2 +- .../libraries/joomla/http/JHttpTest.php | 2 +- .../joomla/http/JHttpTransportTest.php | 2 +- .../joomla/image/JImageFilterTest.php | 2 +- .../libraries/joomla/image/JImageTest.php | 2 +- .../filter/JImageFilterBackgroundfillTest.php | 2 +- .../filter/JImageFilterBrightnessTest.php | 2 +- .../image/filter/JImageFilterContrastTest.php | 2 +- .../filter/JImageFilterEdgedetectTest.php | 2 +- .../image/stubs/JImageFilterInspector.php | 2 +- .../joomla/image/stubs/JImageInspector.php | 2 +- .../libraries/joomla/input/JInputCliTest.php | 2 +- .../libraries/joomla/input/JInputTest.php | 2 +- .../joomla/input/stubs/JFilterInputMock.php | 2 +- .../input/stubs/JFilterInputMockTracker.php | 2 +- .../joomla/input/stubs/JInputInspector.php | 2 +- .../joomla/keychain/JKeychainTest.php | 2 +- .../joomla/language/JLanguageHelperTest.php | 2 +- .../joomla/language/JLanguageInspector.php | 2 +- .../joomla/language/JLanguageStemmerTest.php | 2 +- .../joomla/language/JLanguageTest.php | 2 +- .../language/JLanguageTransliterateTest.php | 2 +- .../data/language/en-GB/en-GB.localise.php | 2 +- .../language/data/language/en-GB/en-GB.xml | 2 +- .../stemmer/JLanguageStemmerPorterenTest.php | 2 +- .../linkedin/JLinkedinCommunicationsTest.php | 2 +- .../linkedin/JLinkedinCompaniesTest.php | 2 +- .../joomla/linkedin/JLinkedinGroupsTest.php | 2 +- .../joomla/linkedin/JLinkedinJobsTest.php | 2 +- .../joomla/linkedin/JLinkedinOAuthTest.php | 2 +- .../joomla/linkedin/JLinkedinObjectTest.php | 2 +- .../joomla/linkedin/JLinkedinPeopleTest.php | 2 +- .../joomla/linkedin/JLinkedinStreamTest.php | 2 +- .../joomla/linkedin/JLinkedinTest.php | 2 +- .../linkedin/stubs/JLinkedinObjectMock.php | 2 +- .../libraries/joomla/log/JLogEntryTest.php | 2 +- .../suites/libraries/joomla/log/JLogTest.php | 2 +- .../log/loggers/JLogLoggerCallbackTest.php | 2 +- .../log/loggers/JLogLoggerDatabaseTest.php | 2 +- .../joomla/log/loggers/JLogLoggerEchoTest.php | 2 +- .../loggers/JLogLoggerFormattedTextTest.php | 2 +- .../loggers/JLogLoggerMessageQueueTest.php | 2 +- .../joomla/log/loggers/JLogLoggerW3CTest.php | 2 +- .../log/loggers/stubs/callback/helper.php | 2 +- .../log/loggers/stubs/callback/inspector.php | 2 +- .../log/loggers/stubs/database/inspector.php | 2 +- .../loggers/stubs/formattedtext/inspector.php | 2 +- .../stubs/messagequeue/mock.application.php | 2 +- .../log/loggers/stubs/w3c/inspector.php | 2 +- .../joomla/log/stubs/log/inspector.php | 2 +- .../libraries/joomla/mail/JMailHelperTest.php | 2 +- .../libraries/joomla/mail/JMailTest.php | 2 +- .../mediawiki/JMediawikiCategoriesTest.php | 2 +- .../joomla/mediawiki/JMediawikiHttpTest.php | 2 +- .../joomla/mediawiki/JMediawikiImagesTest.php | 2 +- .../joomla/mediawiki/JMediawikiLinksTest.php | 2 +- .../joomla/mediawiki/JMediawikiObjectTest.php | 2 +- .../joomla/mediawiki/JMediawikiPagesTest.php | 2 +- .../joomla/mediawiki/JMediawikiSearchTest.php | 2 +- .../joomla/mediawiki/JMediawikiSitesTest.php | 2 +- .../joomla/mediawiki/JMediawikiTest.php | 2 +- .../joomla/mediawiki/JMediawikiUsersTest.php | 2 +- .../mediawiki/stubs/JMediawikiObjectMock.php | 2 +- .../joomla/microdata/JMicrodataTest.php | 2 +- .../libraries/joomla/model/JModelBaseTest.php | 2 +- .../joomla/model/JModelDatabaseTest.php | 2 +- .../libraries/joomla/model/stubs/tbase.php | 2 +- .../joomla/model/stubs/tdatabase.php | 2 +- .../joomla/oauth1/JOAuth1ClientTest.php | 2 +- .../oauth1/stubs/JOAuth1ClientInspector.php | 2 +- .../joomla/oauth2/JOauth2ClientTest.php | 2 +- .../libraries/joomla/object/JObjectTest.php | 2 +- .../JOpenstreetmapChangesetsTest.php | 2 +- .../JOpenstreetmapElementsTest.php | 2 +- .../openstreetmap/JOpenstreetmapGpsTest.php | 2 +- .../openstreetmap/JOpenstreetmapInfoTest.php | 2 +- .../openstreetmap/JOpenstreetmapOauthTest.php | 2 +- .../JOpenstreetmapObjectTest.php | 2 +- .../openstreetmap/JOpenstreetmapTest.php | 2 +- .../openstreetmap/JOpenstreetmapUserTest.php | 2 +- .../stubs/JOpenstreetmapObjectMock.php | 2 +- .../joomla/session/JSessionStorageTest.php | 2 +- .../libraries/joomla/session/JSessionTest.php | 2 +- .../joomla/session/handler/array.php | 2 +- .../storage/JSessionStorageApcTest.php | 2 +- .../storage/JSessionStorageDatabaseTest.php | 2 +- .../storage/JSessionStorageMemcacheTest.php | 2 +- .../storage/JSessionStorageNoneTest.php | 2 +- .../storage/JSessionStorageWincacheTest.php | 2 +- .../storage/JSessionStorageXcacheTest.php | 2 +- .../joomla/table/JTableExtensionTest.php | 2 +- .../joomla/table/JTableLanguageTest.php | 2 +- .../joomla/table/JTableNestedTest.php | 2 +- .../libraries/joomla/table/JTableTest.php | 2 +- .../libraries/joomla/table/JTableUserTest.php | 2 +- .../joomla/table/stubs/dbtestcomposite.php | 2 +- .../libraries/joomla/table/stubs/nested.php | 2 +- .../joomla/twitter/JTwitterBlockTest.php | 2 +- .../twitter/JTwitterDirectmessagesTest.php | 2 +- .../joomla/twitter/JTwitterFavoritesTest.php | 2 +- .../joomla/twitter/JTwitterFriendsTest.php | 2 +- .../joomla/twitter/JTwitterHelpTest.php | 2 +- .../joomla/twitter/JTwitterListsTest.php | 2 +- .../joomla/twitter/JTwitterOauthTest.php | 2 +- .../joomla/twitter/JTwitterObjectTest.php | 2 +- .../joomla/twitter/JTwitterPlacesTest.php | 2 +- .../joomla/twitter/JTwitterProfileTest.php | 2 +- .../joomla/twitter/JTwitterSearchTest.php | 2 +- .../joomla/twitter/JTwitterStatusesTest.php | 2 +- .../libraries/joomla/twitter/JTwitterTest.php | 2 +- .../joomla/twitter/JTwitterTrendsTest.php | 2 +- .../joomla/twitter/JTwitterUsersTest.php | 2 +- .../twitter/stubs/JTwitterObjectMock.php | 2 +- .../suites/libraries/joomla/uri/JURITest.php | 2 +- .../joomla/user/JAuthenticationTest.php | 2 +- .../libraries/joomla/user/JUserHelperTest.php | 2 +- .../libraries/joomla/user/JUserTest.php | 2 +- .../user/stubs/FakeAuthenticationPlugin.php | 2 +- .../joomla/utilities/JArrayHelperTest.php | 2 +- .../joomla/utilities/JBufferTest.php | 2 +- .../joomla/utilities/JUtilityTest.php | 2 +- .../libraries/joomla/view/JViewBaseTest.php | 2 +- .../libraries/joomla/view/JViewHtmlTest.php | 2 +- .../joomla/view/mocks/JModelMock.php | 2 +- .../libraries/joomla/view/stubs/tbase.php | 2 +- .../libraries/joomla/view/stubs/thtml.php | 2 +- .../legacy/application/JApplicationTest.php | 2 +- .../legacy/categories/JCategoriesTest.php | 2 +- .../legacy/controller/JControllerFormTest.php | 2 +- .../controller/JControllerLegacyTest.php | 2 +- .../legacy/controller/stubs/controller.php | 2 +- .../controller/stubs/controllerform.php | 2 +- .../legacy/error/JErrorInspector.php | 2 +- .../libraries/legacy/error/JErrorTest.php | 2 +- .../legacy/model/JModelAdminTest.php | 2 +- .../libraries/legacy/model/JModelFormTest.php | 2 +- .../libraries/legacy/model/JModelItemTest.php | 2 +- .../legacy/model/JModelLegacyTest.php | 2 +- .../libraries/legacy/model/JModelListTest.php | 2 +- .../model/stubs/constructorexceptiontest.php | 2 +- .../libraries/legacy/model/stubs/foobar.php | 2 +- .../libraries/legacy/model/stubs/lead.php | 2 +- .../model/stubs/listmodelexceptiontest.php | 2 +- .../legacy/model/stubs/listmodeltest.php | 2 +- .../libraries/legacy/model/stubs/name.php | 2 +- .../libraries/legacy/model/stubs/room.php | 2 +- .../legacy/response/JResponseTest.php | 2 +- .../legacy/table/JTableContentTest.php | 2 +- .../libraries/legacy/view/JViewLegacyTest.php | 2 +- .../legacy/view/stubs/ContentViewArticle.php | 2 +- .../legacy/view/stubs/ContentViewHtml.php | 2 +- .../legacy/view/stubs/ExampleViewSEOHtml.php | 2 +- .../legacy/view/stubs/MediaViewMediaList.php | 2 +- .../stubs/MediaViewMediaListItemsHtml.php | 2 +- .../emailcloak/PlgContentEmailcloakTest.php | 2 +- 3776 files changed, 3959 insertions(+), 3950 deletions(-) diff --git a/README.md b/README.md index f597a93afe9ec..b0af7b464221d 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Do you want to improve Joomla? Copyright --------------------- -* Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +* Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * [Special Thanks](https://docs.joomla.org/Special:MyLanguage/Joomla!_Credits_and_Thanks) * Distributed under the GNU General Public License version 2 or later * See [License details](https://docs.joomla.org/Special:MyLanguage/Joomla_Licenses) diff --git a/README.txt b/README.txt index b3f37a94c1a3a..6d93aedcc1e61 100644 --- a/README.txt +++ b/README.txt @@ -66,7 +66,7 @@ * Documentation for Web designers: https://docs.joomla.org/Special:MyLanguage/Web_designers Copyright: - * Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * Special Thanks: https://docs.joomla.org/Special:MyLanguage/Joomla!_Credits_and_Thanks * Distributed under the GNU General Public License version 2 or later * See Licenses details at https://docs.joomla.org/Special:MyLanguage/Joomla_Licenses diff --git a/RoboFile.php b/RoboFile.php index 585f286bbdc95..e271464e187ec 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage RoboFile * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/admin.php b/administrator/components/com_admin/admin.php index e4f61bfbb0ee5..3e0986cdaeed3 100644 --- a/administrator/components/com_admin/admin.php +++ b/administrator/components/com_admin/admin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/admin.xml b/administrator/components/com_admin/admin.xml index 9cbd5f7140866..aeeaea2513515 100644 --- a/administrator/components/com_admin/admin.xml +++ b/administrator/components/com_admin/admin.xml @@ -3,7 +3,7 @@ <name>com_admin</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_admin/controller.php b/administrator/components/com_admin/controller.php index 8d95c42abe836..305dbc4fe703a 100644 --- a/administrator/components/com_admin/controller.php +++ b/administrator/components/com_admin/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/controllers/profile.php b/administrator/components/com_admin/controllers/profile.php index 0c7496f417f33..9b213ca2d1853 100644 --- a/administrator/components/com_admin/controllers/profile.php +++ b/administrator/components/com_admin/controllers/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/helpers/html/directory.php b/administrator/components/com_admin/helpers/html/directory.php index f0b7bb523a603..17a977367489c 100644 --- a/administrator/components/com_admin/helpers/html/directory.php +++ b/administrator/components/com_admin/helpers/html/directory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/helpers/html/phpsetting.php b/administrator/components/com_admin/helpers/html/phpsetting.php index bf753492dec2d..d84f3cb93ee7e 100644 --- a/administrator/components/com_admin/helpers/html/phpsetting.php +++ b/administrator/components/com_admin/helpers/html/phpsetting.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/helpers/html/system.php b/administrator/components/com_admin/helpers/html/system.php index 6d8c3dc7fb804..cd17d6eb05c3e 100644 --- a/administrator/components/com_admin/helpers/html/system.php +++ b/administrator/components/com_admin/helpers/html/system.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/models/help.php b/administrator/components/com_admin/models/help.php index 9d08624249b92..ed29c3ab6a1d3 100644 --- a/administrator/components/com_admin/models/help.php +++ b/administrator/components/com_admin/models/help.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/models/profile.php b/administrator/components/com_admin/models/profile.php index 9cc985eb23d01..79f84acb803e6 100644 --- a/administrator/components/com_admin/models/profile.php +++ b/administrator/components/com_admin/models/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index eade2bf1157f6..60bdf760e14d7 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/postinstall/eaccelerator.php b/administrator/components/com_admin/postinstall/eaccelerator.php index 5734ee9598872..50cc782c5962a 100644 --- a/administrator/components/com_admin/postinstall/eaccelerator.php +++ b/administrator/components/com_admin/postinstall/eaccelerator.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains post-installation message handling for eAccelerator compatibility. diff --git a/administrator/components/com_admin/postinstall/htaccess.php b/administrator/components/com_admin/postinstall/htaccess.php index 0ce7291f4d7dd..7a1ff985e4def 100644 --- a/administrator/components/com_admin/postinstall/htaccess.php +++ b/administrator/components/com_admin/postinstall/htaccess.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains post-installation message handling for notifying users of a change diff --git a/administrator/components/com_admin/postinstall/joomla40checks.php b/administrator/components/com_admin/postinstall/joomla40checks.php index 331424516b16e..06c1f04547dfe 100644 --- a/administrator/components/com_admin/postinstall/joomla40checks.php +++ b/administrator/components/com_admin/postinstall/joomla40checks.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains post-installation message handling for Joomla 4.0 pre checks diff --git a/administrator/components/com_admin/postinstall/languageaccess340.php b/administrator/components/com_admin/postinstall/languageaccess340.php index d55964eb122dd..915379dfd9fad 100644 --- a/administrator/components/com_admin/postinstall/languageaccess340.php +++ b/administrator/components/com_admin/postinstall/languageaccess340.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains post-installation message handling for the checks if the installation is diff --git a/administrator/components/com_admin/postinstall/statscollection.php b/administrator/components/com_admin/postinstall/statscollection.php index c6df9cc32da69..1d8fde9d94ce8 100644 --- a/administrator/components/com_admin/postinstall/statscollection.php +++ b/administrator/components/com_admin/postinstall/statscollection.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains post-installation message handling for the checking minimum PHP version support diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php index 519e01378ec45..4b2b2739f6fc1 100644 --- a/administrator/components/com_admin/script.php +++ b/administrator/components/com_admin/script.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -1946,6 +1946,8 @@ public function deleteUnexistingFiles() '/libraries/legacy/view/legacy.php', '/libraries/legacy/web/client.php', '/libraries/legacy/web/web.php', + // Joomla 3.8.4 + '/libraries/src/Mail/language/phpmailer.lang-joomla.php', ); // TODO There is an issue while deleting folders using the ftp mode diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql index 7c1615481965e..1529436042092 100644 --- a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql +++ b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql @@ -2,7 +2,7 @@ INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder` (27, 'com_finder', 'component', 'com_finder', '', 1, 1, 0, 0, '', '{"show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_advanced":"1","expand_advanced":"0","show_date_filters":"0","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stemmer":"porter_en"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (439, 'plg_captcha_recaptcha', 'plugin', 'recaptcha', 'captcha', 0, 1, 1, 0, '{}', '{"public_key":"","private_key":"","theme":"clean"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (440, 'plg_system_highlight', 'plugin', 'highlight', 'system', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 7, 0), -(441, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '{"legacy":false,"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"1.7.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(441, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '{"legacy":false,"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"1.7.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (442, 'plg_finder_categories', 'plugin', 'categories', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 1, 0), (443, 'plg_finder_contacts', 'plugin', 'contacts', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 2, 0), (444, 'plg_finder_content', 'plugin', 'content', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 3, 0), diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql index 012462ebac59e..c6fb1d0b8cc5d 100644 --- a/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql +++ b/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql @@ -1,5 +1,5 @@ INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(314, 'mod_version', 'module', 'mod_version', '', 1, 1, 1, 0, '{"legacy":false,"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}', '{"format":"short","product":"1","cache":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(314, 'mod_version', 'module', 'mod_version', '', 1, 1, 1, 0, '{"legacy":false,"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}', '{"format":"short","product":"1","cache":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__modules` (`title`, `note`, `content`, `ordering`, `position`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `published`, `module`, `access`, `showtitle`, `params`, `client_id`, `language`) VALUES ('Joomla Version', '', '', 1, 'footer', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1, 'mod_version', 3, 1, '{"format":"short","product":"1","layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'); diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql index d94a5b5c19115..d24ec9d278f17 100644 --- a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql +++ b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql @@ -1,5 +1,5 @@ INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `ordering`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES ('menu', 'com_joomlaupdate', 'Joomla! Update', '', 'Joomla! Update', 'index.php?option=com_joomlaupdate', 'component', 0, 1, 1, 28, 0, 0, '0000-00-00 00:00:00', 0, 0, 'class:joomlaupdate', 0, '', 41, 42, 0, '*', 1); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql index bdc8bd9eddfcd..7043e21224775 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql @@ -114,9 +114,9 @@ ALTER TABLE `#__finder_tokens_aggregate` ADD COLUMN `language` char(3) NOT NULL INSERT INTO `#__extensions` (`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES - ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); + ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), + ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), + ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__template_styles` (`template`, `client_id`, `home`, `title`, `params`) VALUES ('protostar', 0, '0', 'protostar - Default', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}'), @@ -139,7 +139,7 @@ SET home = 0 WHERE template = 'bluestork'; INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); UPDATE `#__update_sites` SET location = 'https://update.joomla.org/language/translationlist_3.xml' diff --git a/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql index 29ec9e2fe7f74..b07d05c28ccbb 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql @@ -156,10 +156,10 @@ CREATE TABLE IF NOT EXISTS `#__ucm_content` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Contains core content data in name spaced fields'; INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES ('main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags', 'component', 0, 1, 1, 29, 0, '0000-00-00 00:00:00', 0, 1, 'class:tags', 0, '', 45, 46, 0, '', 1); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql index 02b067d2e97b6..591393406a7b3 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql @@ -19,13 +19,13 @@ UPDATE `#__extensions` SET `params` = '{"template_positions_display":"0","upload UPDATE `#__extensions` SET `params` = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE `extension_id` = 410; INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES ('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '0000-00-00 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql b/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql index 7a7ec83dd5247..1893538b9d3b9 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql @@ -183,11 +183,11 @@ CREATE INDEX "#__ucm_content_idx_core_type_id" ON "#__ucm_content" ("core_type_i -- Add extensions table records -- INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES -(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); +(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); -- -- Add menu table records diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql b/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql index b6020f0a3b936..bc22cf3698af2 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql @@ -19,13 +19,13 @@ UPDATE "#__extensions" SET "params" = '{"template_positions_display":"0","upload UPDATE "#__extensions" SET "params" = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE "extension_id" = 410; INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES -(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); +(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); INSERT INTO "#__menu" ("menutype", "title", "alias", "note", "path", "link", "type", "published", "parent_id", "level", "component_id", "checked_out", "checked_out_time", "browserNav", "access", "img", "template_style_id", "params", "lft", "rgt", "home", "language", "client_id") VALUES ('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '1970-01-01 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1); diff --git a/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql b/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql index f3f38ed99e370..310ec720750bc 100644 --- a/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql +++ b/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql @@ -1,7 +1,7 @@ SET IDENTITY_INSERT [#__extensions] ON; INSERT INTO [#__extensions] ([extension_id], [name], [type], [element], [folder], [client_id], [enabled], [access], [protected], [manifest_cache], [params], [custom_data], [system_data], [checked_out], [checked_out_time], [ordering], [state]) -SELECT 28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0; +SELECT 28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0; SET IDENTITY_INSERT [#__extensions] OFF; diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql index a2f47b58adfef..4ca149cecb628 100644 --- a/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql @@ -318,7 +318,7 @@ CREATE NONCLUSTERED INDEX [idx_core_type_id] ON [#__ucm_content] SET IDENTITY_INSERT [#__extensions] ON; INSERT INTO [#__extensions] ([extension_id], [name], [type], [element], [folder], [client_id], [enabled], [access], [protected], [manifest_cache], [params], [custom_data], [system_data], [checked_out], [checked_out_time], [ordering], [state]) -SELECT 29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"name":"com_joomlaupdate","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0; +SELECT 29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"name":"com_joomlaupdate","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0; SET IDENTITY_INSERT [#__extensions] OFF; diff --git a/administrator/components/com_admin/views/help/tmpl/default.php b/administrator/components/com_admin/views/help/tmpl/default.php index e8a5a790bc898..f839eac951c3a 100644 --- a/administrator/components/com_admin/views/help/tmpl/default.php +++ b/administrator/components/com_admin/views/help/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/help/tmpl/langforum.php b/administrator/components/com_admin/views/help/tmpl/langforum.php index 86e5e9b7051af..a090003330b21 100644 --- a/administrator/components/com_admin/views/help/tmpl/langforum.php +++ b/administrator/components/com_admin/views/help/tmpl/langforum.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/help/view.html.php b/administrator/components/com_admin/views/help/view.html.php index f872b010e0ea4..0c1ae713774f2 100644 --- a/administrator/components/com_admin/views/help/view.html.php +++ b/administrator/components/com_admin/views/help/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/profile/tmpl/edit.php b/administrator/components/com_admin/views/profile/tmpl/edit.php index bf342abc3c7b3..e21f3367135dc 100644 --- a/administrator/components/com_admin/views/profile/tmpl/edit.php +++ b/administrator/components/com_admin/views/profile/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/profile/view.html.php b/administrator/components/com_admin/views/profile/view.html.php index fbe3e3747f3cd..3184d7d60a5e1 100644 --- a/administrator/components/com_admin/views/profile/view.html.php +++ b/administrator/components/com_admin/views/profile/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default.php b/administrator/components/com_admin/views/sysinfo/tmpl/default.php index 02589ee91b18e..66a2774f85292 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php index 4510e23390421..12c59f96f7750 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php index 07fe5a24437c8..2e5686af81138 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php index 28909428f0ce8..76050b4f658ca 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php index 17f58072c65e5..b34fe0e1b467d 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php index 4e1f1ab2df9a4..990f5b737f52a 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/view.html.php b/administrator/components/com_admin/views/sysinfo/view.html.php index 0912ead3f2596..6997bddf3e5f0 100644 --- a/administrator/components/com_admin/views/sysinfo/view.html.php +++ b/administrator/components/com_admin/views/sysinfo/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/view.json.php b/administrator/components/com_admin/views/sysinfo/view.json.php index 4d7a9b7c08eed..c3f010b1b8a8c 100644 --- a/administrator/components/com_admin/views/sysinfo/view.json.php +++ b/administrator/components/com_admin/views/sysinfo/view.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_admin/views/sysinfo/view.text.php b/administrator/components/com_admin/views/sysinfo/view.text.php index d90a045be1c35..dd8c833a06e83 100644 --- a/administrator/components/com_admin/views/sysinfo/view.text.php +++ b/administrator/components/com_admin/views/sysinfo/view.text.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_ajax/ajax.php b/administrator/components/com_ajax/ajax.php index 665c30efbadeb..0bbcfdf5da4a1 100644 --- a/administrator/components/com_ajax/ajax.php +++ b/administrator/components/com_ajax/ajax.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_ajax * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_ajax/ajax.xml b/administrator/components/com_ajax/ajax.xml index 4f75361049219..81da9b53d0bfd 100644 --- a/administrator/components/com_ajax/ajax.xml +++ b/administrator/components/com_ajax/ajax.xml @@ -3,7 +3,7 @@ <name>com_ajax</name> <author>Joomla! Project</author> <creationDate>August 2013</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_associations/associations.php b/administrator/components/com_associations/associations.php index 2426f4960053c..67bbd2551e0bb 100644 --- a/administrator/components/com_associations/associations.php +++ b/administrator/components/com_associations/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/associations.xml b/administrator/components/com_associations/associations.xml index 877f5c615526b..751df652d825f 100644 --- a/administrator/components/com_associations/associations.xml +++ b/administrator/components/com_associations/associations.xml @@ -3,7 +3,7 @@ <name>com_associations</name> <author>Joomla! Project</author> <creationDate>Januar 2017</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_associations/controller.php b/administrator/components/com_associations/controller.php index d81bbcf51204f..f6dd3579a81c3 100644 --- a/administrator/components/com_associations/controller.php +++ b/administrator/components/com_associations/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/controllers/association.php b/administrator/components/com_associations/controllers/association.php index 60d5234559b58..d37d6a7779063 100644 --- a/administrator/components/com_associations/controllers/association.php +++ b/administrator/components/com_associations/controllers/association.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/controllers/associations.php b/administrator/components/com_associations/controllers/associations.php index 23cbb6d04908e..043e4d1bf8092 100644 --- a/administrator/components/com_associations/controllers/associations.php +++ b/administrator/components/com_associations/controllers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/helpers/associations.php b/administrator/components/com_associations/helpers/associations.php index ce40831962afd..c1bcf70dcbd54 100644 --- a/administrator/components/com_associations/helpers/associations.php +++ b/administrator/components/com_associations/helpers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php b/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php index 1f6761abd74ec..db174b29dc7b9 100644 --- a/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php +++ b/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/models/association.php b/administrator/components/com_associations/models/association.php index 10fdac9c8e4cc..79b39ef910f59 100644 --- a/administrator/components/com_associations/models/association.php +++ b/administrator/components/com_associations/models/association.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/models/associations.php b/administrator/components/com_associations/models/associations.php index 67114f93fbcf0..e7dc9a21e0ec2 100644 --- a/administrator/components/com_associations/models/associations.php +++ b/administrator/components/com_associations/models/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/models/fields/itemlanguage.php b/administrator/components/com_associations/models/fields/itemlanguage.php index d7e9566fccf66..a7b3cfaca7379 100644 --- a/administrator/components/com_associations/models/fields/itemlanguage.php +++ b/administrator/components/com_associations/models/fields/itemlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/models/fields/itemtype.php b/administrator/components/com_associations/models/fields/itemtype.php index 7d80c39a60502..f3335c6e6c68d 100644 --- a/administrator/components/com_associations/models/fields/itemtype.php +++ b/administrator/components/com_associations/models/fields/itemtype.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('JPATH_BASE') or die; diff --git a/administrator/components/com_associations/models/fields/modalassociation.php b/administrator/components/com_associations/models/fields/modalassociation.php index aac8dfa8da147..85dae7257a4ec 100644 --- a/administrator/components/com_associations/models/fields/modalassociation.php +++ b/administrator/components/com_associations/models/fields/modalassociation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/views/association/tmpl/edit.php b/administrator/components/com_associations/views/association/tmpl/edit.php index efb74ba184d55..408033369d06c 100644 --- a/administrator/components/com_associations/views/association/tmpl/edit.php +++ b/administrator/components/com_associations/views/association/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/views/association/view.html.php b/administrator/components/com_associations/views/association/view.html.php index 5a77a04736b9c..b82f2634f1c13 100644 --- a/administrator/components/com_associations/views/association/view.html.php +++ b/administrator/components/com_associations/views/association/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/views/associations/tmpl/default.php b/administrator/components/com_associations/views/associations/tmpl/default.php index b00dd9f74f10c..c33f6cf041dc9 100644 --- a/administrator/components/com_associations/views/associations/tmpl/default.php +++ b/administrator/components/com_associations/views/associations/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/views/associations/tmpl/modal.php b/administrator/components/com_associations/views/associations/tmpl/modal.php index f4315e6e38c24..63520f408c2a6 100644 --- a/administrator/components/com_associations/views/associations/tmpl/modal.php +++ b/administrator/components/com_associations/views/associations/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_associations/views/associations/view.html.php b/administrator/components/com_associations/views/associations/view.html.php index 30878a4a6e371..92e5d7b916a4c 100644 --- a/administrator/components/com_associations/views/associations/view.html.php +++ b/administrator/components/com_associations/views/associations/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/banners.php b/administrator/components/com_banners/banners.php index f1afc76b48e61..df7d18bf53a95 100644 --- a/administrator/components/com_banners/banners.php +++ b/administrator/components/com_banners/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/banners.xml b/administrator/components/com_banners/banners.xml index 13ebc6bea19a9..e2bda0c984173 100644 --- a/administrator/components/com_banners/banners.xml +++ b/administrator/components/com_banners/banners.xml @@ -3,7 +3,7 @@ <name>com_banners</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_banners/controller.php b/administrator/components/com_banners/controller.php index 75e8518965fed..1b338989fef99 100644 --- a/administrator/components/com_banners/controller.php +++ b/administrator/components/com_banners/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/banner.php b/administrator/components/com_banners/controllers/banner.php index 170c03d201f37..eb48772f981df 100644 --- a/administrator/components/com_banners/controllers/banner.php +++ b/administrator/components/com_banners/controllers/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/banners.php b/administrator/components/com_banners/controllers/banners.php index 59c3d33e38de0..89f6c9864ac8f 100644 --- a/administrator/components/com_banners/controllers/banners.php +++ b/administrator/components/com_banners/controllers/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/client.php b/administrator/components/com_banners/controllers/client.php index 3e5272e9b2d30..290d9d6579efe 100644 --- a/administrator/components/com_banners/controllers/client.php +++ b/administrator/components/com_banners/controllers/client.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/clients.php b/administrator/components/com_banners/controllers/clients.php index 9cae8d477439e..84f0206b0cd32 100644 --- a/administrator/components/com_banners/controllers/clients.php +++ b/administrator/components/com_banners/controllers/clients.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/tracks.php b/administrator/components/com_banners/controllers/tracks.php index d6fb9bc7b15cd..92c6deda16be7 100644 --- a/administrator/components/com_banners/controllers/tracks.php +++ b/administrator/components/com_banners/controllers/tracks.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/controllers/tracks.raw.php b/administrator/components/com_banners/controllers/tracks.raw.php index ebf4970d56bf2..aac0452009a4a 100644 --- a/administrator/components/com_banners/controllers/tracks.raw.php +++ b/administrator/components/com_banners/controllers/tracks.raw.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/helpers/banners.php b/administrator/components/com_banners/helpers/banners.php index b73dcfa3c50ff..951a364fe93c2 100644 --- a/administrator/components/com_banners/helpers/banners.php +++ b/administrator/components/com_banners/helpers/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/helpers/html/banner.php b/administrator/components/com_banners/helpers/html/banner.php index fe5b52cf9cfba..fdbbebd273ca5 100644 --- a/administrator/components/com_banners/helpers/html/banner.php +++ b/administrator/components/com_banners/helpers/html/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/banner.php b/administrator/components/com_banners/models/banner.php index 37a07e9d101d7..0a57e9af5bf6b 100644 --- a/administrator/components/com_banners/models/banner.php +++ b/administrator/components/com_banners/models/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/banners.php b/administrator/components/com_banners/models/banners.php index e2e9495da0b26..6cb80bcf5c178 100644 --- a/administrator/components/com_banners/models/banners.php +++ b/administrator/components/com_banners/models/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/client.php b/administrator/components/com_banners/models/client.php index 9d14c0d348479..557784839b37f 100644 --- a/administrator/components/com_banners/models/client.php +++ b/administrator/components/com_banners/models/client.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/clients.php b/administrator/components/com_banners/models/clients.php index 380c72b34dbb9..5908ecf8f5ba7 100644 --- a/administrator/components/com_banners/models/clients.php +++ b/administrator/components/com_banners/models/clients.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/download.php b/administrator/components/com_banners/models/download.php index c01de0b0e29f7..ad6d613c0cd71 100644 --- a/administrator/components/com_banners/models/download.php +++ b/administrator/components/com_banners/models/download.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/fields/bannerclient.php b/administrator/components/com_banners/models/fields/bannerclient.php index b7e2c46fc2c90..9fa42f3c31b1e 100644 --- a/administrator/components/com_banners/models/fields/bannerclient.php +++ b/administrator/components/com_banners/models/fields/bannerclient.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/fields/clicks.php b/administrator/components/com_banners/models/fields/clicks.php index d3d9166eba712..d7ea386cc9850 100644 --- a/administrator/components/com_banners/models/fields/clicks.php +++ b/administrator/components/com_banners/models/fields/clicks.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/fields/impmade.php b/administrator/components/com_banners/models/fields/impmade.php index da6e26889ce30..6c2f9ea3f8212 100644 --- a/administrator/components/com_banners/models/fields/impmade.php +++ b/administrator/components/com_banners/models/fields/impmade.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/fields/imptotal.php b/administrator/components/com_banners/models/fields/imptotal.php index ec5afcdc2067a..f0ce87ee802e0 100644 --- a/administrator/components/com_banners/models/fields/imptotal.php +++ b/administrator/components/com_banners/models/fields/imptotal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/models/tracks.php b/administrator/components/com_banners/models/tracks.php index 49cc4212c289b..273f635cc11bd 100644 --- a/administrator/components/com_banners/models/tracks.php +++ b/administrator/components/com_banners/models/tracks.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/tables/banner.php b/administrator/components/com_banners/tables/banner.php index aec803442a71d..75576947f46f1 100644 --- a/administrator/components/com_banners/tables/banner.php +++ b/administrator/components/com_banners/tables/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/tables/client.php b/administrator/components/com_banners/tables/client.php index fea12f8715da8..fe8a820488abf 100644 --- a/administrator/components/com_banners/tables/client.php +++ b/administrator/components/com_banners/tables/client.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banner/tmpl/edit.php b/administrator/components/com_banners/views/banner/tmpl/edit.php index dc07733319e0f..9d98677a35811 100644 --- a/administrator/components/com_banners/views/banner/tmpl/edit.php +++ b/administrator/components/com_banners/views/banner/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banner/view.html.php b/administrator/components/com_banners/views/banner/view.html.php index 56d98cf202f4c..da154a92eb65f 100644 --- a/administrator/components/com_banners/views/banner/view.html.php +++ b/administrator/components/com_banners/views/banner/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banners/tmpl/default.php b/administrator/components/com_banners/views/banners/tmpl/default.php index 6d9ab55f5b2b6..01d348812c758 100644 --- a/administrator/components/com_banners/views/banners/tmpl/default.php +++ b/administrator/components/com_banners/views/banners/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php b/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php index 128cc76b9834d..2bbf95a642b1e 100644 --- a/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php +++ b/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php b/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php index df299bbf7ba60..9d985b15e27a2 100644 --- a/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php +++ b/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/banners/view.html.php b/administrator/components/com_banners/views/banners/view.html.php index 0fc752ea058d7..322dc269038b4 100644 --- a/administrator/components/com_banners/views/banners/view.html.php +++ b/administrator/components/com_banners/views/banners/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/client/tmpl/edit.php b/administrator/components/com_banners/views/client/tmpl/edit.php index e2e84a0cef1bf..0c55c5c21008b 100644 --- a/administrator/components/com_banners/views/client/tmpl/edit.php +++ b/administrator/components/com_banners/views/client/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/client/view.html.php b/administrator/components/com_banners/views/client/view.html.php index f4f0005104af4..269081b4658b8 100644 --- a/administrator/components/com_banners/views/client/view.html.php +++ b/administrator/components/com_banners/views/client/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/clients/tmpl/default.php b/administrator/components/com_banners/views/clients/tmpl/default.php index fcf1fb49acee6..210d4de9a9f24 100644 --- a/administrator/components/com_banners/views/clients/tmpl/default.php +++ b/administrator/components/com_banners/views/clients/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/clients/view.html.php b/administrator/components/com_banners/views/clients/view.html.php index ae0034b9a35b9..5d796e522ee20 100644 --- a/administrator/components/com_banners/views/clients/view.html.php +++ b/administrator/components/com_banners/views/clients/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/download/tmpl/default.php b/administrator/components/com_banners/views/download/tmpl/default.php index 3698048b51409..89f9aefb020fa 100644 --- a/administrator/components/com_banners/views/download/tmpl/default.php +++ b/administrator/components/com_banners/views/download/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/download/view.html.php b/administrator/components/com_banners/views/download/view.html.php index a963d6ec1a5aa..4b72496970781 100644 --- a/administrator/components/com_banners/views/download/view.html.php +++ b/administrator/components/com_banners/views/download/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/tracks/tmpl/default.php b/administrator/components/com_banners/views/tracks/tmpl/default.php index f815f4bddadf6..5d2d96235fff2 100644 --- a/administrator/components/com_banners/views/tracks/tmpl/default.php +++ b/administrator/components/com_banners/views/tracks/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/tracks/view.html.php b/administrator/components/com_banners/views/tracks/view.html.php index cd93b888975f6..768122d6f509a 100644 --- a/administrator/components/com_banners/views/tracks/view.html.php +++ b/administrator/components/com_banners/views/tracks/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_banners/views/tracks/view.raw.php b/administrator/components/com_banners/views/tracks/view.raw.php index f9babb40b0596..d4ffe1c6acfba 100644 --- a/administrator/components/com_banners/views/tracks/view.raw.php +++ b/administrator/components/com_banners/views/tracks/view.raw.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/cache.php b/administrator/components/com_cache/cache.php index b78b099d45938..92ffc99e14f9b 100644 --- a/administrator/components/com_cache/cache.php +++ b/administrator/components/com_cache/cache.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/cache.xml b/administrator/components/com_cache/cache.xml index 613d151756345..c9ef2a72fae35 100644 --- a/administrator/components/com_cache/cache.xml +++ b/administrator/components/com_cache/cache.xml @@ -3,7 +3,7 @@ <name>com_cache</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_cache/controller.php b/administrator/components/com_cache/controller.php index 9b2e404a20b8d..b00b2c68a6421 100644 --- a/administrator/components/com_cache/controller.php +++ b/administrator/components/com_cache/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/helpers/cache.php b/administrator/components/com_cache/helpers/cache.php index f4e1c6c2b262b..260f10b33b701 100644 --- a/administrator/components/com_cache/helpers/cache.php +++ b/administrator/components/com_cache/helpers/cache.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/models/cache.php b/administrator/components/com_cache/models/cache.php index e1647f05bb18a..909505fa1da0c 100644 --- a/administrator/components/com_cache/models/cache.php +++ b/administrator/components/com_cache/models/cache.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/views/cache/tmpl/default.php b/administrator/components/com_cache/views/cache/tmpl/default.php index 01de86149222d..b299ded846306 100644 --- a/administrator/components/com_cache/views/cache/tmpl/default.php +++ b/administrator/components/com_cache/views/cache/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/views/cache/view.html.php b/administrator/components/com_cache/views/cache/view.html.php index d61cb7927463d..7285b5a49c91d 100644 --- a/administrator/components/com_cache/views/cache/view.html.php +++ b/administrator/components/com_cache/views/cache/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/views/purge/tmpl/default.php b/administrator/components/com_cache/views/purge/tmpl/default.php index 4000dab735b57..7391eca4d903f 100644 --- a/administrator/components/com_cache/views/purge/tmpl/default.php +++ b/administrator/components/com_cache/views/purge/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cache/views/purge/view.html.php b/administrator/components/com_cache/views/purge/view.html.php index 1e3736bf2b3b4..ed1fbd42255a0 100644 --- a/administrator/components/com_cache/views/purge/view.html.php +++ b/administrator/components/com_cache/views/purge/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/categories.php b/administrator/components/com_categories/categories.php index 764b293b3058b..979ee32f9a97a 100644 --- a/administrator/components/com_categories/categories.php +++ b/administrator/components/com_categories/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/categories.xml b/administrator/components/com_categories/categories.xml index 8d003a387d258..56a5cb0d3743f 100644 --- a/administrator/components/com_categories/categories.xml +++ b/administrator/components/com_categories/categories.xml @@ -3,7 +3,7 @@ <name>com_categories</name> <author>Joomla! Project</author> <creationDate>December 2007</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_categories/controller.php b/administrator/components/com_categories/controller.php index 8e815de2ec1c9..baea25b846ea3 100644 --- a/administrator/components/com_categories/controller.php +++ b/administrator/components/com_categories/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/controllers/categories.php b/administrator/components/com_categories/controllers/categories.php index e64ab88d4291b..73d1a7fae9132 100644 --- a/administrator/components/com_categories/controllers/categories.php +++ b/administrator/components/com_categories/controllers/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/controllers/category.php b/administrator/components/com_categories/controllers/category.php index 79fecc0742acd..d63b1110a969a 100644 --- a/administrator/components/com_categories/controllers/category.php +++ b/administrator/components/com_categories/controllers/category.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/helpers/association.php b/administrator/components/com_categories/helpers/association.php index ddda743cd1a95..67196ee95aa25 100644 --- a/administrator/components/com_categories/helpers/association.php +++ b/administrator/components/com_categories/helpers/association.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/helpers/categories.php b/administrator/components/com_categories/helpers/categories.php index 3103328d8b8a7..0fedecb4e84af 100644 --- a/administrator/components/com_categories/helpers/categories.php +++ b/administrator/components/com_categories/helpers/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/helpers/html/categoriesadministrator.php b/administrator/components/com_categories/helpers/html/categoriesadministrator.php index 456cb89c8573f..0d54843e86ecb 100644 --- a/administrator/components/com_categories/helpers/html/categoriesadministrator.php +++ b/administrator/components/com_categories/helpers/html/categoriesadministrator.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/models/categories.php b/administrator/components/com_categories/models/categories.php index 061603e82d62d..9578f15708f20 100644 --- a/administrator/components/com_categories/models/categories.php +++ b/administrator/components/com_categories/models/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/models/category.php b/administrator/components/com_categories/models/category.php index 46fcb4ca7ebee..144ecd09e0a82 100644 --- a/administrator/components/com_categories/models/category.php +++ b/administrator/components/com_categories/models/category.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/models/fields/categoryedit.php b/administrator/components/com_categories/models/fields/categoryedit.php index 1bead2d566740..f655a6ab2f0e1 100644 --- a/administrator/components/com_categories/models/fields/categoryedit.php +++ b/administrator/components/com_categories/models/fields/categoryedit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/models/fields/categoryparent.php b/administrator/components/com_categories/models/fields/categoryparent.php index 6f3448508a946..3aae6dc264c96 100644 --- a/administrator/components/com_categories/models/fields/categoryparent.php +++ b/administrator/components/com_categories/models/fields/categoryparent.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/models/fields/modal/category.php b/administrator/components/com_categories/models/fields/modal/category.php index 09ff66d9806a1..0b77986150697 100644 --- a/administrator/components/com_categories/models/fields/modal/category.php +++ b/administrator/components/com_categories/models/fields/modal/category.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/tables/category.php b/administrator/components/com_categories/tables/category.php index 066540fcf078d..014619eac6831 100644 --- a/administrator/components/com_categories/tables/category.php +++ b/administrator/components/com_categories/tables/category.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/categories/tmpl/default.php b/administrator/components/com_categories/views/categories/tmpl/default.php index 02798936e0e27..5ad84b77391b8 100644 --- a/administrator/components/com_categories/views/categories/tmpl/default.php +++ b/administrator/components/com_categories/views/categories/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php b/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php index 45daf66e3cb33..1307d418e608b 100644 --- a/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php +++ b/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php b/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php index 173c85e9ee790..2530fc28554eb 100644 --- a/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php +++ b/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_categories/views/categories/tmpl/modal.php b/administrator/components/com_categories/views/categories/tmpl/modal.php index 027db8fe55ac1..9577931315091 100644 --- a/administrator/components/com_categories/views/categories/tmpl/modal.php +++ b/administrator/components/com_categories/views/categories/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/categories/view.html.php b/administrator/components/com_categories/views/categories/view.html.php index 075c9d1c68fa3..4428001631ab6 100644 --- a/administrator/components/com_categories/views/categories/view.html.php +++ b/administrator/components/com_categories/views/categories/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/edit.php b/administrator/components/com_categories/views/category/tmpl/edit.php index fb033124e9bd4..54dbeeb267f0e 100644 --- a/administrator/components/com_categories/views/category/tmpl/edit.php +++ b/administrator/components/com_categories/views/category/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/edit_associations.php b/administrator/components/com_categories/views/category/tmpl/edit_associations.php index 54f4fb1d3791a..f422019e008d1 100644 --- a/administrator/components/com_categories/views/category/tmpl/edit_associations.php +++ b/administrator/components/com_categories/views/category/tmpl/edit_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/edit_metadata.php b/administrator/components/com_categories/views/category/tmpl/edit_metadata.php index b5a7e8d257264..309153abbf3d9 100644 --- a/administrator/components/com_categories/views/category/tmpl/edit_metadata.php +++ b/administrator/components/com_categories/views/category/tmpl/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/modal.php b/administrator/components/com_categories/views/category/tmpl/modal.php index 685c65d39fa6e..2167693bc5bed 100644 --- a/administrator/components/com_categories/views/category/tmpl/modal.php +++ b/administrator/components/com_categories/views/category/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/modal_associations.php b/administrator/components/com_categories/views/category/tmpl/modal_associations.php index 54f4fb1d3791a..f422019e008d1 100644 --- a/administrator/components/com_categories/views/category/tmpl/modal_associations.php +++ b/administrator/components/com_categories/views/category/tmpl/modal_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php b/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php index a1e64b1bae479..c3a7e055cc328 100644 --- a/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php +++ b/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/modal_metadata.php b/administrator/components/com_categories/views/category/tmpl/modal_metadata.php index b5a7e8d257264..309153abbf3d9 100644 --- a/administrator/components/com_categories/views/category/tmpl/modal_metadata.php +++ b/administrator/components/com_categories/views/category/tmpl/modal_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/tmpl/modal_options.php b/administrator/components/com_categories/views/category/tmpl/modal_options.php index cfb84b04f1fcf..ea0d512f73a7a 100644 --- a/administrator/components/com_categories/views/category/tmpl/modal_options.php +++ b/administrator/components/com_categories/views/category/tmpl/modal_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_categories/views/category/view.html.php b/administrator/components/com_categories/views/category/view.html.php index 22fd60d296c98..c24b32c1444d7 100644 --- a/administrator/components/com_categories/views/category/view.html.php +++ b/administrator/components/com_categories/views/category/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_checkin/checkin.php b/administrator/components/com_checkin/checkin.php index f0f4a61bc1567..0e07b11dc54d6 100644 --- a/administrator/components/com_checkin/checkin.php +++ b/administrator/components/com_checkin/checkin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_checkin/checkin.xml b/administrator/components/com_checkin/checkin.xml index 8aabfb76e4763..338dfbd5562fd 100644 --- a/administrator/components/com_checkin/checkin.xml +++ b/administrator/components/com_checkin/checkin.xml @@ -3,7 +3,7 @@ <name>com_checkin</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_checkin/controller.php b/administrator/components/com_checkin/controller.php index 035ee20e2d54c..66ddd9bc8f639 100644 --- a/administrator/components/com_checkin/controller.php +++ b/administrator/components/com_checkin/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_checkin/models/checkin.php b/administrator/components/com_checkin/models/checkin.php index a1e30fee3980b..2affd1593ad12 100644 --- a/administrator/components/com_checkin/models/checkin.php +++ b/administrator/components/com_checkin/models/checkin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_checkin/views/checkin/tmpl/default.php b/administrator/components/com_checkin/views/checkin/tmpl/default.php index 393a264a2ca5a..374fed70a9c34 100644 --- a/administrator/components/com_checkin/views/checkin/tmpl/default.php +++ b/administrator/components/com_checkin/views/checkin/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_checkin/views/checkin/view.html.php b/administrator/components/com_checkin/views/checkin/view.html.php index 2943c79484d5e..12c16424360e7 100644 --- a/administrator/components/com_checkin/views/checkin/view.html.php +++ b/administrator/components/com_checkin/views/checkin/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/config.php b/administrator/components/com_config/config.php index 8b53654a73aee..6b9c7e6576f2f 100644 --- a/administrator/components/com_config/config.php +++ b/administrator/components/com_config/config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/config.xml b/administrator/components/com_config/config.xml index 025af553fc887..bccece35f8ba1 100644 --- a/administrator/components/com_config/config.xml +++ b/administrator/components/com_config/config.xml @@ -3,7 +3,7 @@ <name>com_config</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_config/controller.php b/administrator/components/com_config/controller.php index 3ed2386416717..d5f11a6cb0110 100644 --- a/administrator/components/com_config/controller.php +++ b/administrator/components/com_config/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controller/application/cancel.php b/administrator/components/com_config/controller/application/cancel.php index 217eef0c04cb8..06ef0a07c46d2 100644 --- a/administrator/components/com_config/controller/application/cancel.php +++ b/administrator/components/com_config/controller/application/cancel.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controller/application/display.php b/administrator/components/com_config/controller/application/display.php index c4a6b5b9774fc..75ed0ea9d8032 100644 --- a/administrator/components/com_config/controller/application/display.php +++ b/administrator/components/com_config/controller/application/display.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controller/application/removeroot.php b/administrator/components/com_config/controller/application/removeroot.php index 98806f6d60f6f..77df2aadc09c5 100644 --- a/administrator/components/com_config/controller/application/removeroot.php +++ b/administrator/components/com_config/controller/application/removeroot.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_config/controller/application/save.php b/administrator/components/com_config/controller/application/save.php index 4e999538f1ec8..fd6c78160e713 100644 --- a/administrator/components/com_config/controller/application/save.php +++ b/administrator/components/com_config/controller/application/save.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_config/controller/application/sendtestmail.php b/administrator/components/com_config/controller/application/sendtestmail.php index b4636df201912..4de91c8814524 100644 --- a/administrator/components/com_config/controller/application/sendtestmail.php +++ b/administrator/components/com_config/controller/application/sendtestmail.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_config/controller/application/store.php b/administrator/components/com_config/controller/application/store.php index ef588f3ebc8fc..dcd8dc9184d81 100644 --- a/administrator/components/com_config/controller/application/store.php +++ b/administrator/components/com_config/controller/application/store.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_config/controller/component/cancel.php b/administrator/components/com_config/controller/component/cancel.php index ec42372327829..8d5919f1a06dc 100644 --- a/administrator/components/com_config/controller/component/cancel.php +++ b/administrator/components/com_config/controller/component/cancel.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controller/component/display.php b/administrator/components/com_config/controller/component/display.php index c0d7aed521f19..456fcb788ec33 100644 --- a/administrator/components/com_config/controller/component/display.php +++ b/administrator/components/com_config/controller/component/display.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controller/component/save.php b/administrator/components/com_config/controller/component/save.php index f5dd80b954ae5..b0825aad4ec9c 100644 --- a/administrator/components/com_config/controller/component/save.php +++ b/administrator/components/com_config/controller/component/save.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controllers/application.php b/administrator/components/com_config/controllers/application.php index 03af706a4eac4..fe89752dcf232 100644 --- a/administrator/components/com_config/controllers/application.php +++ b/administrator/components/com_config/controllers/application.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/controllers/component.php b/administrator/components/com_config/controllers/component.php index 7255f0ec903ae..a6800ce05cec8 100644 --- a/administrator/components/com_config/controllers/component.php +++ b/administrator/components/com_config/controllers/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/helper/config.php b/administrator/components/com_config/helper/config.php index 50b9e1f7838c2..67bd435243830 100644 --- a/administrator/components/com_config/helper/config.php +++ b/administrator/components/com_config/helper/config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/model/application.php b/administrator/components/com_config/model/application.php index 9bce8d18e02a8..4abbbfaebc07c 100644 --- a/administrator/components/com_config/model/application.php +++ b/administrator/components/com_config/model/application.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/model/component.php b/administrator/components/com_config/model/component.php index 120533f97735b..e6db1e48eedea 100644 --- a/administrator/components/com_config/model/component.php +++ b/administrator/components/com_config/model/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/model/field/configcomponents.php b/administrator/components/com_config/model/field/configcomponents.php index 2e3f66a59cfe9..550c66524f159 100644 --- a/administrator/components/com_config/model/field/configcomponents.php +++ b/administrator/components/com_config/model/field/configcomponents.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/model/field/filters.php b/administrator/components/com_config/model/field/filters.php index 6ba682c96d9b9..204f59ad59747 100644 --- a/administrator/components/com_config/model/field/filters.php +++ b/administrator/components/com_config/model/field/filters.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/models/application.php b/administrator/components/com_config/models/application.php index 52e30aa2b4ecc..9263cf9bb6c5f 100644 --- a/administrator/components/com_config/models/application.php +++ b/administrator/components/com_config/models/application.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/models/component.php b/administrator/components/com_config/models/component.php index b6c2b8f7819c1..992333dc604d0 100644 --- a/administrator/components/com_config/models/component.php +++ b/administrator/components/com_config/models/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/html.php b/administrator/components/com_config/view/application/html.php index 6b656087528c2..39957c6dcdb8e 100644 --- a/administrator/components/com_config/view/application/html.php +++ b/administrator/components/com_config/view/application/html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/json.php b/administrator/components/com_config/view/application/json.php index 9e4b212957a89..cb814c0bb1b6f 100644 --- a/administrator/components/com_config/view/application/json.php +++ b/administrator/components/com_config/view/application/json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default.php b/administrator/components/com_config/view/application/tmpl/default.php index b0cf7d1113527..0d1829869fa1a 100644 --- a/administrator/components/com_config/view/application/tmpl/default.php +++ b/administrator/components/com_config/view/application/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_cache.php b/administrator/components/com_config/view/application/tmpl/default_cache.php index 801303c25b1a4..c3dfffdd5f69b 100644 --- a/administrator/components/com_config/view/application/tmpl/default_cache.php +++ b/administrator/components/com_config/view/application/tmpl/default_cache.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_cookie.php b/administrator/components/com_config/view/application/tmpl/default_cookie.php index 1a12b54946010..1380984ec19b3 100644 --- a/administrator/components/com_config/view/application/tmpl/default_cookie.php +++ b/administrator/components/com_config/view/application/tmpl/default_cookie.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_database.php b/administrator/components/com_config/view/application/tmpl/default_database.php index 9361dea9bf596..b667d365b3f83 100644 --- a/administrator/components/com_config/view/application/tmpl/default_database.php +++ b/administrator/components/com_config/view/application/tmpl/default_database.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_debug.php b/administrator/components/com_config/view/application/tmpl/default_debug.php index d6a72c9578e62..97882fa933dec 100644 --- a/administrator/components/com_config/view/application/tmpl/default_debug.php +++ b/administrator/components/com_config/view/application/tmpl/default_debug.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_filters.php b/administrator/components/com_config/view/application/tmpl/default_filters.php index 504572e950fe4..fb419a0b3dc0b 100644 --- a/administrator/components/com_config/view/application/tmpl/default_filters.php +++ b/administrator/components/com_config/view/application/tmpl/default_filters.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_ftp.php b/administrator/components/com_config/view/application/tmpl/default_ftp.php index a0fffe48ecc0e..8f030252b6133 100644 --- a/administrator/components/com_config/view/application/tmpl/default_ftp.php +++ b/administrator/components/com_config/view/application/tmpl/default_ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_ftplogin.php b/administrator/components/com_config/view/application/tmpl/default_ftplogin.php index 18695365451c1..fdb4998d616db 100644 --- a/administrator/components/com_config/view/application/tmpl/default_ftplogin.php +++ b/administrator/components/com_config/view/application/tmpl/default_ftplogin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_locale.php b/administrator/components/com_config/view/application/tmpl/default_locale.php index 1774bb3828194..8b4aa72c0fb4e 100644 --- a/administrator/components/com_config/view/application/tmpl/default_locale.php +++ b/administrator/components/com_config/view/application/tmpl/default_locale.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_mail.php b/administrator/components/com_config/view/application/tmpl/default_mail.php index 795808c3bf100..e5151c1d7e44d 100644 --- a/administrator/components/com_config/view/application/tmpl/default_mail.php +++ b/administrator/components/com_config/view/application/tmpl/default_mail.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_metadata.php b/administrator/components/com_config/view/application/tmpl/default_metadata.php index 3a55cf5d20c02..825383a6be21b 100644 --- a/administrator/components/com_config/view/application/tmpl/default_metadata.php +++ b/administrator/components/com_config/view/application/tmpl/default_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_navigation.php b/administrator/components/com_config/view/application/tmpl/default_navigation.php index 5c1224f168844..27e9272f9233e 100644 --- a/administrator/components/com_config/view/application/tmpl/default_navigation.php +++ b/administrator/components/com_config/view/application/tmpl/default_navigation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_permissions.php b/administrator/components/com_config/view/application/tmpl/default_permissions.php index 0110c017863ca..cf5ece8b683ae 100644 --- a/administrator/components/com_config/view/application/tmpl/default_permissions.php +++ b/administrator/components/com_config/view/application/tmpl/default_permissions.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_proxy.php b/administrator/components/com_config/view/application/tmpl/default_proxy.php index 528025e522c76..2fb9c48577a8e 100644 --- a/administrator/components/com_config/view/application/tmpl/default_proxy.php +++ b/administrator/components/com_config/view/application/tmpl/default_proxy.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_seo.php b/administrator/components/com_config/view/application/tmpl/default_seo.php index 7a65e47626868..c54fd195aea72 100644 --- a/administrator/components/com_config/view/application/tmpl/default_seo.php +++ b/administrator/components/com_config/view/application/tmpl/default_seo.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_server.php b/administrator/components/com_config/view/application/tmpl/default_server.php index 1fab0987b7a0e..9b23386969611 100644 --- a/administrator/components/com_config/view/application/tmpl/default_server.php +++ b/administrator/components/com_config/view/application/tmpl/default_server.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_session.php b/administrator/components/com_config/view/application/tmpl/default_session.php index c34c46f51138b..4b6ccdaaafa5d 100644 --- a/administrator/components/com_config/view/application/tmpl/default_session.php +++ b/administrator/components/com_config/view/application/tmpl/default_session.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_site.php b/administrator/components/com_config/view/application/tmpl/default_site.php index 5cd4d6cfbc01d..275274855e599 100644 --- a/administrator/components/com_config/view/application/tmpl/default_site.php +++ b/administrator/components/com_config/view/application/tmpl/default_site.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/application/tmpl/default_system.php b/administrator/components/com_config/view/application/tmpl/default_system.php index 91cc59ded441f..de2ad23aba16f 100644 --- a/administrator/components/com_config/view/application/tmpl/default_system.php +++ b/administrator/components/com_config/view/application/tmpl/default_system.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/component/html.php b/administrator/components/com_config/view/component/html.php index c6e0f5f06e9ed..efc090ffaa115 100644 --- a/administrator/components/com_config/view/component/html.php +++ b/administrator/components/com_config/view/component/html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/component/tmpl/default.php b/administrator/components/com_config/view/component/tmpl/default.php index 5b0d347e7a98d..f52399e951c17 100644 --- a/administrator/components/com_config/view/component/tmpl/default.php +++ b/administrator/components/com_config/view/component/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_config/view/component/tmpl/default_navigation.php b/administrator/components/com_config/view/component/tmpl/default_navigation.php index cc4ca57a43c1c..c26bbee57fa96 100644 --- a/administrator/components/com_config/view/component/tmpl/default_navigation.php +++ b/administrator/components/com_config/view/component/tmpl/default_navigation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/contact.php b/administrator/components/com_contact/contact.php index 409cb879759b4..af2db364c682f 100644 --- a/administrator/components/com_contact/contact.php +++ b/administrator/components/com_contact/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/contact.xml b/administrator/components/com_contact/contact.xml index bf820c75eead8..b285029f92aa3 100644 --- a/administrator/components/com_contact/contact.xml +++ b/administrator/components/com_contact/contact.xml @@ -3,7 +3,7 @@ <name>com_contact</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_contact/controller.php b/administrator/components/com_contact/controller.php index 963f05abc8b64..5169195180191 100644 --- a/administrator/components/com_contact/controller.php +++ b/administrator/components/com_contact/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/controllers/contact.php b/administrator/components/com_contact/controllers/contact.php index 088f51b5b4958..2f69d30bfd993 100644 --- a/administrator/components/com_contact/controllers/contact.php +++ b/administrator/components/com_contact/controllers/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/controllers/contacts.php b/administrator/components/com_contact/controllers/contacts.php index c8c63f1231763..b800b51f7d54e 100644 --- a/administrator/components/com_contact/controllers/contacts.php +++ b/administrator/components/com_contact/controllers/contacts.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/helpers/associations.php b/administrator/components/com_contact/helpers/associations.php index 1538cee2e459e..be5ebdbede39e 100644 --- a/administrator/components/com_contact/helpers/associations.php +++ b/administrator/components/com_contact/helpers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/helpers/contact.php b/administrator/components/com_contact/helpers/contact.php index 07d3a344ad3c7..fd345ef6dd42f 100644 --- a/administrator/components/com_contact/helpers/contact.php +++ b/administrator/components/com_contact/helpers/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/helpers/html/contact.php b/administrator/components/com_contact/helpers/html/contact.php index 6314c7a0b0eb3..4e0915975a595 100644 --- a/administrator/components/com_contact/helpers/html/contact.php +++ b/administrator/components/com_contact/helpers/html/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/models/contact.php b/administrator/components/com_contact/models/contact.php index 8795988f3aa3e..d279e57dd548e 100644 --- a/administrator/components/com_contact/models/contact.php +++ b/administrator/components/com_contact/models/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/models/contacts.php b/administrator/components/com_contact/models/contacts.php index 58b86ac038c4d..287f732c55110 100644 --- a/administrator/components/com_contact/models/contacts.php +++ b/administrator/components/com_contact/models/contacts.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/models/fields/modal/contact.php b/administrator/components/com_contact/models/fields/modal/contact.php index b8f84ccc75fef..e03511d6855c3 100644 --- a/administrator/components/com_contact/models/fields/modal/contact.php +++ b/administrator/components/com_contact/models/fields/modal/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/tables/contact.php b/administrator/components/com_contact/tables/contact.php index 5c67d62db63bf..cc137a712b4a5 100644 --- a/administrator/components/com_contact/tables/contact.php +++ b/administrator/components/com_contact/tables/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/edit.php b/administrator/components/com_contact/views/contact/tmpl/edit.php index d8c624e1ff0bf..38313b9f5e202 100644 --- a/administrator/components/com_contact/views/contact/tmpl/edit.php +++ b/administrator/components/com_contact/views/contact/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/edit_associations.php b/administrator/components/com_contact/views/contact/tmpl/edit_associations.php index 152abcd82c017..2aebf23a4a27b 100644 --- a/administrator/components/com_contact/views/contact/tmpl/edit_associations.php +++ b/administrator/components/com_contact/views/contact/tmpl/edit_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/edit_metadata.php b/administrator/components/com_contact/views/contact/tmpl/edit_metadata.php index 3e815e20f2dc2..3194ca935857c 100644 --- a/administrator/components/com_contact/views/contact/tmpl/edit_metadata.php +++ b/administrator/components/com_contact/views/contact/tmpl/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/edit_params.php b/administrator/components/com_contact/views/contact/tmpl/edit_params.php index 92115983f4213..6088e67c10fc8 100644 --- a/administrator/components/com_contact/views/contact/tmpl/edit_params.php +++ b/administrator/components/com_contact/views/contact/tmpl/edit_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/modal.php b/administrator/components/com_contact/views/contact/tmpl/modal.php index 50bee08bf17b0..3a551aa7e1e1a 100644 --- a/administrator/components/com_contact/views/contact/tmpl/modal.php +++ b/administrator/components/com_contact/views/contact/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/modal_associations.php b/administrator/components/com_contact/views/contact/tmpl/modal_associations.php index 152abcd82c017..2aebf23a4a27b 100644 --- a/administrator/components/com_contact/views/contact/tmpl/modal_associations.php +++ b/administrator/components/com_contact/views/contact/tmpl/modal_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/modal_metadata.php b/administrator/components/com_contact/views/contact/tmpl/modal_metadata.php index 3e815e20f2dc2..3194ca935857c 100644 --- a/administrator/components/com_contact/views/contact/tmpl/modal_metadata.php +++ b/administrator/components/com_contact/views/contact/tmpl/modal_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/tmpl/modal_params.php b/administrator/components/com_contact/views/contact/tmpl/modal_params.php index 92115983f4213..6088e67c10fc8 100644 --- a/administrator/components/com_contact/views/contact/tmpl/modal_params.php +++ b/administrator/components/com_contact/views/contact/tmpl/modal_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contact/view.html.php b/administrator/components/com_contact/views/contact/view.html.php index 57d367bf16b4a..1e109067633ed 100644 --- a/administrator/components/com_contact/views/contact/view.html.php +++ b/administrator/components/com_contact/views/contact/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contacts/tmpl/default.php b/administrator/components/com_contact/views/contacts/tmpl/default.php index 0883511d7035e..23cf5d561c82f 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/default.php +++ b/administrator/components/com_contact/views/contacts/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch.php index 0d3e882454412..136e9384bb156 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/default_batch.php +++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php index 68ad1a9ef8a20..16fd78fbb7325 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php +++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php index 50b3ec588949c..500e7dd2df8d8 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php +++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_contact/views/contacts/tmpl/modal.php b/administrator/components/com_contact/views/contacts/tmpl/modal.php index 61483e5a9ee0a..b21656051d316 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/modal.php +++ b/administrator/components/com_contact/views/contacts/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contact/views/contacts/view.html.php b/administrator/components/com_contact/views/contacts/view.html.php index c3bdce72110c1..9233fca34d001 100644 --- a/administrator/components/com_contact/views/contacts/view.html.php +++ b/administrator/components/com_contact/views/contacts/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/content.php b/administrator/components/com_content/content.php index 1f8504b1e6f70..9ca9f5580506c 100644 --- a/administrator/components/com_content/content.php +++ b/administrator/components/com_content/content.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/content.xml b/administrator/components/com_content/content.xml index 472164a470eeb..2e07450a236cc 100644 --- a/administrator/components/com_content/content.xml +++ b/administrator/components/com_content/content.xml @@ -3,7 +3,7 @@ <name>com_content</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_content/controller.php b/administrator/components/com_content/controller.php index 34d876074484e..cead07fb6cd95 100644 --- a/administrator/components/com_content/controller.php +++ b/administrator/components/com_content/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/controllers/article.php b/administrator/components/com_content/controllers/article.php index 705584b51db57..1a504d40d1896 100644 --- a/administrator/components/com_content/controllers/article.php +++ b/administrator/components/com_content/controllers/article.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/controllers/articles.php b/administrator/components/com_content/controllers/articles.php index 82ae9ccbcd184..85948486d7f20 100644 --- a/administrator/components/com_content/controllers/articles.php +++ b/administrator/components/com_content/controllers/articles.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/controllers/featured.php b/administrator/components/com_content/controllers/featured.php index e3ef401689e91..f5ffbbc144d21 100644 --- a/administrator/components/com_content/controllers/featured.php +++ b/administrator/components/com_content/controllers/featured.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/helpers/associations.php b/administrator/components/com_content/helpers/associations.php index 7829dd6f6ae69..24aa985151908 100644 --- a/administrator/components/com_content/helpers/associations.php +++ b/administrator/components/com_content/helpers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/helpers/content.php b/administrator/components/com_content/helpers/content.php index be806fc1782e1..42b73b5b9ed7a 100644 --- a/administrator/components/com_content/helpers/content.php +++ b/administrator/components/com_content/helpers/content.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/helpers/html/contentadministrator.php b/administrator/components/com_content/helpers/html/contentadministrator.php index fa9a1d9b8c3a7..821c9d2d01da7 100644 --- a/administrator/components/com_content/helpers/html/contentadministrator.php +++ b/administrator/components/com_content/helpers/html/contentadministrator.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/article.php b/administrator/components/com_content/models/article.php index 4e49a42bbb635..5b193b3e36679 100644 --- a/administrator/components/com_content/models/article.php +++ b/administrator/components/com_content/models/article.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/articles.php b/administrator/components/com_content/models/articles.php index 6ec9b91febb3c..ea71cb9334c93 100644 --- a/administrator/components/com_content/models/articles.php +++ b/administrator/components/com_content/models/articles.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/feature.php b/administrator/components/com_content/models/feature.php index 69fe1346bcc27..34f0c2ed6cdef 100644 --- a/administrator/components/com_content/models/feature.php +++ b/administrator/components/com_content/models/feature.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/featured.php b/administrator/components/com_content/models/featured.php index 554dc0a4b14c4..81af7d7f57f5d 100644 --- a/administrator/components/com_content/models/featured.php +++ b/administrator/components/com_content/models/featured.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/fields/modal/article.php b/administrator/components/com_content/models/fields/modal/article.php index 639db98ed1c5c..28934a3cc7131 100644 --- a/administrator/components/com_content/models/fields/modal/article.php +++ b/administrator/components/com_content/models/fields/modal/article.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/models/fields/voteradio.php b/administrator/components/com_content/models/fields/voteradio.php index bb4323c9314b0..2a2d2a63bd16c 100644 --- a/administrator/components/com_content/models/fields/voteradio.php +++ b/administrator/components/com_content/models/fields/voteradio.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/tables/featured.php b/administrator/components/com_content/tables/featured.php index b472a692d7d38..2fd7614778fb7 100644 --- a/administrator/components/com_content/tables/featured.php +++ b/administrator/components/com_content/tables/featured.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/edit.php b/administrator/components/com_content/views/article/tmpl/edit.php index cdbd053a5a11e..4e0a15cab02a2 100644 --- a/administrator/components/com_content/views/article/tmpl/edit.php +++ b/administrator/components/com_content/views/article/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/edit_associations.php b/administrator/components/com_content/views/article/tmpl/edit_associations.php index 76cd3dd2e934f..9638336872009 100644 --- a/administrator/components/com_content/views/article/tmpl/edit_associations.php +++ b/administrator/components/com_content/views/article/tmpl/edit_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/edit_metadata.php b/administrator/components/com_content/views/article/tmpl/edit_metadata.php index 8560b8731de23..764ea0ee1a9c2 100644 --- a/administrator/components/com_content/views/article/tmpl/edit_metadata.php +++ b/administrator/components/com_content/views/article/tmpl/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/modal.php b/administrator/components/com_content/views/article/tmpl/modal.php index 84b0775f5a2a0..28dfda203796b 100644 --- a/administrator/components/com_content/views/article/tmpl/modal.php +++ b/administrator/components/com_content/views/article/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/modal_associations.php b/administrator/components/com_content/views/article/tmpl/modal_associations.php index 76cd3dd2e934f..9638336872009 100644 --- a/administrator/components/com_content/views/article/tmpl/modal_associations.php +++ b/administrator/components/com_content/views/article/tmpl/modal_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/modal_metadata.php b/administrator/components/com_content/views/article/tmpl/modal_metadata.php index 8560b8731de23..764ea0ee1a9c2 100644 --- a/administrator/components/com_content/views/article/tmpl/modal_metadata.php +++ b/administrator/components/com_content/views/article/tmpl/modal_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/tmpl/pagebreak.php b/administrator/components/com_content/views/article/tmpl/pagebreak.php index 2941fa70722e0..a9684c5ae3508 100644 --- a/administrator/components/com_content/views/article/tmpl/pagebreak.php +++ b/administrator/components/com_content/views/article/tmpl/pagebreak.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/article/view.html.php b/administrator/components/com_content/views/article/view.html.php index 6942e8249d006..f0bfabc687c40 100644 --- a/administrator/components/com_content/views/article/view.html.php +++ b/administrator/components/com_content/views/article/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/articles/tmpl/default.php b/administrator/components/com_content/views/articles/tmpl/default.php index b07ee3fa08b2b..14d5f48f0c6b9 100644 --- a/administrator/components/com_content/views/articles/tmpl/default.php +++ b/administrator/components/com_content/views/articles/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/articles/tmpl/default_batch_body.php b/administrator/components/com_content/views/articles/tmpl/default_batch_body.php index 0e4b61a3e5aba..73afe728bfa56 100644 --- a/administrator/components/com_content/views/articles/tmpl/default_batch_body.php +++ b/administrator/components/com_content/views/articles/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php b/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php index d31131ee2c927..5be5d8c979435 100644 --- a/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php +++ b/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_content/views/articles/tmpl/modal.php b/administrator/components/com_content/views/articles/tmpl/modal.php index c148e7fe4c506..53cf4332a6541 100644 --- a/administrator/components/com_content/views/articles/tmpl/modal.php +++ b/administrator/components/com_content/views/articles/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/articles/view.html.php b/administrator/components/com_content/views/articles/view.html.php index 042122b50d10c..3ce0edcb5fe10 100644 --- a/administrator/components/com_content/views/articles/view.html.php +++ b/administrator/components/com_content/views/articles/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/featured/tmpl/default.php b/administrator/components/com_content/views/featured/tmpl/default.php index fb07cd68fec4e..b6124c6e38a45 100644 --- a/administrator/components/com_content/views/featured/tmpl/default.php +++ b/administrator/components/com_content/views/featured/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_content/views/featured/view.html.php b/administrator/components/com_content/views/featured/view.html.php index 1652008d26dcf..3a213b011cf35 100644 --- a/administrator/components/com_content/views/featured/view.html.php +++ b/administrator/components/com_content/views/featured/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/contenthistory.php b/administrator/components/com_contenthistory/contenthistory.php index e77df780dbc03..e7308dd000ed4 100644 --- a/administrator/components/com_contenthistory/contenthistory.php +++ b/administrator/components/com_contenthistory/contenthistory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/contenthistory.xml b/administrator/components/com_contenthistory/contenthistory.xml index 3053b02441307..1e878284c7d14 100644 --- a/administrator/components/com_contenthistory/contenthistory.xml +++ b/administrator/components/com_contenthistory/contenthistory.xml @@ -3,7 +3,7 @@ <name>com_contenthistory</name> <author>Joomla! Project</author> <creationDate>May 2013</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_contenthistory/controller.php b/administrator/components/com_contenthistory/controller.php index e7187bb833463..fb828a28bb64a 100644 --- a/administrator/components/com_contenthistory/controller.php +++ b/administrator/components/com_contenthistory/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/controllers/history.php b/administrator/components/com_contenthistory/controllers/history.php index a41d010d73ad5..1802a9431bb5e 100644 --- a/administrator/components/com_contenthistory/controllers/history.php +++ b/administrator/components/com_contenthistory/controllers/history.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/controllers/preview.php b/administrator/components/com_contenthistory/controllers/preview.php index 2d18cbe9ef611..1f926454130f3 100644 --- a/administrator/components/com_contenthistory/controllers/preview.php +++ b/administrator/components/com_contenthistory/controllers/preview.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/helpers/contenthistory.php b/administrator/components/com_contenthistory/helpers/contenthistory.php index 2b5801ea75710..9077ef75b88a2 100644 --- a/administrator/components/com_contenthistory/helpers/contenthistory.php +++ b/administrator/components/com_contenthistory/helpers/contenthistory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/helpers/html/textdiff.php b/administrator/components/com_contenthistory/helpers/html/textdiff.php index 01906194ec875..c81a9c3e7d87b 100644 --- a/administrator/components/com_contenthistory/helpers/html/textdiff.php +++ b/administrator/components/com_contenthistory/helpers/html/textdiff.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/models/compare.php b/administrator/components/com_contenthistory/models/compare.php index e753b3cc788c7..679d2cd7df5f0 100644 --- a/administrator/components/com_contenthistory/models/compare.php +++ b/administrator/components/com_contenthistory/models/compare.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/models/history.php b/administrator/components/com_contenthistory/models/history.php index 166b5927cc4dd..41d032eb7ba5b 100644 --- a/administrator/components/com_contenthistory/models/history.php +++ b/administrator/components/com_contenthistory/models/history.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/models/preview.php b/administrator/components/com_contenthistory/models/preview.php index 334da24e88659..a7cf8d1b011e5 100644 --- a/administrator/components/com_contenthistory/models/preview.php +++ b/administrator/components/com_contenthistory/models/preview.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/compare/tmpl/compare.php b/administrator/components/com_contenthistory/views/compare/tmpl/compare.php index 84fb6ae42a968..2b7db450efb34 100644 --- a/administrator/components/com_contenthistory/views/compare/tmpl/compare.php +++ b/administrator/components/com_contenthistory/views/compare/tmpl/compare.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/compare/view.html.php b/administrator/components/com_contenthistory/views/compare/view.html.php index d02063defff09..59d2718c1d65e 100644 --- a/administrator/components/com_contenthistory/views/compare/view.html.php +++ b/administrator/components/com_contenthistory/views/compare/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/history/tmpl/modal.php b/administrator/components/com_contenthistory/views/history/tmpl/modal.php index ce6de9d985568..8f49b1a70bbc6 100644 --- a/administrator/components/com_contenthistory/views/history/tmpl/modal.php +++ b/administrator/components/com_contenthistory/views/history/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/history/view.html.php b/administrator/components/com_contenthistory/views/history/view.html.php index c26fcdc291b72..0cb7e07870595 100644 --- a/administrator/components/com_contenthistory/views/history/view.html.php +++ b/administrator/components/com_contenthistory/views/history/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/preview/tmpl/preview.php b/administrator/components/com_contenthistory/views/preview/tmpl/preview.php index 5243c14f14bfb..540a635b4d317 100644 --- a/administrator/components/com_contenthistory/views/preview/tmpl/preview.php +++ b/administrator/components/com_contenthistory/views/preview/tmpl/preview.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_contenthistory/views/preview/view.html.php b/administrator/components/com_contenthistory/views/preview/view.html.php index 84d1932eb2de7..8b3a00b16e438 100644 --- a/administrator/components/com_contenthistory/views/preview/view.html.php +++ b/administrator/components/com_contenthistory/views/preview/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cpanel/controller.php b/administrator/components/com_cpanel/controller.php index 8b6415e5c56d0..88971f64bc608 100644 --- a/administrator/components/com_cpanel/controller.php +++ b/administrator/components/com_cpanel/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cpanel * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cpanel/cpanel.php b/administrator/components/com_cpanel/cpanel.php index 69e7e5853586e..c075c62355510 100644 --- a/administrator/components/com_cpanel/cpanel.php +++ b/administrator/components/com_cpanel/cpanel.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cpanel * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cpanel/cpanel.xml b/administrator/components/com_cpanel/cpanel.xml index 4db0bcf6e3ced..ee09c6ee56243 100644 --- a/administrator/components/com_cpanel/cpanel.xml +++ b/administrator/components/com_cpanel/cpanel.xml @@ -3,7 +3,7 @@ <name>com_cpanel</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_cpanel/views/cpanel/tmpl/default.php b/administrator/components/com_cpanel/views/cpanel/tmpl/default.php index 27b5d7824cf20..7523a689d5f1d 100644 --- a/administrator/components/com_cpanel/views/cpanel/tmpl/default.php +++ b/administrator/components/com_cpanel/views/cpanel/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cpanel * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_cpanel/views/cpanel/view.html.php b/administrator/components/com_cpanel/views/cpanel/view.html.php index 54e05b29a4da0..18e215b91326b 100644 --- a/administrator/components/com_cpanel/views/cpanel/view.html.php +++ b/administrator/components/com_cpanel/views/cpanel/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cpanel * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_fields/controller.php b/administrator/components/com_fields/controller.php index b3bbeed9ff8ec..6acbf0a96c251 100644 --- a/administrator/components/com_fields/controller.php +++ b/administrator/components/com_fields/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/controllers/field.php b/administrator/components/com_fields/controllers/field.php index 200924499d762..3b6d8f90c4be7 100644 --- a/administrator/components/com_fields/controllers/field.php +++ b/administrator/components/com_fields/controllers/field.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/controllers/fields.php b/administrator/components/com_fields/controllers/fields.php index 5d98d5a14c3b3..d6429e2756bac 100644 --- a/administrator/components/com_fields/controllers/fields.php +++ b/administrator/components/com_fields/controllers/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/controllers/group.php b/administrator/components/com_fields/controllers/group.php index ea6ab488c1e8d..d2e9a21bce9db 100644 --- a/administrator/components/com_fields/controllers/group.php +++ b/administrator/components/com_fields/controllers/group.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/controllers/groups.php b/administrator/components/com_fields/controllers/groups.php index 8b051a1fb13e9..b2fb9a30c1ff9 100644 --- a/administrator/components/com_fields/controllers/groups.php +++ b/administrator/components/com_fields/controllers/groups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/fields.php b/administrator/components/com_fields/fields.php index 0b806a0d3d4ca..7e0d4eafb7f31 100644 --- a/administrator/components/com_fields/fields.php +++ b/administrator/components/com_fields/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/fields.xml b/administrator/components/com_fields/fields.xml index 63bdec64a3986..9920c0a5ad6c6 100644 --- a/administrator/components/com_fields/fields.xml +++ b/administrator/components/com_fields/fields.xml @@ -3,7 +3,7 @@ <name>com_fields</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 603621063c338..25fb66d220956 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/libraries/fieldslistplugin.php b/administrator/components/com_fields/libraries/fieldslistplugin.php index bdcda0cdce884..e01ce2ba5d211 100644 --- a/administrator/components/com_fields/libraries/fieldslistplugin.php +++ b/administrator/components/com_fields/libraries/fieldslistplugin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/libraries/fieldsplugin.php b/administrator/components/com_fields/libraries/fieldsplugin.php index ff7e826c9f656..9cf4eb6bb3e36 100644 --- a/administrator/components/com_fields/libraries/fieldsplugin.php +++ b/administrator/components/com_fields/libraries/fieldsplugin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/field.php b/administrator/components/com_fields/models/field.php index a8b830d1fd689..02802f897d0ef 100644 --- a/administrator/components/com_fields/models/field.php +++ b/administrator/components/com_fields/models/field.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/fields.php b/administrator/components/com_fields/models/fields.php index fb31386d071d5..271191d1c8e33 100644 --- a/administrator/components/com_fields/models/fields.php +++ b/administrator/components/com_fields/models/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/fields/fieldcontexts.php b/administrator/components/com_fields/models/fields/fieldcontexts.php index 7678f5a99c0d0..262c4f1447302 100644 --- a/administrator/components/com_fields/models/fields/fieldcontexts.php +++ b/administrator/components/com_fields/models/fields/fieldcontexts.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/fields/fieldgroups.php b/administrator/components/com_fields/models/fields/fieldgroups.php index 5fb101b24293a..7932d50186a0f 100644 --- a/administrator/components/com_fields/models/fields/fieldgroups.php +++ b/administrator/components/com_fields/models/fields/fieldgroups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/fields/section.php b/administrator/components/com_fields/models/fields/section.php index c00cb6d8961a6..75b99bd70ce7b 100644 --- a/administrator/components/com_fields/models/fields/section.php +++ b/administrator/components/com_fields/models/fields/section.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/fields/type.php b/administrator/components/com_fields/models/fields/type.php index 216310d05208a..05b3270ba72d3 100644 --- a/administrator/components/com_fields/models/fields/type.php +++ b/administrator/components/com_fields/models/fields/type.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/group.php b/administrator/components/com_fields/models/group.php index bb3e35a176098..d8f8c087ed470 100644 --- a/administrator/components/com_fields/models/group.php +++ b/administrator/components/com_fields/models/group.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/models/groups.php b/administrator/components/com_fields/models/groups.php index bf0edd52e1685..93ddb6632d00c 100644 --- a/administrator/components/com_fields/models/groups.php +++ b/administrator/components/com_fields/models/groups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/tables/field.php b/administrator/components/com_fields/tables/field.php index 452e4398b1fa9..daf46e6874b5a 100644 --- a/administrator/components/com_fields/tables/field.php +++ b/administrator/components/com_fields/tables/field.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/tables/group.php b/administrator/components/com_fields/tables/group.php index 200231e56a3da..cec38c262417d 100644 --- a/administrator/components/com_fields/tables/group.php +++ b/administrator/components/com_fields/tables/group.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/field/tmpl/edit.php b/administrator/components/com_fields/views/field/tmpl/edit.php index d3d1f9d528548..991273c74cbdf 100644 --- a/administrator/components/com_fields/views/field/tmpl/edit.php +++ b/administrator/components/com_fields/views/field/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/field/view.html.php b/administrator/components/com_fields/views/field/view.html.php index 8c7940a725a80..2c665643a2285 100644 --- a/administrator/components/com_fields/views/field/view.html.php +++ b/administrator/components/com_fields/views/field/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/fields/tmpl/default.php b/administrator/components/com_fields/views/fields/tmpl/default.php index cb96ce15463ad..34fda9402c41c 100644 --- a/administrator/components/com_fields/views/fields/tmpl/default.php +++ b/administrator/components/com_fields/views/fields/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php b/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php index c94034c2231da..fabf1e1e61562 100644 --- a/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php +++ b/administrator/components/com_fields/views/fields/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php b/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php index d57e3cb48a783..10ca5b037e684 100644 --- a/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php +++ b/administrator/components/com_fields/views/fields/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/fields/tmpl/modal.php b/administrator/components/com_fields/views/fields/tmpl/modal.php index d2e551cc37d51..2c5cb5890f0a3 100644 --- a/administrator/components/com_fields/views/fields/tmpl/modal.php +++ b/administrator/components/com_fields/views/fields/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_fields/views/fields/view.html.php b/administrator/components/com_fields/views/fields/view.html.php index da6aa7f407f92..d2e72347a7722 100644 --- a/administrator/components/com_fields/views/fields/view.html.php +++ b/administrator/components/com_fields/views/fields/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/group/tmpl/edit.php b/administrator/components/com_fields/views/group/tmpl/edit.php index b4f8f890394c1..e00f223e871c5 100644 --- a/administrator/components/com_fields/views/group/tmpl/edit.php +++ b/administrator/components/com_fields/views/group/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/group/view.html.php b/administrator/components/com_fields/views/group/view.html.php index 0b5789c33aace..c017989773556 100644 --- a/administrator/components/com_fields/views/group/view.html.php +++ b/administrator/components/com_fields/views/group/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/groups/tmpl/default.php b/administrator/components/com_fields/views/groups/tmpl/default.php index a3006194aa3ab..65da48e8832c9 100644 --- a/administrator/components/com_fields/views/groups/tmpl/default.php +++ b/administrator/components/com_fields/views/groups/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/groups/tmpl/default_batch_body.php b/administrator/components/com_fields/views/groups/tmpl/default_batch_body.php index d42f8af576fbb..e9e7a76e9c286 100644 --- a/administrator/components/com_fields/views/groups/tmpl/default_batch_body.php +++ b/administrator/components/com_fields/views/groups/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php b/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php index d623161e022fd..4fcb5c8f3596b 100644 --- a/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php +++ b/administrator/components/com_fields/views/groups/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_fields/views/groups/view.html.php b/administrator/components/com_fields/views/groups/view.html.php index 3450e1acec288..f08cc0d666dbd 100644 --- a/administrator/components/com_fields/views/groups/view.html.php +++ b/administrator/components/com_fields/views/groups/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_finder/controller.php b/administrator/components/com_finder/controller.php index 197ece9389b08..339dc9b4571f1 100644 --- a/administrator/components/com_finder/controller.php +++ b/administrator/components/com_finder/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/controllers/filter.php b/administrator/components/com_finder/controllers/filter.php index a753539ad9a36..2948b065235ea 100644 --- a/administrator/components/com_finder/controllers/filter.php +++ b/administrator/components/com_finder/controllers/filter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/controllers/filters.php b/administrator/components/com_finder/controllers/filters.php index efd2bac416c2e..f9c045f20af53 100644 --- a/administrator/components/com_finder/controllers/filters.php +++ b/administrator/components/com_finder/controllers/filters.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/controllers/index.php b/administrator/components/com_finder/controllers/index.php index 0be6d0054d77d..6c1de7509fbc1 100644 --- a/administrator/components/com_finder/controllers/index.php +++ b/administrator/components/com_finder/controllers/index.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/controllers/indexer.json.php b/administrator/components/com_finder/controllers/indexer.json.php index af38acae05093..b9c087b3e96a3 100644 --- a/administrator/components/com_finder/controllers/indexer.json.php +++ b/administrator/components/com_finder/controllers/indexer.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/controllers/maps.php b/administrator/components/com_finder/controllers/maps.php index 24b4413fcda6f..0a31778d128c9 100644 --- a/administrator/components/com_finder/controllers/maps.php +++ b/administrator/components/com_finder/controllers/maps.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/finder.php b/administrator/components/com_finder/finder.php index fc2aab405eced..4318352a8b47e 100644 --- a/administrator/components/com_finder/finder.php +++ b/administrator/components/com_finder/finder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/finder.xml b/administrator/components/com_finder/finder.xml index 1b9d4fb7a66fd..4a232b08a11b2 100644 --- a/administrator/components/com_finder/finder.xml +++ b/administrator/components/com_finder/finder.xml @@ -2,7 +2,7 @@ <extension type="component" version="3.1" method="upgrade"> <name>com_finder</name> <author>Joomla! Project</author> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <creationDate>August 2011</creationDate> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/components/com_finder/helpers/finder.php b/administrator/components/com_finder/helpers/finder.php index c54d0a160acca..3441420f4563d 100644 --- a/administrator/components/com_finder/helpers/finder.php +++ b/administrator/components/com_finder/helpers/finder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/html/finder.php b/administrator/components/com_finder/helpers/html/finder.php index 1daa519138692..6995cd42890e9 100644 --- a/administrator/components/com_finder/helpers/html/finder.php +++ b/administrator/components/com_finder/helpers/html/finder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/adapter.php b/administrator/components/com_finder/helpers/indexer/adapter.php index 22f1ab5cc2b01..76c357a329e3e 100644 --- a/administrator/components/com_finder/helpers/indexer/adapter.php +++ b/administrator/components/com_finder/helpers/indexer/adapter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/driver/mysql.php b/administrator/components/com_finder/helpers/indexer/driver/mysql.php index a5eeb53db9e1c..c91c1295e24a9 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/mysql.php +++ b/administrator/components/com_finder/helpers/indexer/driver/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php index 399ee560c9e61..cc3a32055eba9 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php +++ b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php b/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php index 2b7480a3baecb..dd975dc1e9470 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php +++ b/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/helper.php b/administrator/components/com_finder/helpers/indexer/helper.php index e6560d43d5627..759468052f40b 100644 --- a/administrator/components/com_finder/helpers/indexer/helper.php +++ b/administrator/components/com_finder/helpers/indexer/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/indexer.php b/administrator/components/com_finder/helpers/indexer/indexer.php index 22885b72703b7..d532d54cf9ae3 100644 --- a/administrator/components/com_finder/helpers/indexer/indexer.php +++ b/administrator/components/com_finder/helpers/indexer/indexer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/parser.php b/administrator/components/com_finder/helpers/indexer/parser.php index 04cd9614586f6..9237195a3be18 100644 --- a/administrator/components/com_finder/helpers/indexer/parser.php +++ b/administrator/components/com_finder/helpers/indexer/parser.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/parser/html.php b/administrator/components/com_finder/helpers/indexer/parser/html.php index bb0fb1bd7f067..4bf1e79b8dfce 100644 --- a/administrator/components/com_finder/helpers/indexer/parser/html.php +++ b/administrator/components/com_finder/helpers/indexer/parser/html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/parser/rtf.php b/administrator/components/com_finder/helpers/indexer/parser/rtf.php index e230608085775..fbb2563d2c4db 100644 --- a/administrator/components/com_finder/helpers/indexer/parser/rtf.php +++ b/administrator/components/com_finder/helpers/indexer/parser/rtf.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/parser/txt.php b/administrator/components/com_finder/helpers/indexer/parser/txt.php index 15a11387858ef..4b8b516823589 100644 --- a/administrator/components/com_finder/helpers/indexer/parser/txt.php +++ b/administrator/components/com_finder/helpers/indexer/parser/txt.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/query.php b/administrator/components/com_finder/helpers/indexer/query.php index c5fc84e3131f0..cd4fd873aef01 100644 --- a/administrator/components/com_finder/helpers/indexer/query.php +++ b/administrator/components/com_finder/helpers/indexer/query.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/result.php b/administrator/components/com_finder/helpers/indexer/result.php index 0160863b273be..58629d069bf27 100644 --- a/administrator/components/com_finder/helpers/indexer/result.php +++ b/administrator/components/com_finder/helpers/indexer/result.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/stemmer.php b/administrator/components/com_finder/helpers/indexer/stemmer.php index cf96686c45c8a..15ecc7cbb55cd 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/stemmer/fr.php b/administrator/components/com_finder/helpers/indexer/stemmer/fr.php index 9b8bb5b4ce1c5..8aa080efc5fff 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer/fr.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer/fr.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php b/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php index 77ecf15226fb5..e1649958f2b21 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/stemmer/snowball.php b/administrator/components/com_finder/helpers/indexer/stemmer/snowball.php index 7c2f77243881f..44a8899654a72 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer/snowball.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer/snowball.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/taxonomy.php b/administrator/components/com_finder/helpers/indexer/taxonomy.php index 75b7a40529f76..92637310965b5 100644 --- a/administrator/components/com_finder/helpers/indexer/taxonomy.php +++ b/administrator/components/com_finder/helpers/indexer/taxonomy.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/indexer/token.php b/administrator/components/com_finder/helpers/indexer/token.php index f5602e34717f6..ec8040983605d 100644 --- a/administrator/components/com_finder/helpers/indexer/token.php +++ b/administrator/components/com_finder/helpers/indexer/token.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/helpers/language.php b/administrator/components/com_finder/helpers/language.php index fcc0b420ed542..dce9e644e5edb 100644 --- a/administrator/components/com_finder/helpers/language.php +++ b/administrator/components/com_finder/helpers/language.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/fields/branches.php b/administrator/components/com_finder/models/fields/branches.php index dcf416f0cfe9f..5e36f32971a76 100644 --- a/administrator/components/com_finder/models/fields/branches.php +++ b/administrator/components/com_finder/models/fields/branches.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/fields/contentmap.php b/administrator/components/com_finder/models/fields/contentmap.php index 4ef5607f41593..0bf38efc87555 100644 --- a/administrator/components/com_finder/models/fields/contentmap.php +++ b/administrator/components/com_finder/models/fields/contentmap.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/fields/contenttypes.php b/administrator/components/com_finder/models/fields/contenttypes.php index dee0f1cc8af98..013f833a16caa 100644 --- a/administrator/components/com_finder/models/fields/contenttypes.php +++ b/administrator/components/com_finder/models/fields/contenttypes.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/fields/directories.php b/administrator/components/com_finder/models/fields/directories.php index fdb24125d3c81..49dc6c995725f 100644 --- a/administrator/components/com_finder/models/fields/directories.php +++ b/administrator/components/com_finder/models/fields/directories.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/fields/searchfilter.php b/administrator/components/com_finder/models/fields/searchfilter.php index d4a36094ba2f0..07fa70aadb885 100644 --- a/administrator/components/com_finder/models/fields/searchfilter.php +++ b/administrator/components/com_finder/models/fields/searchfilter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/filter.php b/administrator/components/com_finder/models/filter.php index 59c68b36a3adf..3c9290271dc99 100644 --- a/administrator/components/com_finder/models/filter.php +++ b/administrator/components/com_finder/models/filter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/filters.php b/administrator/components/com_finder/models/filters.php index 470091e572bfe..48e8e0ca3c2cf 100644 --- a/administrator/components/com_finder/models/filters.php +++ b/administrator/components/com_finder/models/filters.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/index.php b/administrator/components/com_finder/models/index.php index 7f9b9a67b718f..796ea78113db8 100644 --- a/administrator/components/com_finder/models/index.php +++ b/administrator/components/com_finder/models/index.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/indexer.php b/administrator/components/com_finder/models/indexer.php index 2a7bd531a9343..0a4d03ed93ed7 100644 --- a/administrator/components/com_finder/models/indexer.php +++ b/administrator/components/com_finder/models/indexer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/maps.php b/administrator/components/com_finder/models/maps.php index 985dfce6bb613..957bf53e904e4 100644 --- a/administrator/components/com_finder/models/maps.php +++ b/administrator/components/com_finder/models/maps.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/models/statistics.php b/administrator/components/com_finder/models/statistics.php index d9e3a304d03f8..a301d9b342f3f 100644 --- a/administrator/components/com_finder/models/statistics.php +++ b/administrator/components/com_finder/models/statistics.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/tables/filter.php b/administrator/components/com_finder/tables/filter.php index cd3a6152babd1..524ce6c6c20bf 100644 --- a/administrator/components/com_finder/tables/filter.php +++ b/administrator/components/com_finder/tables/filter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/tables/link.php b/administrator/components/com_finder/tables/link.php index 640de31a4590f..18c010eb06c46 100644 --- a/administrator/components/com_finder/tables/link.php +++ b/administrator/components/com_finder/tables/link.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/tables/map.php b/administrator/components/com_finder/tables/map.php index 492e864dfdc7e..3b25bd5ea9345 100644 --- a/administrator/components/com_finder/tables/map.php +++ b/administrator/components/com_finder/tables/map.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/filter/tmpl/edit.php b/administrator/components/com_finder/views/filter/tmpl/edit.php index f9aa2e68b5b16..822d0bd036d32 100644 --- a/administrator/components/com_finder/views/filter/tmpl/edit.php +++ b/administrator/components/com_finder/views/filter/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/filter/view.html.php b/administrator/components/com_finder/views/filter/view.html.php index d3281315896a5..a34c3216705d0 100644 --- a/administrator/components/com_finder/views/filter/view.html.php +++ b/administrator/components/com_finder/views/filter/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/filters/tmpl/default.php b/administrator/components/com_finder/views/filters/tmpl/default.php index 07f9feeb67f1a..b8ccb6f458d03 100644 --- a/administrator/components/com_finder/views/filters/tmpl/default.php +++ b/administrator/components/com_finder/views/filters/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/filters/view.html.php b/administrator/components/com_finder/views/filters/view.html.php index 823fd40e484b1..1cf544b525cfe 100644 --- a/administrator/components/com_finder/views/filters/view.html.php +++ b/administrator/components/com_finder/views/filters/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/index/tmpl/default.php b/administrator/components/com_finder/views/index/tmpl/default.php index 387c51e9bfd41..422e6ad71c6f1 100644 --- a/administrator/components/com_finder/views/index/tmpl/default.php +++ b/administrator/components/com_finder/views/index/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/index/view.html.php b/administrator/components/com_finder/views/index/view.html.php index 681718eff6a70..a30d5c87bf2b2 100644 --- a/administrator/components/com_finder/views/index/view.html.php +++ b/administrator/components/com_finder/views/index/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/indexer/tmpl/default.php b/administrator/components/com_finder/views/indexer/tmpl/default.php index 20ef8c7e2e994..53c8098c1881f 100644 --- a/administrator/components/com_finder/views/indexer/tmpl/default.php +++ b/administrator/components/com_finder/views/indexer/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/indexer/view.html.php b/administrator/components/com_finder/views/indexer/view.html.php index fb12941060b7a..3f17744a1ba79 100644 --- a/administrator/components/com_finder/views/indexer/view.html.php +++ b/administrator/components/com_finder/views/indexer/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/maps/tmpl/default.php b/administrator/components/com_finder/views/maps/tmpl/default.php index 6c93f665429af..ec06d97b1916f 100644 --- a/administrator/components/com_finder/views/maps/tmpl/default.php +++ b/administrator/components/com_finder/views/maps/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/maps/view.html.php b/administrator/components/com_finder/views/maps/view.html.php index 59eb08744d323..31a0d0f4da49a 100644 --- a/administrator/components/com_finder/views/maps/view.html.php +++ b/administrator/components/com_finder/views/maps/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/statistics/tmpl/default.php b/administrator/components/com_finder/views/statistics/tmpl/default.php index 9b7651253dd92..3ae82a5066255 100644 --- a/administrator/components/com_finder/views/statistics/tmpl/default.php +++ b/administrator/components/com_finder/views/statistics/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_finder/views/statistics/view.html.php b/administrator/components/com_finder/views/statistics/view.html.php index af7689fb0a1d4..ab45541e8a208 100644 --- a/administrator/components/com_finder/views/statistics/view.html.php +++ b/administrator/components/com_finder/views/statistics/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controller.php b/administrator/components/com_installer/controller.php index da48efd484fd4..12ecac70e9a9f 100644 --- a/administrator/components/com_installer/controller.php +++ b/administrator/components/com_installer/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/database.php b/administrator/components/com_installer/controllers/database.php index bd549005d683e..c4f0fa936c4dd 100644 --- a/administrator/components/com_installer/controllers/database.php +++ b/administrator/components/com_installer/controllers/database.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/discover.php b/administrator/components/com_installer/controllers/discover.php index 2d2ca5473c4a5..28d8220c7b13f 100644 --- a/administrator/components/com_installer/controllers/discover.php +++ b/administrator/components/com_installer/controllers/discover.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/install.php b/administrator/components/com_installer/controllers/install.php index 8289990361a2e..f39ead23a3ac1 100644 --- a/administrator/components/com_installer/controllers/install.php +++ b/administrator/components/com_installer/controllers/install.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/manage.php b/administrator/components/com_installer/controllers/manage.php index e4f01a2ca237e..3c0c17c746205 100644 --- a/administrator/components/com_installer/controllers/manage.php +++ b/administrator/components/com_installer/controllers/manage.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/update.php b/administrator/components/com_installer/controllers/update.php index c691e5c144de1..87d8b06861fc0 100644 --- a/administrator/components/com_installer/controllers/update.php +++ b/administrator/components/com_installer/controllers/update.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/controllers/updatesites.php b/administrator/components/com_installer/controllers/updatesites.php index cb32710e6efac..d004167f0a49e 100644 --- a/administrator/components/com_installer/controllers/updatesites.php +++ b/administrator/components/com_installer/controllers/updatesites.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/helpers/html/manage.php b/administrator/components/com_installer/helpers/html/manage.php index 0ac6b08b7e35a..4aaf19ee502c0 100644 --- a/administrator/components/com_installer/helpers/html/manage.php +++ b/administrator/components/com_installer/helpers/html/manage.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/helpers/html/updatesites.php b/administrator/components/com_installer/helpers/html/updatesites.php index 93667774a9845..6a69aa0a49561 100644 --- a/administrator/components/com_installer/helpers/html/updatesites.php +++ b/administrator/components/com_installer/helpers/html/updatesites.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/helpers/installer.php b/administrator/components/com_installer/helpers/installer.php index e02f6435e62f3..6ca57ffb1d6e7 100644 --- a/administrator/components/com_installer/helpers/installer.php +++ b/administrator/components/com_installer/helpers/installer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/installer.php b/administrator/components/com_installer/installer.php index 74e07d27a0157..301771b9dcb76 100644 --- a/administrator/components/com_installer/installer.php +++ b/administrator/components/com_installer/installer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/installer.xml b/administrator/components/com_installer/installer.xml index 8fb20c27e6fb4..e787399132ba3 100644 --- a/administrator/components/com_installer/installer.xml +++ b/administrator/components/com_installer/installer.xml @@ -3,7 +3,7 @@ <name>com_installer</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_installer/models/database.php b/administrator/components/com_installer/models/database.php index 07be0a9e0af83..800519e36889b 100644 --- a/administrator/components/com_installer/models/database.php +++ b/administrator/components/com_installer/models/database.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/discover.php b/administrator/components/com_installer/models/discover.php index 1403e816f4e93..4123ac7705832 100644 --- a/administrator/components/com_installer/models/discover.php +++ b/administrator/components/com_installer/models/discover.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/extension.php b/administrator/components/com_installer/models/extension.php index 26979bbd0e2f5..2d6c1239215be 100644 --- a/administrator/components/com_installer/models/extension.php +++ b/administrator/components/com_installer/models/extension.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/fields/extensionstatus.php b/administrator/components/com_installer/models/fields/extensionstatus.php index ce8afbc5fc58c..987b90d1a4525 100644 --- a/administrator/components/com_installer/models/fields/extensionstatus.php +++ b/administrator/components/com_installer/models/fields/extensionstatus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/fields/folder.php b/administrator/components/com_installer/models/fields/folder.php index 013423dd0ec35..0fcc969cb4a95 100644 --- a/administrator/components/com_installer/models/fields/folder.php +++ b/administrator/components/com_installer/models/fields/folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/fields/location.php b/administrator/components/com_installer/models/fields/location.php index f5b7023b5b755..95a53c0acd3e0 100644 --- a/administrator/components/com_installer/models/fields/location.php +++ b/administrator/components/com_installer/models/fields/location.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/fields/type.php b/administrator/components/com_installer/models/fields/type.php index 5d0c28722963a..0dd853b0b4604 100644 --- a/administrator/components/com_installer/models/fields/type.php +++ b/administrator/components/com_installer/models/fields/type.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/install.php b/administrator/components/com_installer/models/install.php index 539730ae91198..963c515b24ac7 100644 --- a/administrator/components/com_installer/models/install.php +++ b/administrator/components/com_installer/models/install.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/languages.php b/administrator/components/com_installer/models/languages.php index 8d4c081e1958c..63f8c3b6ed199 100644 --- a/administrator/components/com_installer/models/languages.php +++ b/administrator/components/com_installer/models/languages.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage com_installer - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/manage.php b/administrator/components/com_installer/models/manage.php index f6f6f492ecd3a..a046a110407b1 100644 --- a/administrator/components/com_installer/models/manage.php +++ b/administrator/components/com_installer/models/manage.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/update.php b/administrator/components/com_installer/models/update.php index de722577c75d3..a77fdd8ac8558 100644 --- a/administrator/components/com_installer/models/update.php +++ b/administrator/components/com_installer/models/update.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/updatesites.php b/administrator/components/com_installer/models/updatesites.php index b4daface1ca7b..10ba2f3937fd4 100644 --- a/administrator/components/com_installer/models/updatesites.php +++ b/administrator/components/com_installer/models/updatesites.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/models/warnings.php b/administrator/components/com_installer/models/warnings.php index d3427ae6ceb7a..6f7856a674e89 100644 --- a/administrator/components/com_installer/models/warnings.php +++ b/administrator/components/com_installer/models/warnings.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/database/tmpl/default.php b/administrator/components/com_installer/views/database/tmpl/default.php index e1c620c0aa3e6..ee591b46645f7 100644 --- a/administrator/components/com_installer/views/database/tmpl/default.php +++ b/administrator/components/com_installer/views/database/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/database/view.html.php b/administrator/components/com_installer/views/database/view.html.php index 1c0bc4fba372c..392f3dc0861d7 100644 --- a/administrator/components/com_installer/views/database/view.html.php +++ b/administrator/components/com_installer/views/database/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/default/tmpl/default_ftp.php b/administrator/components/com_installer/views/default/tmpl/default_ftp.php index d493627a810fe..30b834dbade8f 100644 --- a/administrator/components/com_installer/views/default/tmpl/default_ftp.php +++ b/administrator/components/com_installer/views/default/tmpl/default_ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/default/tmpl/default_message.php b/administrator/components/com_installer/views/default/tmpl/default_message.php index 7a3d9aa04c45a..ed015443bd505 100644 --- a/administrator/components/com_installer/views/default/tmpl/default_message.php +++ b/administrator/components/com_installer/views/default/tmpl/default_message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/default/view.php b/administrator/components/com_installer/views/default/view.php index 07f98082d83ba..a95d5cac0aa35 100644 --- a/administrator/components/com_installer/views/default/view.php +++ b/administrator/components/com_installer/views/default/view.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/discover/tmpl/default.php b/administrator/components/com_installer/views/discover/tmpl/default.php index d2918e86ce134..164e4da354b67 100644 --- a/administrator/components/com_installer/views/discover/tmpl/default.php +++ b/administrator/components/com_installer/views/discover/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/discover/tmpl/default_item.php b/administrator/components/com_installer/views/discover/tmpl/default_item.php index 89104377d76e9..aa3789f736567 100644 --- a/administrator/components/com_installer/views/discover/tmpl/default_item.php +++ b/administrator/components/com_installer/views/discover/tmpl/default_item.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/discover/view.html.php b/administrator/components/com_installer/views/discover/view.html.php index 2ce9baabd6a78..906928f683fce 100644 --- a/administrator/components/com_installer/views/discover/view.html.php +++ b/administrator/components/com_installer/views/discover/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/install/tmpl/default.php b/administrator/components/com_installer/views/install/tmpl/default.php index a9bfe2a705085..bfc386882c342 100644 --- a/administrator/components/com_installer/views/install/tmpl/default.php +++ b/administrator/components/com_installer/views/install/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/install/view.html.php b/administrator/components/com_installer/views/install/view.html.php index 6e2c0b06862bd..0fbd0b052655d 100644 --- a/administrator/components/com_installer/views/install/view.html.php +++ b/administrator/components/com_installer/views/install/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/languages/tmpl/default.php b/administrator/components/com_installer/views/languages/tmpl/default.php index 04fd16242abc4..1ee670c771f48 100644 --- a/administrator/components/com_installer/views/languages/tmpl/default.php +++ b/administrator/components/com_installer/views/languages/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/languages/view.html.php b/administrator/components/com_installer/views/languages/view.html.php index 36ab4bb8e9e0a..45f158971979a 100644 --- a/administrator/components/com_installer/views/languages/view.html.php +++ b/administrator/components/com_installer/views/languages/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/manage/tmpl/default.php b/administrator/components/com_installer/views/manage/tmpl/default.php index ccc6bff0c7c25..d7dcd2444a834 100644 --- a/administrator/components/com_installer/views/manage/tmpl/default.php +++ b/administrator/components/com_installer/views/manage/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/manage/view.html.php b/administrator/components/com_installer/views/manage/view.html.php index b8891f18d7c32..3fe03cda7161b 100644 --- a/administrator/components/com_installer/views/manage/view.html.php +++ b/administrator/components/com_installer/views/manage/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/update/tmpl/default.php b/administrator/components/com_installer/views/update/tmpl/default.php index d1e3cd871cf4d..0c5b6faf0123f 100644 --- a/administrator/components/com_installer/views/update/tmpl/default.php +++ b/administrator/components/com_installer/views/update/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/update/view.html.php b/administrator/components/com_installer/views/update/view.html.php index 09f0e58de07e3..d5ee00be10ab1 100644 --- a/administrator/components/com_installer/views/update/view.html.php +++ b/administrator/components/com_installer/views/update/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/updatesites/tmpl/default.php b/administrator/components/com_installer/views/updatesites/tmpl/default.php index 5f54c2a268805..77a7bca4349e5 100644 --- a/administrator/components/com_installer/views/updatesites/tmpl/default.php +++ b/administrator/components/com_installer/views/updatesites/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/updatesites/view.html.php b/administrator/components/com_installer/views/updatesites/view.html.php index 75f957ec11cc6..a6065eb17028e 100644 --- a/administrator/components/com_installer/views/updatesites/view.html.php +++ b/administrator/components/com_installer/views/updatesites/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/warnings/tmpl/default.php b/administrator/components/com_installer/views/warnings/tmpl/default.php index 45b6d5d2847ae..fa4a21dd8b50c 100644 --- a/administrator/components/com_installer/views/warnings/tmpl/default.php +++ b/administrator/components/com_installer/views/warnings/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_installer/views/warnings/view.html.php b/administrator/components/com_installer/views/warnings/view.html.php index 1b9a8dcc8ed52..e3d12bf1225ec 100644 --- a/administrator/components/com_installer/views/warnings/view.html.php +++ b/administrator/components/com_installer/views/warnings/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/controller.php b/administrator/components/com_joomlaupdate/controller.php index 28748ee9b1f0e..c6bb6b22ccfec 100644 --- a/administrator/components/com_joomlaupdate/controller.php +++ b/administrator/components/com_joomlaupdate/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/controllers/update.php b/administrator/components/com_joomlaupdate/controllers/update.php index ba9bf5528412e..cb57d84c7f072 100644 --- a/administrator/components/com_joomlaupdate/controllers/update.php +++ b/administrator/components/com_joomlaupdate/controllers/update.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/helpers/joomlaupdate.php b/administrator/components/com_joomlaupdate/helpers/joomlaupdate.php index 1cb10fd75679c..0044abdfc364e 100644 --- a/administrator/components/com_joomlaupdate/helpers/joomlaupdate.php +++ b/administrator/components/com_joomlaupdate/helpers/joomlaupdate.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/helpers/select.php b/administrator/components/com_joomlaupdate/helpers/select.php index d23f68281af6f..edf2de79ebfa1 100644 --- a/administrator/components/com_joomlaupdate/helpers/select.php +++ b/administrator/components/com_joomlaupdate/helpers/select.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/joomlaupdate.php b/administrator/components/com_joomlaupdate/joomlaupdate.php index 51371547a32ce..4baf72dd8186a 100644 --- a/administrator/components/com_joomlaupdate/joomlaupdate.php +++ b/administrator/components/com_joomlaupdate/joomlaupdate.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/joomlaupdate.xml b/administrator/components/com_joomlaupdate/joomlaupdate.xml index 0376ba843a86f..c84bfe31608f5 100644 --- a/administrator/components/com_joomlaupdate/joomlaupdate.xml +++ b/administrator/components/com_joomlaupdate/joomlaupdate.xml @@ -3,7 +3,7 @@ <name>com_joomlaupdate</name> <author>Joomla! Project</author> <creationDate>February 2012</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_joomlaupdate/models/default.php b/administrator/components/com_joomlaupdate/models/default.php index 3ff0bf70c0598..6b046699bf8a8 100644 --- a/administrator/components/com_joomlaupdate/models/default.php +++ b/administrator/components/com_joomlaupdate/models/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/restore_finalisation.php b/administrator/components/com_joomlaupdate/restore_finalisation.php index 2d0edf5a8524a..24eaa99a52694 100644 --- a/administrator/components/com_joomlaupdate/restore_finalisation.php +++ b/administrator/components/com_joomlaupdate/restore_finalisation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/complete.php b/administrator/components/com_joomlaupdate/views/default/tmpl/complete.php index 446f5b7b83457..45b2f9c6847db 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/complete.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/complete.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default.php index f418e632ce4a5..cbeacb47c4d19 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_nodownload.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_nodownload.php index 0e2153d2dba76..9ea9f1a01c264 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_nodownload.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_nodownload.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_reinstall.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_reinstall.php index dd9ae2ab87e7c..d124c14d79bde 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_reinstall.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_reinstall.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_update.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_update.php index 416d11ddb9e1e..5b5bd3cf63d1e 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_update.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_update.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_updatemefirst.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_updatemefirst.php index 9087ce8098cdd..8cf3621599414 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_updatemefirst.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_updatemefirst.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_upload.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_upload.php index e46fb4eb56917..f745d06486322 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_upload.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_upload.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/default/view.html.php b/administrator/components/com_joomlaupdate/views/default/view.html.php index 5fdd89881c021..bf818032ed2be 100644 --- a/administrator/components/com_joomlaupdate/views/default/view.html.php +++ b/administrator/components/com_joomlaupdate/views/default/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/update/tmpl/default.php b/administrator/components/com_joomlaupdate/views/update/tmpl/default.php index 1289724fe5aba..cba3286f460c6 100644 --- a/administrator/components/com_joomlaupdate/views/update/tmpl/default.php +++ b/administrator/components/com_joomlaupdate/views/update/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/update/tmpl/finaliseconfirm.php b/administrator/components/com_joomlaupdate/views/update/tmpl/finaliseconfirm.php index 1aefb29f08ce8..eedb4d9ecdcf7 100644 --- a/administrator/components/com_joomlaupdate/views/update/tmpl/finaliseconfirm.php +++ b/administrator/components/com_joomlaupdate/views/update/tmpl/finaliseconfirm.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/update/view.html.php b/administrator/components/com_joomlaupdate/views/update/view.html.php index 6b5161b4da8a3..cbbab460a9044 100644 --- a/administrator/components/com_joomlaupdate/views/update/view.html.php +++ b/administrator/components/com_joomlaupdate/views/update/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/upload/tmpl/captive.php b/administrator/components/com_joomlaupdate/views/upload/tmpl/captive.php index 5e39bf2b18188..3f3d46fd5ea47 100644 --- a/administrator/components/com_joomlaupdate/views/upload/tmpl/captive.php +++ b/administrator/components/com_joomlaupdate/views/upload/tmpl/captive.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_joomlaupdate/views/upload/view.html.php b/administrator/components/com_joomlaupdate/views/upload/view.html.php index bc720d4c355d2..aafadcf81448c 100644 --- a/administrator/components/com_joomlaupdate/views/upload/view.html.php +++ b/administrator/components/com_joomlaupdate/views/upload/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controller.php b/administrator/components/com_languages/controller.php index a24274fff383e..e8fdc6643e811 100644 --- a/administrator/components/com_languages/controller.php +++ b/administrator/components/com_languages/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/installed.php b/administrator/components/com_languages/controllers/installed.php index f8998bdab9c98..ce4716af02049 100644 --- a/administrator/components/com_languages/controllers/installed.php +++ b/administrator/components/com_languages/controllers/installed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/language.php b/administrator/components/com_languages/controllers/language.php index 33cd0293b7068..5c658edb0d1c8 100644 --- a/administrator/components/com_languages/controllers/language.php +++ b/administrator/components/com_languages/controllers/language.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/languages.php b/administrator/components/com_languages/controllers/languages.php index 25d89f20ab4d5..8bdd87f5ad165 100644 --- a/administrator/components/com_languages/controllers/languages.php +++ b/administrator/components/com_languages/controllers/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/override.php b/administrator/components/com_languages/controllers/override.php index 98fc5f2ce1b71..24815acfec737 100644 --- a/administrator/components/com_languages/controllers/override.php +++ b/administrator/components/com_languages/controllers/override.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/overrides.php b/administrator/components/com_languages/controllers/overrides.php index fda713a126d52..53699d55889b4 100644 --- a/administrator/components/com_languages/controllers/overrides.php +++ b/administrator/components/com_languages/controllers/overrides.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/controllers/strings.json.php b/administrator/components/com_languages/controllers/strings.json.php index 9fbd30259c699..a7466ea622790 100644 --- a/administrator/components/com_languages/controllers/strings.json.php +++ b/administrator/components/com_languages/controllers/strings.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/helpers/html/languages.php b/administrator/components/com_languages/helpers/html/languages.php index d69e3ae945053..252b07f41a3ec 100644 --- a/administrator/components/com_languages/helpers/html/languages.php +++ b/administrator/components/com_languages/helpers/html/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/helpers/jsonresponse.php b/administrator/components/com_languages/helpers/jsonresponse.php index 861c4d835ba8b..a5ef8f0c1e2cc 100644 --- a/administrator/components/com_languages/helpers/jsonresponse.php +++ b/administrator/components/com_languages/helpers/jsonresponse.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/helpers/languages.php b/administrator/components/com_languages/helpers/languages.php index 34e4b6c60eb0e..72adc9c4d62ed 100644 --- a/administrator/components/com_languages/helpers/languages.php +++ b/administrator/components/com_languages/helpers/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/helpers/multilangstatus.php b/administrator/components/com_languages/helpers/multilangstatus.php index 792718a4ce7eb..3c453ae88e0d6 100644 --- a/administrator/components/com_languages/helpers/multilangstatus.php +++ b/administrator/components/com_languages/helpers/multilangstatus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/languages.php b/administrator/components/com_languages/languages.php index 3a07360d932b5..219b308e9ea8b 100644 --- a/administrator/components/com_languages/languages.php +++ b/administrator/components/com_languages/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/languages.xml b/administrator/components/com_languages/languages.xml index bf364005ef39c..33e98d4cccb4c 100644 --- a/administrator/components/com_languages/languages.xml +++ b/administrator/components/com_languages/languages.xml @@ -3,7 +3,7 @@ <name>com_languages</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_languages/models/installed.php b/administrator/components/com_languages/models/installed.php index 54df6a5eab762..55a491f59f996 100644 --- a/administrator/components/com_languages/models/installed.php +++ b/administrator/components/com_languages/models/installed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/models/language.php b/administrator/components/com_languages/models/language.php index 5b221e58c2beb..92416726e1771 100644 --- a/administrator/components/com_languages/models/language.php +++ b/administrator/components/com_languages/models/language.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/models/languages.php b/administrator/components/com_languages/models/languages.php index 09fb317bb669d..2cf61483c335e 100644 --- a/administrator/components/com_languages/models/languages.php +++ b/administrator/components/com_languages/models/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/models/override.php b/administrator/components/com_languages/models/override.php index a42e934f6bce9..29682a48c66a5 100644 --- a/administrator/components/com_languages/models/override.php +++ b/administrator/components/com_languages/models/override.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/models/overrides.php b/administrator/components/com_languages/models/overrides.php index a30a891923505..6e53ba9f5c906 100644 --- a/administrator/components/com_languages/models/overrides.php +++ b/administrator/components/com_languages/models/overrides.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/models/strings.php b/administrator/components/com_languages/models/strings.php index 5cb0005446374..4b084431ed7c9 100644 --- a/administrator/components/com_languages/models/strings.php +++ b/administrator/components/com_languages/models/strings.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/installed/tmpl/default.php b/administrator/components/com_languages/views/installed/tmpl/default.php index 86148f61e5634..dcbad173ea007 100644 --- a/administrator/components/com_languages/views/installed/tmpl/default.php +++ b/administrator/components/com_languages/views/installed/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/installed/view.html.php b/administrator/components/com_languages/views/installed/view.html.php index 725eebe0eccd8..9f5fcae7db305 100644 --- a/administrator/components/com_languages/views/installed/view.html.php +++ b/administrator/components/com_languages/views/installed/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/language/tmpl/edit.php b/administrator/components/com_languages/views/language/tmpl/edit.php index e47d89fb8751a..17889ecef501e 100644 --- a/administrator/components/com_languages/views/language/tmpl/edit.php +++ b/administrator/components/com_languages/views/language/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/language/view.html.php b/administrator/components/com_languages/views/language/view.html.php index 6dca29fbdabfb..1c0d0a96e9107 100644 --- a/administrator/components/com_languages/views/language/view.html.php +++ b/administrator/components/com_languages/views/language/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/languages/tmpl/default.php b/administrator/components/com_languages/views/languages/tmpl/default.php index f98dde1fbbc62..bcdd7506580c6 100644 --- a/administrator/components/com_languages/views/languages/tmpl/default.php +++ b/administrator/components/com_languages/views/languages/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/languages/view.html.php b/administrator/components/com_languages/views/languages/view.html.php index f7b455bc278f6..ba09b0e8eaa4f 100644 --- a/administrator/components/com_languages/views/languages/view.html.php +++ b/administrator/components/com_languages/views/languages/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/multilangstatus/tmpl/default.php b/administrator/components/com_languages/views/multilangstatus/tmpl/default.php index 1cf0404029675..f88f5d59a0483 100644 --- a/administrator/components/com_languages/views/multilangstatus/tmpl/default.php +++ b/administrator/components/com_languages/views/multilangstatus/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/multilangstatus/view.html.php b/administrator/components/com_languages/views/multilangstatus/view.html.php index 8f0e95eeaa3fc..4f8612fe97069 100644 --- a/administrator/components/com_languages/views/multilangstatus/view.html.php +++ b/administrator/components/com_languages/views/multilangstatus/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/override/tmpl/edit.php b/administrator/components/com_languages/views/override/tmpl/edit.php index c5509debec431..1718789fa4d2a 100644 --- a/administrator/components/com_languages/views/override/tmpl/edit.php +++ b/administrator/components/com_languages/views/override/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/override/view.html.php b/administrator/components/com_languages/views/override/view.html.php index 742ed58c7890f..30d74e9963ad9 100644 --- a/administrator/components/com_languages/views/override/view.html.php +++ b/administrator/components/com_languages/views/override/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/overrides/tmpl/default.php b/administrator/components/com_languages/views/overrides/tmpl/default.php index 5de95f42ae144..779689363d7a3 100644 --- a/administrator/components/com_languages/views/overrides/tmpl/default.php +++ b/administrator/components/com_languages/views/overrides/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_languages/views/overrides/view.html.php b/administrator/components/com_languages/views/overrides/view.html.php index 1e25e2d295abf..ef88e5e918f6c 100644 --- a/administrator/components/com_languages/views/overrides/view.html.php +++ b/administrator/components/com_languages/views/overrides/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_login/controller.php b/administrator/components/com_login/controller.php index 7c6dc49fbf77b..ef368dc15f80b 100644 --- a/administrator/components/com_login/controller.php +++ b/administrator/components/com_login/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_login/login.php b/administrator/components/com_login/login.php index 87665a673dd02..c270b8cfafcba 100644 --- a/administrator/components/com_login/login.php +++ b/administrator/components/com_login/login.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_login/login.xml b/administrator/components/com_login/login.xml index 0361c09f23bf9..82bebcabe5647 100644 --- a/administrator/components/com_login/login.xml +++ b/administrator/components/com_login/login.xml @@ -3,7 +3,7 @@ <name>com_login</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_login/models/login.php b/administrator/components/com_login/models/login.php index 360a5525cdfe8..32bff5ba9839b 100644 --- a/administrator/components/com_login/models/login.php +++ b/administrator/components/com_login/models/login.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_login/views/login/tmpl/default.php b/administrator/components/com_login/views/login/tmpl/default.php index 909bc162cf18b..0774f913000ec 100644 --- a/administrator/components/com_login/views/login/tmpl/default.php +++ b/administrator/components/com_login/views/login/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_login/views/login/view.html.php b/administrator/components/com_login/views/login/view.html.php index 18e346e0fa22c..9b3840c3662c6 100644 --- a/administrator/components/com_login/views/login/view.html.php +++ b/administrator/components/com_login/views/login/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/controller.php b/administrator/components/com_media/controller.php index b03948df3f541..f3098b1c633a7 100644 --- a/administrator/components/com_media/controller.php +++ b/administrator/components/com_media/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/controllers/file.json.php b/administrator/components/com_media/controllers/file.json.php index 6b6dd8d5ac4d1..a76b13b96ba2b 100644 --- a/administrator/components/com_media/controllers/file.json.php +++ b/administrator/components/com_media/controllers/file.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/controllers/file.php b/administrator/components/com_media/controllers/file.php index 56957d47f0ca8..891a5bd3e0d07 100644 --- a/administrator/components/com_media/controllers/file.php +++ b/administrator/components/com_media/controllers/file.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/controllers/folder.php b/administrator/components/com_media/controllers/folder.php index 6b0da855a18fb..f1439adbc9034 100644 --- a/administrator/components/com_media/controllers/folder.php +++ b/administrator/components/com_media/controllers/folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/helpers/media.php b/administrator/components/com_media/helpers/media.php index e81aff5a1ca32..03213eb80b4a4 100644 --- a/administrator/components/com_media/helpers/media.php +++ b/administrator/components/com_media/helpers/media.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/layouts/toolbar/deletemedia.php b/administrator/components/com_media/layouts/toolbar/deletemedia.php index 318d85be711e6..e605566750f19 100644 --- a/administrator/components/com_media/layouts/toolbar/deletemedia.php +++ b/administrator/components/com_media/layouts/toolbar/deletemedia.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/layouts/toolbar/newfolder.php b/administrator/components/com_media/layouts/toolbar/newfolder.php index c8b9d57fa6c3f..b62eeebc1dc4e 100644 --- a/administrator/components/com_media/layouts/toolbar/newfolder.php +++ b/administrator/components/com_media/layouts/toolbar/newfolder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/layouts/toolbar/uploadmedia.php b/administrator/components/com_media/layouts/toolbar/uploadmedia.php index 6c4599709f630..2d0f501739dfb 100644 --- a/administrator/components/com_media/layouts/toolbar/uploadmedia.php +++ b/administrator/components/com_media/layouts/toolbar/uploadmedia.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/media.php b/administrator/components/com_media/media.php index 37d49eff743a8..7069de516037a 100644 --- a/administrator/components/com_media/media.php +++ b/administrator/components/com_media/media.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/media.xml b/administrator/components/com_media/media.xml index d4e454590c9f0..9bdf880abd6a9 100644 --- a/administrator/components/com_media/media.xml +++ b/administrator/components/com_media/media.xml @@ -3,7 +3,7 @@ <name>com_media</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_media/models/list.php b/administrator/components/com_media/models/list.php index 559518b20884b..ef6848a639362 100644 --- a/administrator/components/com_media/models/list.php +++ b/administrator/components/com_media/models/list.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/models/manager.php b/administrator/components/com_media/models/manager.php index a69dcd2bc7dd0..bb8987e0d2ca6 100644 --- a/administrator/components/com_media/models/manager.php +++ b/administrator/components/com_media/models/manager.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/images/tmpl/default.php b/administrator/components/com_media/views/images/tmpl/default.php index 79b60094b1187..4bae246c2554e 100644 --- a/administrator/components/com_media/views/images/tmpl/default.php +++ b/administrator/components/com_media/views/images/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/images/view.html.php b/administrator/components/com_media/views/images/view.html.php index 43d7939e093e5..d8e029a3ccd5b 100644 --- a/administrator/components/com_media/views/images/view.html.php +++ b/administrator/components/com_media/views/images/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/imageslist/tmpl/default.php b/administrator/components/com_media/views/imageslist/tmpl/default.php index 417e19ab3eacf..dbae859ee82f1 100644 --- a/administrator/components/com_media/views/imageslist/tmpl/default.php +++ b/administrator/components/com_media/views/imageslist/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/imageslist/tmpl/default_folder.php b/administrator/components/com_media/views/imageslist/tmpl/default_folder.php index f01cf7e7dd5d9..e3e503a054b00 100644 --- a/administrator/components/com_media/views/imageslist/tmpl/default_folder.php +++ b/administrator/components/com_media/views/imageslist/tmpl/default_folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/imageslist/tmpl/default_image.php b/administrator/components/com_media/views/imageslist/tmpl/default_image.php index 4bfffe9d6dd29..06dec4b41d7f6 100644 --- a/administrator/components/com_media/views/imageslist/tmpl/default_image.php +++ b/administrator/components/com_media/views/imageslist/tmpl/default_image.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/imageslist/view.html.php b/administrator/components/com_media/views/imageslist/view.html.php index bdf82b08e8d33..716cea8fe07d4 100644 --- a/administrator/components/com_media/views/imageslist/view.html.php +++ b/administrator/components/com_media/views/imageslist/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/media/tmpl/default.php b/administrator/components/com_media/views/media/tmpl/default.php index 9f2c52160b89d..800cdd9e73620 100644 --- a/administrator/components/com_media/views/media/tmpl/default.php +++ b/administrator/components/com_media/views/media/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/media/tmpl/default_folders.php b/administrator/components/com_media/views/media/tmpl/default_folders.php index 3930f685be7b8..1d10cdf07cc3c 100644 --- a/administrator/components/com_media/views/media/tmpl/default_folders.php +++ b/administrator/components/com_media/views/media/tmpl/default_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/media/tmpl/default_navigation.php b/administrator/components/com_media/views/media/tmpl/default_navigation.php index 3a58c552d2a09..3e283776ef239 100644 --- a/administrator/components/com_media/views/media/tmpl/default_navigation.php +++ b/administrator/components/com_media/views/media/tmpl/default_navigation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/media/view.html.php b/administrator/components/com_media/views/media/view.html.php index 290fbb54ed877..813ac286f2aa5 100644 --- a/administrator/components/com_media/views/media/view.html.php +++ b/administrator/components/com_media/views/media/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/default.php b/administrator/components/com_media/views/medialist/tmpl/default.php index 3b47bf1368389..9b0f1f171162b 100644 --- a/administrator/components/com_media/views/medialist/tmpl/default.php +++ b/administrator/components/com_media/views/medialist/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details.php b/administrator/components/com_media/views/medialist/tmpl/details.php index 4040694111205..1c5d498db897f 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details.php +++ b/administrator/components/com_media/views/medialist/tmpl/details.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details_doc.php b/administrator/components/com_media/views/medialist/tmpl/details_doc.php index 6744e2e2ddbc7..9dda134d5ba70 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_doc.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_doc.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_media/views/medialist/tmpl/details_docs.php b/administrator/components/com_media/views/medialist/tmpl/details_docs.php index 6fd6b83801b9c..ad13877202b17 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_docs.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_docs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_media/views/medialist/tmpl/details_folder.php b/administrator/components/com_media/views/medialist/tmpl/details_folder.php index 1dfb74c69f9bb..52999c9580161 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_folder.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_media/views/medialist/tmpl/details_folders.php b/administrator/components/com_media/views/medialist/tmpl/details_folders.php index b8d74b2b8bab7..078fd93c2aa75 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_folders.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_media/views/medialist/tmpl/details_img.php b/administrator/components/com_media/views/medialist/tmpl/details_img.php index 542af0e6e7926..82ef0681e4c45 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_img.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_img.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details_imgs.php b/administrator/components/com_media/views/medialist/tmpl/details_imgs.php index 0125006e823c4..635fb7efb8551 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_imgs.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_imgs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details_up.php b/administrator/components/com_media/views/medialist/tmpl/details_up.php index cc649e41072ff..27dbe632dcd2c 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_up.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_up.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details_video.php b/administrator/components/com_media/views/medialist/tmpl/details_video.php index 2c0267228f3c3..305ae3077839b 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_video.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_video.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/details_videos.php b/administrator/components/com_media/views/medialist/tmpl/details_videos.php index 92a402647af73..420d7621eb0cf 100644 --- a/administrator/components/com_media/views/medialist/tmpl/details_videos.php +++ b/administrator/components/com_media/views/medialist/tmpl/details_videos.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs.php b/administrator/components/com_media/views/medialist/tmpl/thumbs.php index beed908cc2323..f1428a664f209 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs_docs.php b/administrator/components/com_media/views/medialist/tmpl/thumbs_docs.php index a236fb0ea65f7..22854c73ed844 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs_docs.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs_docs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs_folders.php b/administrator/components/com_media/views/medialist/tmpl/thumbs_folders.php index 7cf4d37efbc68..34e678046a4b1 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs_folders.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs_imgs.php b/administrator/components/com_media/views/medialist/tmpl/thumbs_imgs.php index 9140ed8326495..61ad6807862fb 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs_imgs.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs_imgs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs_up.php b/administrator/components/com_media/views/medialist/tmpl/thumbs_up.php index 862ff075b0a00..eec7f167ad902 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs_up.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs_up.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/tmpl/thumbs_videos.php b/administrator/components/com_media/views/medialist/tmpl/thumbs_videos.php index b0062f4844cc5..6b9502eb04883 100644 --- a/administrator/components/com_media/views/medialist/tmpl/thumbs_videos.php +++ b/administrator/components/com_media/views/medialist/tmpl/thumbs_videos.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_media/views/medialist/view.html.php b/administrator/components/com_media/views/medialist/view.html.php index 7a135f28df8fc..b8f082db27559 100644 --- a/administrator/components/com_media/views/medialist/view.html.php +++ b/administrator/components/com_media/views/medialist/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/controller.php b/administrator/components/com_menus/controller.php index 9e2644e5c12ed..0a7c45189e892 100644 --- a/administrator/components/com_menus/controller.php +++ b/administrator/components/com_menus/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/controllers/item.php b/administrator/components/com_menus/controllers/item.php index 91f4571d428b1..2f25088d5fa6e 100644 --- a/administrator/components/com_menus/controllers/item.php +++ b/administrator/components/com_menus/controllers/item.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/controllers/items.php b/administrator/components/com_menus/controllers/items.php index 701a376b7e7c7..a128d0192534b 100644 --- a/administrator/components/com_menus/controllers/items.php +++ b/administrator/components/com_menus/controllers/items.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/controllers/menu.php b/administrator/components/com_menus/controllers/menu.php index bfa1c368d6215..4f115dd2bc804 100644 --- a/administrator/components/com_menus/controllers/menu.php +++ b/administrator/components/com_menus/controllers/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/controllers/menus.php b/administrator/components/com_menus/controllers/menus.php index 0fd1efcbf9c2a..5604ca39c0e42 100644 --- a/administrator/components/com_menus/controllers/menus.php +++ b/administrator/components/com_menus/controllers/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/helpers/associations.php b/administrator/components/com_menus/helpers/associations.php index d598a0217c992..780e9414fec7c 100644 --- a/administrator/components/com_menus/helpers/associations.php +++ b/administrator/components/com_menus/helpers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/helpers/html/menus.php b/administrator/components/com_menus/helpers/html/menus.php index 019bd592de416..a6bc2160a18f4 100644 --- a/administrator/components/com_menus/helpers/html/menus.php +++ b/administrator/components/com_menus/helpers/html/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/helpers/menus.php b/administrator/components/com_menus/helpers/menus.php index 17b8285f3e334..5563fecc88bda 100644 --- a/administrator/components/com_menus/helpers/menus.php +++ b/administrator/components/com_menus/helpers/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php b/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php index 57aa5d3916f4d..fd8fa2d2ff1ef 100644 --- a/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php +++ b/administrator/components/com_menus/layouts/joomla/menu/edit_modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/layouts/joomla/searchtools/default.php b/administrator/components/com_menus/layouts/joomla/searchtools/default.php index a290d1ca69a27..422ce2100612f 100644 --- a/administrator/components/com_menus/layouts/joomla/searchtools/default.php +++ b/administrator/components/com_menus/layouts/joomla/searchtools/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/layouts/joomla/searchtools/default/bar.php b/administrator/components/com_menus/layouts/joomla/searchtools/default/bar.php index b74d8b9487fd5..b0a53389f4576 100644 --- a/administrator/components/com_menus/layouts/joomla/searchtools/default/bar.php +++ b/administrator/components/com_menus/layouts/joomla/searchtools/default/bar.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/menus.php b/administrator/components/com_menus/menus.php index 1da4ddebce45e..4e1b7cf1b4d5a 100644 --- a/administrator/components/com_menus/menus.php +++ b/administrator/components/com_menus/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/menus.xml b/administrator/components/com_menus/menus.xml index ed40066654c09..56c350c728ab0 100644 --- a/administrator/components/com_menus/menus.xml +++ b/administrator/components/com_menus/menus.xml @@ -3,7 +3,7 @@ <name>com_menus</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_menus/models/fields/componentscategory.php b/administrator/components/com_menus/models/fields/componentscategory.php index 792fc7b893cca..df282807cf5ac 100644 --- a/administrator/components/com_menus/models/fields/componentscategory.php +++ b/administrator/components/com_menus/models/fields/componentscategory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/menuitembytype.php b/administrator/components/com_menus/models/fields/menuitembytype.php index 2c8c980c52183..6a6d7c050276a 100644 --- a/administrator/components/com_menus/models/fields/menuitembytype.php +++ b/administrator/components/com_menus/models/fields/menuitembytype.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/menuordering.php b/administrator/components/com_menus/models/fields/menuordering.php index 36db588849698..f06373e79e2cc 100644 --- a/administrator/components/com_menus/models/fields/menuordering.php +++ b/administrator/components/com_menus/models/fields/menuordering.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/menuparent.php b/administrator/components/com_menus/models/fields/menuparent.php index 6c5de1e89e37b..e1089b77b9772 100644 --- a/administrator/components/com_menus/models/fields/menuparent.php +++ b/administrator/components/com_menus/models/fields/menuparent.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/menupreset.php b/administrator/components/com_menus/models/fields/menupreset.php index adbf16f8b166f..e0cfa0a89bcd8 100644 --- a/administrator/components/com_menus/models/fields/menupreset.php +++ b/administrator/components/com_menus/models/fields/menupreset.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/menutype.php b/administrator/components/com_menus/models/fields/menutype.php index 02d5b7c07a1dd..103512a7c3a6b 100644 --- a/administrator/components/com_menus/models/fields/menutype.php +++ b/administrator/components/com_menus/models/fields/menutype.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/fields/modal/menu.php b/administrator/components/com_menus/models/fields/modal/menu.php index 4a26143fa3c28..96e6fbaa6162d 100644 --- a/administrator/components/com_menus/models/fields/modal/menu.php +++ b/administrator/components/com_menus/models/fields/modal/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/item.php b/administrator/components/com_menus/models/item.php index 34c196ea511d3..cb81098a11604 100644 --- a/administrator/components/com_menus/models/item.php +++ b/administrator/components/com_menus/models/item.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/items.php b/administrator/components/com_menus/models/items.php index b4ad416892779..6b818d7a42199 100644 --- a/administrator/components/com_menus/models/items.php +++ b/administrator/components/com_menus/models/items.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/menu.php b/administrator/components/com_menus/models/menu.php index 0bd39163722bc..0d0794adcfbf5 100644 --- a/administrator/components/com_menus/models/menu.php +++ b/administrator/components/com_menus/models/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/menus.php b/administrator/components/com_menus/models/menus.php index 6c7f8e6dc566e..f1e888a40eb55 100644 --- a/administrator/components/com_menus/models/menus.php +++ b/administrator/components/com_menus/models/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/models/menutypes.php b/administrator/components/com_menus/models/menutypes.php index d88c43a13c502..6340ae4c2d9b0 100644 --- a/administrator/components/com_menus/models/menutypes.php +++ b/administrator/components/com_menus/models/menutypes.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/tables/menu.php b/administrator/components/com_menus/tables/menu.php index 824e1c877300f..c0e4f506e660b 100644 --- a/administrator/components/com_menus/tables/menu.php +++ b/administrator/components/com_menus/tables/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/edit.php b/administrator/components/com_menus/views/item/tmpl/edit.php index 43a27c8a67060..b2c70eeb600f2 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit.php +++ b/administrator/components/com_menus/views/item/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/edit_associations.php b/administrator/components/com_menus/views/item/tmpl/edit_associations.php index ab1f92d2f332c..4170e5f10bf7b 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit_associations.php +++ b/administrator/components/com_menus/views/item/tmpl/edit_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/edit_container.php b/administrator/components/com_menus/views/item/tmpl/edit_container.php index cbc3edf910ae8..c49164eb526dd 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit_container.php +++ b/administrator/components/com_menus/views/item/tmpl/edit_container.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_menus/views/item/tmpl/edit_modules.php b/administrator/components/com_menus/views/item/tmpl/edit_modules.php index f0192db7aa574..a1ef5bc478d4f 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit_modules.php +++ b/administrator/components/com_menus/views/item/tmpl/edit_modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/edit_options.php b/administrator/components/com_menus/views/item/tmpl/edit_options.php index 993e76d264124..ccaf371ca96c8 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit_options.php +++ b/administrator/components/com_menus/views/item/tmpl/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/modal.php b/administrator/components/com_menus/views/item/tmpl/modal.php index 7cca917248f71..ff43174e2366c 100644 --- a/administrator/components/com_menus/views/item/tmpl/modal.php +++ b/administrator/components/com_menus/views/item/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/modal_associations.php b/administrator/components/com_menus/views/item/tmpl/modal_associations.php index ab1f92d2f332c..4170e5f10bf7b 100644 --- a/administrator/components/com_menus/views/item/tmpl/modal_associations.php +++ b/administrator/components/com_menus/views/item/tmpl/modal_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/tmpl/modal_options.php b/administrator/components/com_menus/views/item/tmpl/modal_options.php index 993e76d264124..ccaf371ca96c8 100644 --- a/administrator/components/com_menus/views/item/tmpl/modal_options.php +++ b/administrator/components/com_menus/views/item/tmpl/modal_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/item/view.html.php b/administrator/components/com_menus/views/item/view.html.php index 019f23567ebc3..95bb7d06c4b03 100644 --- a/administrator/components/com_menus/views/item/view.html.php +++ b/administrator/components/com_menus/views/item/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/items/tmpl/default.php b/administrator/components/com_menus/views/items/tmpl/default.php index 3deb8558aae88..54c2328e7aa3e 100644 --- a/administrator/components/com_menus/views/items/tmpl/default.php +++ b/administrator/components/com_menus/views/items/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/items/tmpl/default_batch_body.php b/administrator/components/com_menus/views/items/tmpl/default_batch_body.php index a516a8028e2e1..8658e10aa72a8 100644 --- a/administrator/components/com_menus/views/items/tmpl/default_batch_body.php +++ b/administrator/components/com_menus/views/items/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_menus/views/items/tmpl/default_batch_footer.php b/administrator/components/com_menus/views/items/tmpl/default_batch_footer.php index 4e0bcdbfb38f7..f4362516120ab 100644 --- a/administrator/components/com_menus/views/items/tmpl/default_batch_footer.php +++ b/administrator/components/com_menus/views/items/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_menus/views/items/tmpl/modal.php b/administrator/components/com_menus/views/items/tmpl/modal.php index f09e20006347e..fc357aac184aa 100644 --- a/administrator/components/com_menus/views/items/tmpl/modal.php +++ b/administrator/components/com_menus/views/items/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/items/view.html.php b/administrator/components/com_menus/views/items/view.html.php index 2506f16df052b..ccadd065dacfd 100644 --- a/administrator/components/com_menus/views/items/view.html.php +++ b/administrator/components/com_menus/views/items/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menu/tmpl/edit.php b/administrator/components/com_menus/views/menu/tmpl/edit.php index fee122017ff74..baf2cfd01c949 100644 --- a/administrator/components/com_menus/views/menu/tmpl/edit.php +++ b/administrator/components/com_menus/views/menu/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menu/view.html.php b/administrator/components/com_menus/views/menu/view.html.php index cba69faf0e45e..c0cbfe8efaf08 100644 --- a/administrator/components/com_menus/views/menu/view.html.php +++ b/administrator/components/com_menus/views/menu/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menu/view.xml.php b/administrator/components/com_menus/views/menu/view.xml.php index a96c49278c863..d5aa5ab2b8e87 100644 --- a/administrator/components/com_menus/views/menu/view.xml.php +++ b/administrator/components/com_menus/views/menu/view.xml.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_menus/views/menus/tmpl/default.php b/administrator/components/com_menus/views/menus/tmpl/default.php index d25d5fad4eec6..c6b5b510614f1 100644 --- a/administrator/components/com_menus/views/menus/tmpl/default.php +++ b/administrator/components/com_menus/views/menus/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menus/view.html.php b/administrator/components/com_menus/views/menus/view.html.php index 4bc2505c440ac..8f8310c7cf94a 100644 --- a/administrator/components/com_menus/views/menus/view.html.php +++ b/administrator/components/com_menus/views/menus/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menutypes/tmpl/default.php b/administrator/components/com_menus/views/menutypes/tmpl/default.php index cb4e5a040c364..41afc9be25d7e 100644 --- a/administrator/components/com_menus/views/menutypes/tmpl/default.php +++ b/administrator/components/com_menus/views/menutypes/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_menus/views/menutypes/view.html.php b/administrator/components/com_menus/views/menutypes/view.html.php index abbf76eb3f438..15affb3ecf0b5 100644 --- a/administrator/components/com_menus/views/menutypes/view.html.php +++ b/administrator/components/com_menus/views/menutypes/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/controller.php b/administrator/components/com_messages/controller.php index 9381439cc02b1..eafdd938fee32 100644 --- a/administrator/components/com_messages/controller.php +++ b/administrator/components/com_messages/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/controllers/config.php b/administrator/components/com_messages/controllers/config.php index 8ec3dd8e963a5..f251f68e26089 100644 --- a/administrator/components/com_messages/controllers/config.php +++ b/administrator/components/com_messages/controllers/config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/controllers/message.php b/administrator/components/com_messages/controllers/message.php index cd1c0d9fc9bab..92784f7e61380 100644 --- a/administrator/components/com_messages/controllers/message.php +++ b/administrator/components/com_messages/controllers/message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/controllers/messages.php b/administrator/components/com_messages/controllers/messages.php index f835a6993ef38..8d42d197518ad 100644 --- a/administrator/components/com_messages/controllers/messages.php +++ b/administrator/components/com_messages/controllers/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/helpers/html/messages.php b/administrator/components/com_messages/helpers/html/messages.php index d70e554c797ed..95a39791b23a0 100644 --- a/administrator/components/com_messages/helpers/html/messages.php +++ b/administrator/components/com_messages/helpers/html/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/helpers/messages.php b/administrator/components/com_messages/helpers/messages.php index 13f4877780379..74d1e493ff9dc 100644 --- a/administrator/components/com_messages/helpers/messages.php +++ b/administrator/components/com_messages/helpers/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/messages.php b/administrator/components/com_messages/messages.php index 83b5fa04ffa7c..1fb402fb49797 100644 --- a/administrator/components/com_messages/messages.php +++ b/administrator/components/com_messages/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/messages.xml b/administrator/components/com_messages/messages.xml index 1fd52f1fa4faf..ff1e967db2b91 100644 --- a/administrator/components/com_messages/messages.xml +++ b/administrator/components/com_messages/messages.xml @@ -3,7 +3,7 @@ <name>com_messages</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_messages/models/config.php b/administrator/components/com_messages/models/config.php index 2362e4c7438f6..273ca9eb753c9 100644 --- a/administrator/components/com_messages/models/config.php +++ b/administrator/components/com_messages/models/config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/models/fields/messagestates.php b/administrator/components/com_messages/models/fields/messagestates.php index 47aa0b7c2e808..4918b93070143 100644 --- a/administrator/components/com_messages/models/fields/messagestates.php +++ b/administrator/components/com_messages/models/fields/messagestates.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/models/fields/usermessages.php b/administrator/components/com_messages/models/fields/usermessages.php index 8e9776d1f7918..59a9d1c958609 100644 --- a/administrator/components/com_messages/models/fields/usermessages.php +++ b/administrator/components/com_messages/models/fields/usermessages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/models/message.php b/administrator/components/com_messages/models/message.php index 5cb79ae114105..f3f59da666c3e 100644 --- a/administrator/components/com_messages/models/message.php +++ b/administrator/components/com_messages/models/message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/models/messages.php b/administrator/components/com_messages/models/messages.php index 4131d98b843b5..f6c88e4be93ce 100644 --- a/administrator/components/com_messages/models/messages.php +++ b/administrator/components/com_messages/models/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/tables/message.php b/administrator/components/com_messages/tables/message.php index 529c5bb798c55..f2b392269df2d 100644 --- a/administrator/components/com_messages/tables/message.php +++ b/administrator/components/com_messages/tables/message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/config/tmpl/default.php b/administrator/components/com_messages/views/config/tmpl/default.php index 1a3cdc1c500d6..2d4347f3e0df4 100644 --- a/administrator/components/com_messages/views/config/tmpl/default.php +++ b/administrator/components/com_messages/views/config/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/config/view.html.php b/administrator/components/com_messages/views/config/view.html.php index a9d7d5c82c6de..3e2b9ec0def35 100644 --- a/administrator/components/com_messages/views/config/view.html.php +++ b/administrator/components/com_messages/views/config/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/message/tmpl/default.php b/administrator/components/com_messages/views/message/tmpl/default.php index da2bbefe99cf9..a77e332083c91 100644 --- a/administrator/components/com_messages/views/message/tmpl/default.php +++ b/administrator/components/com_messages/views/message/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/message/tmpl/edit.php b/administrator/components/com_messages/views/message/tmpl/edit.php index 515c57e93a22d..73d5281f7537b 100644 --- a/administrator/components/com_messages/views/message/tmpl/edit.php +++ b/administrator/components/com_messages/views/message/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/message/view.html.php b/administrator/components/com_messages/views/message/view.html.php index 3636b50fbda61..6d3d22386f481 100644 --- a/administrator/components/com_messages/views/message/view.html.php +++ b/administrator/components/com_messages/views/message/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/messages/tmpl/default.php b/administrator/components/com_messages/views/messages/tmpl/default.php index ac2da0441b722..f497700bc13a4 100644 --- a/administrator/components/com_messages/views/messages/tmpl/default.php +++ b/administrator/components/com_messages/views/messages/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_messages/views/messages/view.html.php b/administrator/components/com_messages/views/messages/view.html.php index 5d1fb92f0eb5e..93e8f9722de9d 100644 --- a/administrator/components/com_messages/views/messages/view.html.php +++ b/administrator/components/com_messages/views/messages/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/controller.php b/administrator/components/com_modules/controller.php index 68717d4a901bd..daf39c1aee6b1 100644 --- a/administrator/components/com_modules/controller.php +++ b/administrator/components/com_modules/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/controllers/module.php b/administrator/components/com_modules/controllers/module.php index 993bf6345d311..0fd9b3a0d5021 100644 --- a/administrator/components/com_modules/controllers/module.php +++ b/administrator/components/com_modules/controllers/module.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/controllers/modules.php b/administrator/components/com_modules/controllers/modules.php index 22a9ecb7a3ec8..7025c7f65044f 100644 --- a/administrator/components/com_modules/controllers/modules.php +++ b/administrator/components/com_modules/controllers/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/helpers/html/modules.php b/administrator/components/com_modules/helpers/html/modules.php index f7c37daaf3297..39f6c18c773e0 100644 --- a/administrator/components/com_modules/helpers/html/modules.php +++ b/administrator/components/com_modules/helpers/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/helpers/modules.php b/administrator/components/com_modules/helpers/modules.php index 48a47f1c95b93..5bbe4a4482d0d 100644 --- a/administrator/components/com_modules/helpers/modules.php +++ b/administrator/components/com_modules/helpers/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/helpers/xml.php b/administrator/components/com_modules/helpers/xml.php index 2fb1093906987..1272caed043ef 100644 --- a/administrator/components/com_modules/helpers/xml.php +++ b/administrator/components/com_modules/helpers/xml.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/layouts/toolbar/cancelselect.php b/administrator/components/com_modules/layouts/toolbar/cancelselect.php index 5687325d07c90..e7f6e4d549e22 100644 --- a/administrator/components/com_modules/layouts/toolbar/cancelselect.php +++ b/administrator/components/com_modules/layouts/toolbar/cancelselect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/layouts/toolbar/newmodule.php b/administrator/components/com_modules/layouts/toolbar/newmodule.php index 037956442341b..2f10cf9a0f757 100644 --- a/administrator/components/com_modules/layouts/toolbar/newmodule.php +++ b/administrator/components/com_modules/layouts/toolbar/newmodule.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/fields/modulesmodule.php b/administrator/components/com_modules/models/fields/modulesmodule.php index 397a18f74add6..362228e35edbf 100644 --- a/administrator/components/com_modules/models/fields/modulesmodule.php +++ b/administrator/components/com_modules/models/fields/modulesmodule.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/fields/modulesposition.php b/administrator/components/com_modules/models/fields/modulesposition.php index 7577b938d4874..ca8ba9e2dde9e 100644 --- a/administrator/components/com_modules/models/fields/modulesposition.php +++ b/administrator/components/com_modules/models/fields/modulesposition.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/module.php b/administrator/components/com_modules/models/module.php index 937207a56b831..11610126d5763 100644 --- a/administrator/components/com_modules/models/module.php +++ b/administrator/components/com_modules/models/module.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/modules.php b/administrator/components/com_modules/models/modules.php index a78ccf0e22c58..136424406f279 100644 --- a/administrator/components/com_modules/models/modules.php +++ b/administrator/components/com_modules/models/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/positions.php b/administrator/components/com_modules/models/positions.php index 5abb55d61c950..941068aec8032 100644 --- a/administrator/components/com_modules/models/positions.php +++ b/administrator/components/com_modules/models/positions.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/models/select.php b/administrator/components/com_modules/models/select.php index 277f7dc32b88a..e3badbedbf33b 100644 --- a/administrator/components/com_modules/models/select.php +++ b/administrator/components/com_modules/models/select.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/modules.php b/administrator/components/com_modules/modules.php index 405bd2f9adf79..b85013fc6af9b 100644 --- a/administrator/components/com_modules/modules.php +++ b/administrator/components/com_modules/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/modules.xml b/administrator/components/com_modules/modules.xml index 5ee1216e9afbf..640b6fbb511bb 100644 --- a/administrator/components/com_modules/modules.xml +++ b/administrator/components/com_modules/modules.xml @@ -3,7 +3,7 @@ <name>com_modules</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_modules/views/module/tmpl/edit.php b/administrator/components/com_modules/views/module/tmpl/edit.php index 20c2502e03468..ad9116b49d801 100644 --- a/administrator/components/com_modules/views/module/tmpl/edit.php +++ b/administrator/components/com_modules/views/module/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/tmpl/edit_assignment.php b/administrator/components/com_modules/views/module/tmpl/edit_assignment.php index f26a0e5307920..aa4d96741c0fa 100644 --- a/administrator/components/com_modules/views/module/tmpl/edit_assignment.php +++ b/administrator/components/com_modules/views/module/tmpl/edit_assignment.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/tmpl/edit_options.php b/administrator/components/com_modules/views/module/tmpl/edit_options.php index d03e2a003dd43..6814bb229a2b7 100644 --- a/administrator/components/com_modules/views/module/tmpl/edit_options.php +++ b/administrator/components/com_modules/views/module/tmpl/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/tmpl/edit_positions.php b/administrator/components/com_modules/views/module/tmpl/edit_positions.php index b2a0ccf27b0bd..cbaddc87d132a 100644 --- a/administrator/components/com_modules/views/module/tmpl/edit_positions.php +++ b/administrator/components/com_modules/views/module/tmpl/edit_positions.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/tmpl/modal.php b/administrator/components/com_modules/views/module/tmpl/modal.php index 875d3b0620207..63aba8a65dd57 100644 --- a/administrator/components/com_modules/views/module/tmpl/modal.php +++ b/administrator/components/com_modules/views/module/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/view.html.php b/administrator/components/com_modules/views/module/view.html.php index 022641116bd3a..f12cca82c8b93 100644 --- a/administrator/components/com_modules/views/module/view.html.php +++ b/administrator/components/com_modules/views/module/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/module/view.json.php b/administrator/components/com_modules/views/module/view.json.php index bc36f5439935d..82e30b2cc13da 100644 --- a/administrator/components/com_modules/views/module/view.json.php +++ b/administrator/components/com_modules/views/module/view.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/modules/tmpl/default.php b/administrator/components/com_modules/views/modules/tmpl/default.php index 8f6e5e127f1d9..5a78232612f50 100644 --- a/administrator/components/com_modules/views/modules/tmpl/default.php +++ b/administrator/components/com_modules/views/modules/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/modules/tmpl/default_batch_body.php b/administrator/components/com_modules/views/modules/tmpl/default_batch_body.php index 1a3f178dd099d..35dd65dd54376 100644 --- a/administrator/components/com_modules/views/modules/tmpl/default_batch_body.php +++ b/administrator/components/com_modules/views/modules/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/modules/tmpl/default_batch_footer.php b/administrator/components/com_modules/views/modules/tmpl/default_batch_footer.php index 8676be8c5a1e6..2538a9eb49605 100644 --- a/administrator/components/com_modules/views/modules/tmpl/default_batch_footer.php +++ b/administrator/components/com_modules/views/modules/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_modules/views/modules/tmpl/modal.php b/administrator/components/com_modules/views/modules/tmpl/modal.php index dd602403bb041..a44d0517b4978 100644 --- a/administrator/components/com_modules/views/modules/tmpl/modal.php +++ b/administrator/components/com_modules/views/modules/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/modules/view.html.php b/administrator/components/com_modules/views/modules/view.html.php index 2f4433a17aff9..5a0a572dbcdd4 100644 --- a/administrator/components/com_modules/views/modules/view.html.php +++ b/administrator/components/com_modules/views/modules/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/positions/tmpl/modal.php b/administrator/components/com_modules/views/positions/tmpl/modal.php index d53c01aaaa252..a746556c7cbde 100644 --- a/administrator/components/com_modules/views/positions/tmpl/modal.php +++ b/administrator/components/com_modules/views/positions/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/positions/view.html.php b/administrator/components/com_modules/views/positions/view.html.php index 5dbb7b6b10c61..874699279dfb6 100644 --- a/administrator/components/com_modules/views/positions/view.html.php +++ b/administrator/components/com_modules/views/positions/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/preview/tmpl/default.php b/administrator/components/com_modules/views/preview/tmpl/default.php index 1033a6f25f976..977c94f83a4ce 100644 --- a/administrator/components/com_modules/views/preview/tmpl/default.php +++ b/administrator/components/com_modules/views/preview/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/preview/view.html.php b/administrator/components/com_modules/views/preview/view.html.php index 05c7387953f8f..04c675d52862d 100644 --- a/administrator/components/com_modules/views/preview/view.html.php +++ b/administrator/components/com_modules/views/preview/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/select/tmpl/default.php b/administrator/components/com_modules/views/select/tmpl/default.php index 713b0ed3cb46c..818130c41aece 100644 --- a/administrator/components/com_modules/views/select/tmpl/default.php +++ b/administrator/components/com_modules/views/select/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_modules/views/select/view.html.php b/administrator/components/com_modules/views/select/view.html.php index 93489fc147065..3982d61a8d9bb 100644 --- a/administrator/components/com_modules/views/select/view.html.php +++ b/administrator/components/com_modules/views/select/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/controller.php b/administrator/components/com_newsfeeds/controller.php index e99be71268d8e..e36d765618003 100644 --- a/administrator/components/com_newsfeeds/controller.php +++ b/administrator/components/com_newsfeeds/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/controllers/newsfeed.php b/administrator/components/com_newsfeeds/controllers/newsfeed.php index d7d6b52172875..c21d9be0ca900 100644 --- a/administrator/components/com_newsfeeds/controllers/newsfeed.php +++ b/administrator/components/com_newsfeeds/controllers/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/controllers/newsfeeds.php b/administrator/components/com_newsfeeds/controllers/newsfeeds.php index dd1b15dee7391..98c37632fcb2b 100644 --- a/administrator/components/com_newsfeeds/controllers/newsfeeds.php +++ b/administrator/components/com_newsfeeds/controllers/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/helpers/associations.php b/administrator/components/com_newsfeeds/helpers/associations.php index 5a8250075668e..a806a4d855690 100644 --- a/administrator/components/com_newsfeeds/helpers/associations.php +++ b/administrator/components/com_newsfeeds/helpers/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/helpers/html/newsfeed.php b/administrator/components/com_newsfeeds/helpers/html/newsfeed.php index 4642a17bd8bb3..716258ad65cbc 100644 --- a/administrator/components/com_newsfeeds/helpers/html/newsfeed.php +++ b/administrator/components/com_newsfeeds/helpers/html/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/helpers/newsfeeds.php b/administrator/components/com_newsfeeds/helpers/newsfeeds.php index e6d21697b4332..d2c65e4517c03 100644 --- a/administrator/components/com_newsfeeds/helpers/newsfeeds.php +++ b/administrator/components/com_newsfeeds/helpers/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/models/fields/modal/newsfeed.php b/administrator/components/com_newsfeeds/models/fields/modal/newsfeed.php index b01596376f6e1..050c040bbf7bc 100644 --- a/administrator/components/com_newsfeeds/models/fields/modal/newsfeed.php +++ b/administrator/components/com_newsfeeds/models/fields/modal/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/models/fields/newsfeeds.php b/administrator/components/com_newsfeeds/models/fields/newsfeeds.php index 3eb638fb58eb5..e3ec0feb7e508 100644 --- a/administrator/components/com_newsfeeds/models/fields/newsfeeds.php +++ b/administrator/components/com_newsfeeds/models/fields/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/models/newsfeed.php b/administrator/components/com_newsfeeds/models/newsfeed.php index c3cf178e4b808..97ee58633890d 100644 --- a/administrator/components/com_newsfeeds/models/newsfeed.php +++ b/administrator/components/com_newsfeeds/models/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/models/newsfeeds.php b/administrator/components/com_newsfeeds/models/newsfeeds.php index 4121ce897a29a..babf971d30865 100644 --- a/administrator/components/com_newsfeeds/models/newsfeeds.php +++ b/administrator/components/com_newsfeeds/models/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/newsfeeds.php b/administrator/components/com_newsfeeds/newsfeeds.php index aa0a608a1f17a..e52cfd3982e76 100644 --- a/administrator/components/com_newsfeeds/newsfeeds.php +++ b/administrator/components/com_newsfeeds/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/newsfeeds.xml b/administrator/components/com_newsfeeds/newsfeeds.xml index 1e2f3be470a61..695bf2d5bfe03 100644 --- a/administrator/components/com_newsfeeds/newsfeeds.xml +++ b/administrator/components/com_newsfeeds/newsfeeds.xml @@ -3,7 +3,7 @@ <name>com_newsfeeds</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_newsfeeds/tables/newsfeed.php b/administrator/components/com_newsfeeds/tables/newsfeed.php index 7080f924fc024..f192137906b30 100644 --- a/administrator/components/com_newsfeeds/tables/newsfeed.php +++ b/administrator/components/com_newsfeeds/tables/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit.php index 1447ba96333c0..eec01df5eb33d 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_associations.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_associations.php index 38de9c2f4c70d..6fc43ee84f1f0 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_associations.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_display.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_display.php index e4a190d512cb5..0d2c57e4bb975 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_display.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_display.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_metadata.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_metadata.php index 446c938e51468..2d278c9a79a69 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_metadata.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_params.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_params.php index 66665ade073a5..fba6abf5ba4f9 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_params.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/edit_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal.php index 9a5fd3ddb898a..5e4c05b05d11b 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_associations.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_associations.php index 38de9c2f4c70d..6fc43ee84f1f0 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_associations.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_associations.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_display.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_display.php index e4a190d512cb5..0d2c57e4bb975 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_display.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_display.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_metadata.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_metadata.php index 446c938e51468..2d278c9a79a69 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_metadata.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_params.php b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_params.php index 66665ade073a5..fba6abf5ba4f9 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_params.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/tmpl/modal_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeed/view.html.php b/administrator/components/com_newsfeeds/views/newsfeed/view.html.php index c0c97748690d7..286f360c80670 100644 --- a/administrator/components/com_newsfeeds/views/newsfeed/view.html.php +++ b/administrator/components/com_newsfeeds/views/newsfeed/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default.php b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default.php index d71d1fbb7d3a2..4c5680aab10be 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_body.php b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_body.php index 567b6e8698e20..ceb861dbf0a15 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_body.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_footer.php b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_footer.php index d0a7643556480..4d79f87e088d4 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_footer.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/modal.php b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/modal.php index 7a695bf62f2b4..68db24637e812 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/modal.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php b/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php index a0b53863a913f..8e1de2d3fecdc 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/controller.php b/administrator/components/com_plugins/controller.php index a4199485c95d8..3a784e11db9cd 100644 --- a/administrator/components/com_plugins/controller.php +++ b/administrator/components/com_plugins/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/controllers/plugin.php b/administrator/components/com_plugins/controllers/plugin.php index 690880d1fff97..7fb11de44eefd 100644 --- a/administrator/components/com_plugins/controllers/plugin.php +++ b/administrator/components/com_plugins/controllers/plugin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/controllers/plugins.php b/administrator/components/com_plugins/controllers/plugins.php index d30db20d7912f..cfdbb56b350ae 100644 --- a/administrator/components/com_plugins/controllers/plugins.php +++ b/administrator/components/com_plugins/controllers/plugins.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/helpers/plugins.php b/administrator/components/com_plugins/helpers/plugins.php index 5a9909e2440f9..e69b6b22f637a 100644 --- a/administrator/components/com_plugins/helpers/plugins.php +++ b/administrator/components/com_plugins/helpers/plugins.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/models/fields/pluginordering.php b/administrator/components/com_plugins/models/fields/pluginordering.php index 361be0fbb8c5b..9e5775bdb4008 100644 --- a/administrator/components/com_plugins/models/fields/pluginordering.php +++ b/administrator/components/com_plugins/models/fields/pluginordering.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/models/fields/plugintype.php b/administrator/components/com_plugins/models/fields/plugintype.php index c53143b726e8a..ba00bd9f0a339 100644 --- a/administrator/components/com_plugins/models/fields/plugintype.php +++ b/administrator/components/com_plugins/models/fields/plugintype.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/models/plugin.php b/administrator/components/com_plugins/models/plugin.php index 0df24f63ef8a6..31ffc4931a919 100644 --- a/administrator/components/com_plugins/models/plugin.php +++ b/administrator/components/com_plugins/models/plugin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/models/plugins.php b/administrator/components/com_plugins/models/plugins.php index e90ffc89d2787..0d6217ac796a7 100644 --- a/administrator/components/com_plugins/models/plugins.php +++ b/administrator/components/com_plugins/models/plugins.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/plugins.php b/administrator/components/com_plugins/plugins.php index d46badb9143da..f6d29bd7b6a8a 100644 --- a/administrator/components/com_plugins/plugins.php +++ b/administrator/components/com_plugins/plugins.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/plugins.xml b/administrator/components/com_plugins/plugins.xml index 6ff94eda6e4e6..494d3f066137c 100644 --- a/administrator/components/com_plugins/plugins.xml +++ b/administrator/components/com_plugins/plugins.xml @@ -3,7 +3,7 @@ <name>com_plugins</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_plugins/views/plugin/tmpl/edit.php b/administrator/components/com_plugins/views/plugin/tmpl/edit.php index afdc6a6bbfa03..a10b3f04d3c3e 100644 --- a/administrator/components/com_plugins/views/plugin/tmpl/edit.php +++ b/administrator/components/com_plugins/views/plugin/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/views/plugin/tmpl/edit_options.php b/administrator/components/com_plugins/views/plugin/tmpl/edit_options.php index aac7c0bb73304..536fd304ea79b 100644 --- a/administrator/components/com_plugins/views/plugin/tmpl/edit_options.php +++ b/administrator/components/com_plugins/views/plugin/tmpl/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/views/plugin/tmpl/modal.php b/administrator/components/com_plugins/views/plugin/tmpl/modal.php index b8e4f6dcf2355..abb73ef74d7e3 100644 --- a/administrator/components/com_plugins/views/plugin/tmpl/modal.php +++ b/administrator/components/com_plugins/views/plugin/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/views/plugin/view.html.php b/administrator/components/com_plugins/views/plugin/view.html.php index 0dd7a1ec8c469..35f4afafb0f0e 100644 --- a/administrator/components/com_plugins/views/plugin/view.html.php +++ b/administrator/components/com_plugins/views/plugin/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/views/plugins/tmpl/default.php b/administrator/components/com_plugins/views/plugins/tmpl/default.php index 7833a007abe95..219a28f51e641 100644 --- a/administrator/components/com_plugins/views/plugins/tmpl/default.php +++ b/administrator/components/com_plugins/views/plugins/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_plugins/views/plugins/view.html.php b/administrator/components/com_plugins/views/plugins/view.html.php index 37b33991946f3..7ab0843edf9c2 100644 --- a/administrator/components/com_plugins/views/plugins/view.html.php +++ b/administrator/components/com_plugins/views/plugins/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/controllers/message.php b/administrator/components/com_postinstall/controllers/message.php index b1b8c732ed317..f7c3d3e9a4571 100644 --- a/administrator/components/com_postinstall/controllers/message.php +++ b/administrator/components/com_postinstall/controllers/message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/models/messages.php b/administrator/components/com_postinstall/models/messages.php index 9a9667bf7f889..7228f8d27077b 100644 --- a/administrator/components/com_postinstall/models/messages.php +++ b/administrator/components/com_postinstall/models/messages.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/postinstall.php b/administrator/components/com_postinstall/postinstall.php index d8fee19491017..a25b9f89ac148 100644 --- a/administrator/components/com_postinstall/postinstall.php +++ b/administrator/components/com_postinstall/postinstall.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/postinstall.xml b/administrator/components/com_postinstall/postinstall.xml index f91c08a96b7f6..4f5fa2118be08 100644 --- a/administrator/components/com_postinstall/postinstall.xml +++ b/administrator/components/com_postinstall/postinstall.xml @@ -3,7 +3,7 @@ <name>com_postinstall</name> <author>Joomla! Project</author> <creationDate>September 2013</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_postinstall/toolbar.php b/administrator/components/com_postinstall/toolbar.php index 4b8753a8381ea..e797f406f1355 100644 --- a/administrator/components/com_postinstall/toolbar.php +++ b/administrator/components/com_postinstall/toolbar.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/views/messages/tmpl/default.php b/administrator/components/com_postinstall/views/messages/tmpl/default.php index 1c2d9f6d0d0a4..4e0f81a6a58df 100644 --- a/administrator/components/com_postinstall/views/messages/tmpl/default.php +++ b/administrator/components/com_postinstall/views/messages/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_postinstall/views/messages/view.html.php b/administrator/components/com_postinstall/views/messages/view.html.php index 7cfffa8c46edc..b035633bf936f 100644 --- a/administrator/components/com_postinstall/views/messages/view.html.php +++ b/administrator/components/com_postinstall/views/messages/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/controller.php b/administrator/components/com_redirect/controller.php index b2abc3fb35575..7ce22435a2d47 100644 --- a/administrator/components/com_redirect/controller.php +++ b/administrator/components/com_redirect/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/controllers/link.php b/administrator/components/com_redirect/controllers/link.php index 491e5d0dfd2ed..2d1e8fb0325c0 100644 --- a/administrator/components/com_redirect/controllers/link.php +++ b/administrator/components/com_redirect/controllers/link.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/controllers/links.php b/administrator/components/com_redirect/controllers/links.php index 79985b547ae1c..8b5137685536d 100644 --- a/administrator/components/com_redirect/controllers/links.php +++ b/administrator/components/com_redirect/controllers/links.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/helpers/html/redirect.php b/administrator/components/com_redirect/helpers/html/redirect.php index 4eaf07184b1b7..e9f0eb4c1c755 100644 --- a/administrator/components/com_redirect/helpers/html/redirect.php +++ b/administrator/components/com_redirect/helpers/html/redirect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/helpers/redirect.php b/administrator/components/com_redirect/helpers/redirect.php index 9951d3300280c..e5a9b07eb0438 100644 --- a/administrator/components/com_redirect/helpers/redirect.php +++ b/administrator/components/com_redirect/helpers/redirect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/layouts/toolbar/batch.php b/administrator/components/com_redirect/layouts/toolbar/batch.php index dabf6babe5041..6eb3c0218b596 100644 --- a/administrator/components/com_redirect/layouts/toolbar/batch.php +++ b/administrator/components/com_redirect/layouts/toolbar/batch.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/models/fields/redirect.php b/administrator/components/com_redirect/models/fields/redirect.php index 2daf53e9ef786..d1655c045c49e 100644 --- a/administrator/components/com_redirect/models/fields/redirect.php +++ b/administrator/components/com_redirect/models/fields/redirect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/models/link.php b/administrator/components/com_redirect/models/link.php index c0e7203ba9778..f393a8285c400 100644 --- a/administrator/components/com_redirect/models/link.php +++ b/administrator/components/com_redirect/models/link.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/models/links.php b/administrator/components/com_redirect/models/links.php index 25934d98015f5..e85e0502de2fc 100644 --- a/administrator/components/com_redirect/models/links.php +++ b/administrator/components/com_redirect/models/links.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/redirect.php b/administrator/components/com_redirect/redirect.php index da376b562f0d2..129c48c38ec35 100644 --- a/administrator/components/com_redirect/redirect.php +++ b/administrator/components/com_redirect/redirect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/redirect.xml b/administrator/components/com_redirect/redirect.xml index b2ebc17f771d2..d5168eaefce53 100644 --- a/administrator/components/com_redirect/redirect.xml +++ b/administrator/components/com_redirect/redirect.xml @@ -3,7 +3,7 @@ <name>com_redirect</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_redirect/tables/link.php b/administrator/components/com_redirect/tables/link.php index fec737d68869f..b8306122b6b71 100644 --- a/administrator/components/com_redirect/tables/link.php +++ b/administrator/components/com_redirect/tables/link.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/views/link/tmpl/edit.php b/administrator/components/com_redirect/views/link/tmpl/edit.php index 45cbb3e4520ef..8cf3d37452ab5 100644 --- a/administrator/components/com_redirect/views/link/tmpl/edit.php +++ b/administrator/components/com_redirect/views/link/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/views/link/view.html.php b/administrator/components/com_redirect/views/link/view.html.php index 4795ea95bcb15..f56735449f708 100644 --- a/administrator/components/com_redirect/views/link/view.html.php +++ b/administrator/components/com_redirect/views/link/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/views/links/tmpl/default.php b/administrator/components/com_redirect/views/links/tmpl/default.php index 199d0a6d2f40f..deae24b325918 100644 --- a/administrator/components/com_redirect/views/links/tmpl/default.php +++ b/administrator/components/com_redirect/views/links/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/views/links/tmpl/default_addform.php b/administrator/components/com_redirect/views/links/tmpl/default_addform.php index ca88ff47562d3..81f9b81d81dfa 100644 --- a/administrator/components/com_redirect/views/links/tmpl/default_addform.php +++ b/administrator/components/com_redirect/views/links/tmpl/default_addform.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_redirect/views/links/tmpl/default_batch_body.php b/administrator/components/com_redirect/views/links/tmpl/default_batch_body.php index ab8e12ef7976b..4db253d9a12c1 100644 --- a/administrator/components/com_redirect/views/links/tmpl/default_batch_body.php +++ b/administrator/components/com_redirect/views/links/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_redirect/views/links/tmpl/default_batch_footer.php b/administrator/components/com_redirect/views/links/tmpl/default_batch_footer.php index 430158e097cd5..d28cb1e2d7224 100644 --- a/administrator/components/com_redirect/views/links/tmpl/default_batch_footer.php +++ b/administrator/components/com_redirect/views/links/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_redirect/views/links/view.html.php b/administrator/components/com_redirect/views/links/view.html.php index ae3f8d3220ce2..40319b23abc1a 100644 --- a/administrator/components/com_redirect/views/links/view.html.php +++ b/administrator/components/com_redirect/views/links/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/controller.php b/administrator/components/com_search/controller.php index 66e567bf20662..a11fcf1b7c011 100644 --- a/administrator/components/com_search/controller.php +++ b/administrator/components/com_search/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/controllers/searches.php b/administrator/components/com_search/controllers/searches.php index bd590dfb3ada7..91047565cdba4 100644 --- a/administrator/components/com_search/controllers/searches.php +++ b/administrator/components/com_search/controllers/searches.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/helpers/search.php b/administrator/components/com_search/helpers/search.php index fc0e973c35b60..2663e20a70bc3 100644 --- a/administrator/components/com_search/helpers/search.php +++ b/administrator/components/com_search/helpers/search.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/helpers/site.php b/administrator/components/com_search/helpers/site.php index ee651450edf6e..0b3c2ec7aa3d3 100644 --- a/administrator/components/com_search/helpers/site.php +++ b/administrator/components/com_search/helpers/site.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/models/searches.php b/administrator/components/com_search/models/searches.php index 1ed48ec25f3ae..32bbc596a190e 100644 --- a/administrator/components/com_search/models/searches.php +++ b/administrator/components/com_search/models/searches.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/search.php b/administrator/components/com_search/search.php index 9bdbd0c930af5..8275e0bf17444 100644 --- a/administrator/components/com_search/search.php +++ b/administrator/components/com_search/search.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/search.xml b/administrator/components/com_search/search.xml index 1dc7a24799a71..d395afa98ab5e 100644 --- a/administrator/components/com_search/search.xml +++ b/administrator/components/com_search/search.xml @@ -3,7 +3,7 @@ <name>com_search</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_search/views/searches/tmpl/default.php b/administrator/components/com_search/views/searches/tmpl/default.php index bf267d93be3ec..6b607329d6e2a 100644 --- a/administrator/components/com_search/views/searches/tmpl/default.php +++ b/administrator/components/com_search/views/searches/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_search/views/searches/view.html.php b/administrator/components/com_search/views/searches/view.html.php index ac5d5157f51dc..004993e86950a 100644 --- a/administrator/components/com_search/views/searches/view.html.php +++ b/administrator/components/com_search/views/searches/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/controller.php b/administrator/components/com_tags/controller.php index f2c7fc3592e8b..cdd19de665200 100644 --- a/administrator/components/com_tags/controller.php +++ b/administrator/components/com_tags/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/controllers/tag.php b/administrator/components/com_tags/controllers/tag.php index 235e6238f5567..7623d25bbc0d3 100644 --- a/administrator/components/com_tags/controllers/tag.php +++ b/administrator/components/com_tags/controllers/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/controllers/tags.php b/administrator/components/com_tags/controllers/tags.php index cd8bff2848096..21df3c04538fd 100644 --- a/administrator/components/com_tags/controllers/tags.php +++ b/administrator/components/com_tags/controllers/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/helpers/tags.php b/administrator/components/com_tags/helpers/tags.php index 8e1b0902a41dd..3ad8d607de439 100644 --- a/administrator/components/com_tags/helpers/tags.php +++ b/administrator/components/com_tags/helpers/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/models/tag.php b/administrator/components/com_tags/models/tag.php index 85e653e8aa8d3..e4d43b2fcb89c 100644 --- a/administrator/components/com_tags/models/tag.php +++ b/administrator/components/com_tags/models/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/models/tags.php b/administrator/components/com_tags/models/tags.php index 3cea0fba897bc..38472621d4b11 100644 --- a/administrator/components/com_tags/models/tags.php +++ b/administrator/components/com_tags/models/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/tables/tag.php b/administrator/components/com_tags/tables/tag.php index efd8e856060d3..c1ae9af06f049 100644 --- a/administrator/components/com_tags/tables/tag.php +++ b/administrator/components/com_tags/tables/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/tags.php b/administrator/components/com_tags/tags.php index 56823e1d6a4c6..76d7890bd5b68 100644 --- a/administrator/components/com_tags/tags.php +++ b/administrator/components/com_tags/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/tags.xml b/administrator/components/com_tags/tags.xml index 07b2c92243335..2ceb149ae4730 100644 --- a/administrator/components/com_tags/tags.xml +++ b/administrator/components/com_tags/tags.xml @@ -3,7 +3,7 @@ <name>com_tags</name> <author>Joomla! Project</author> <creationDate>December 2013</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_tags/views/tag/tmpl/edit.php b/administrator/components/com_tags/views/tag/tmpl/edit.php index 1aa5087eaec80..d7b7d835b002f 100644 --- a/administrator/components/com_tags/views/tag/tmpl/edit.php +++ b/administrator/components/com_tags/views/tag/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/views/tag/tmpl/edit_metadata.php b/administrator/components/com_tags/views/tag/tmpl/edit_metadata.php index 42f305b88ee48..45e13c468cdb3 100644 --- a/administrator/components/com_tags/views/tag/tmpl/edit_metadata.php +++ b/administrator/components/com_tags/views/tag/tmpl/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/views/tag/tmpl/edit_options.php b/administrator/components/com_tags/views/tag/tmpl/edit_options.php index 85b595a38e411..1cefcdccb78a1 100644 --- a/administrator/components/com_tags/views/tag/tmpl/edit_options.php +++ b/administrator/components/com_tags/views/tag/tmpl/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/views/tag/view.html.php b/administrator/components/com_tags/views/tag/view.html.php index cb1889ca3f5c9..48ae84ecaccfa 100644 --- a/administrator/components/com_tags/views/tag/view.html.php +++ b/administrator/components/com_tags/views/tag/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/views/tags/tmpl/default.php b/administrator/components/com_tags/views/tags/tmpl/default.php index 723b3e679c584..36e04661a1182 100644 --- a/administrator/components/com_tags/views/tags/tmpl/default.php +++ b/administrator/components/com_tags/views/tags/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_tags/views/tags/tmpl/default_batch_body.php b/administrator/components/com_tags/views/tags/tmpl/default_batch_body.php index 6da4127511ee5..e01ab9653387c 100644 --- a/administrator/components/com_tags/views/tags/tmpl/default_batch_body.php +++ b/administrator/components/com_tags/views/tags/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_tags/views/tags/tmpl/default_batch_footer.php b/administrator/components/com_tags/views/tags/tmpl/default_batch_footer.php index fe6ad8be32017..014201891eb65 100644 --- a/administrator/components/com_tags/views/tags/tmpl/default_batch_footer.php +++ b/administrator/components/com_tags/views/tags/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_tags/views/tags/view.html.php b/administrator/components/com_tags/views/tags/view.html.php index 440e486fb7832..b2d0b39e1a97c 100644 --- a/administrator/components/com_tags/views/tags/view.html.php +++ b/administrator/components/com_tags/views/tags/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/controller.php b/administrator/components/com_templates/controller.php index d798d99244e73..a8cc5f7d5a3b3 100644 --- a/administrator/components/com_templates/controller.php +++ b/administrator/components/com_templates/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/controllers/style.php b/administrator/components/com_templates/controllers/style.php index 8ec54d9a3ef27..965000c7387e7 100644 --- a/administrator/components/com_templates/controllers/style.php +++ b/administrator/components/com_templates/controllers/style.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/controllers/styles.php b/administrator/components/com_templates/controllers/styles.php index 93e3c9ca57319..eca41c9731921 100644 --- a/administrator/components/com_templates/controllers/styles.php +++ b/administrator/components/com_templates/controllers/styles.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/controllers/template.php b/administrator/components/com_templates/controllers/template.php index 58caba3f1836a..ed6951178b0d0 100644 --- a/administrator/components/com_templates/controllers/template.php +++ b/administrator/components/com_templates/controllers/template.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/helpers/html/templates.php b/administrator/components/com_templates/helpers/html/templates.php index 4387fa1d7e62e..97a7e251a7309 100644 --- a/administrator/components/com_templates/helpers/html/templates.php +++ b/administrator/components/com_templates/helpers/html/templates.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/helpers/template.php b/administrator/components/com_templates/helpers/template.php index c24d832be1a0c..89b98753aab5b 100644 --- a/administrator/components/com_templates/helpers/template.php +++ b/administrator/components/com_templates/helpers/template.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/helpers/templates.php b/administrator/components/com_templates/helpers/templates.php index 2b3b5dc70d851..e24bb662bd230 100644 --- a/administrator/components/com_templates/helpers/templates.php +++ b/administrator/components/com_templates/helpers/templates.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/fields/templatelocation.php b/administrator/components/com_templates/models/fields/templatelocation.php index a38fd002011ed..8db12707af91e 100644 --- a/administrator/components/com_templates/models/fields/templatelocation.php +++ b/administrator/components/com_templates/models/fields/templatelocation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/fields/templatename.php b/administrator/components/com_templates/models/fields/templatename.php index 3b640995b7079..9c1b6e29063f9 100644 --- a/administrator/components/com_templates/models/fields/templatename.php +++ b/administrator/components/com_templates/models/fields/templatename.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/style.php b/administrator/components/com_templates/models/style.php index 1cd1487d5650c..fb06bfaede2da 100644 --- a/administrator/components/com_templates/models/style.php +++ b/administrator/components/com_templates/models/style.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/styles.php b/administrator/components/com_templates/models/styles.php index 86fbaf6a51581..e00b16792adea 100644 --- a/administrator/components/com_templates/models/styles.php +++ b/administrator/components/com_templates/models/styles.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/template.php b/administrator/components/com_templates/models/template.php index 6e663acc7dbee..3a7c36bf6b271 100644 --- a/administrator/components/com_templates/models/template.php +++ b/administrator/components/com_templates/models/template.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/models/templates.php b/administrator/components/com_templates/models/templates.php index e145fc15f364c..77e2e1b25968c 100644 --- a/administrator/components/com_templates/models/templates.php +++ b/administrator/components/com_templates/models/templates.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/tables/style.php b/administrator/components/com_templates/tables/style.php index 47882500d279e..08bec641347d1 100644 --- a/administrator/components/com_templates/tables/style.php +++ b/administrator/components/com_templates/tables/style.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/templates.php b/administrator/components/com_templates/templates.php index 51f9d1becdb44..0e902ffbf6989 100644 --- a/administrator/components/com_templates/templates.php +++ b/administrator/components/com_templates/templates.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/templates.xml b/administrator/components/com_templates/templates.xml index 6b98efe365c69..4335da1ee756c 100644 --- a/administrator/components/com_templates/templates.xml +++ b/administrator/components/com_templates/templates.xml @@ -3,7 +3,7 @@ <name>com_templates</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_templates/views/style/tmpl/edit.php b/administrator/components/com_templates/views/style/tmpl/edit.php index f9daadf4b80f4..ef5bc0c902e73 100644 --- a/administrator/components/com_templates/views/style/tmpl/edit.php +++ b/administrator/components/com_templates/views/style/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/style/tmpl/edit_assignment.php b/administrator/components/com_templates/views/style/tmpl/edit_assignment.php index 5e103c458aa8b..e3467788c7084 100644 --- a/administrator/components/com_templates/views/style/tmpl/edit_assignment.php +++ b/administrator/components/com_templates/views/style/tmpl/edit_assignment.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/style/tmpl/edit_options.php b/administrator/components/com_templates/views/style/tmpl/edit_options.php index e66de144d9f97..a68dbfd1993a5 100644 --- a/administrator/components/com_templates/views/style/tmpl/edit_options.php +++ b/administrator/components/com_templates/views/style/tmpl/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/style/view.html.php b/administrator/components/com_templates/views/style/view.html.php index 6fb881a62da86..3eee1842af71b 100644 --- a/administrator/components/com_templates/views/style/view.html.php +++ b/administrator/components/com_templates/views/style/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/style/view.json.php b/administrator/components/com_templates/views/style/view.json.php index 874c705139a15..fdc2d73b78f02 100644 --- a/administrator/components/com_templates/views/style/view.json.php +++ b/administrator/components/com_templates/views/style/view.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/styles/tmpl/default.php b/administrator/components/com_templates/views/styles/tmpl/default.php index d6b617811dd9c..9e76138fcbd63 100644 --- a/administrator/components/com_templates/views/styles/tmpl/default.php +++ b/administrator/components/com_templates/views/styles/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/styles/view.html.php b/administrator/components/com_templates/views/styles/view.html.php index 9e5815d2b4bd8..937f940c856b2 100644 --- a/administrator/components/com_templates/views/styles/view.html.php +++ b/administrator/components/com_templates/views/styles/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default.php b/administrator/components/com_templates/views/template/tmpl/default.php index c053fb8fde2e5..b6fa01ec36b5d 100644 --- a/administrator/components/com_templates/views/template/tmpl/default.php +++ b/administrator/components/com_templates/views/template/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_description.php b/administrator/components/com_templates/views/template/tmpl/default_description.php index 92bc1eda3d1dd..40b3ce7712710 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_description.php +++ b/administrator/components/com_templates/views/template/tmpl/default_description.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_folders.php b/administrator/components/com_templates/views/template/tmpl/default_folders.php index 9a8b5cb7e9af7..7d6738079c98c 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_folders.php +++ b/administrator/components/com_templates/views/template/tmpl/default_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_copy_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_copy_body.php index 9f93d910f389a..e733508a88eb1 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_copy_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_copy_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_copy_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_copy_footer.php index 00ae2fb775bc4..cdc26f3ff8621 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_copy_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_copy_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_delete_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_delete_body.php index 9d8af625d5ba9..d8d8f59d0005f 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_delete_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_delete_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_delete_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_delete_footer.php index 97ab4b99ac9fb..a98ecf24fd9c4 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_delete_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_delete_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php index 49d950c66f524..7b41a19708099 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_file_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_file_footer.php index af66d1df4c2a3..e13f4a7365855 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_file_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_file_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_folder_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_folder_body.php index a0717c3c13905..105488d5fb224 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_folder_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_folder_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_folder_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_folder_footer.php index a8c302586ab66..d27a623248731 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_folder_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_folder_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_rename_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_rename_body.php index d0fdf70402d0f..83402a0c02707 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_rename_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_rename_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_rename_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_rename_footer.php index 3ff7018f8702e..c37c1eb4cdbfd 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_rename_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_rename_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_resize_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_resize_body.php index 7f5e711215e39..b53b6f71768c5 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_resize_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_resize_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_resize_footer.php b/administrator/components/com_templates/views/template/tmpl/default_modal_resize_footer.php index 303af44cc620a..9430bba8d81de 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_resize_footer.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_resize_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/default_tree.php b/administrator/components/com_templates/views/template/tmpl/default_tree.php index 24bdaa79fe065..f00e38768fde3 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_tree.php +++ b/administrator/components/com_templates/views/template/tmpl/default_tree.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/tmpl/readonly.php b/administrator/components/com_templates/views/template/tmpl/readonly.php index c3561b96b1d17..06bf02ded3ab7 100644 --- a/administrator/components/com_templates/views/template/tmpl/readonly.php +++ b/administrator/components/com_templates/views/template/tmpl/readonly.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/template/view.html.php b/administrator/components/com_templates/views/template/view.html.php index bed2894a30029..681ec0f034d50 100644 --- a/administrator/components/com_templates/views/template/view.html.php +++ b/administrator/components/com_templates/views/template/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/templates/tmpl/default.php b/administrator/components/com_templates/views/templates/tmpl/default.php index 25605df69d609..784ed2d7e2a82 100644 --- a/administrator/components/com_templates/views/templates/tmpl/default.php +++ b/administrator/components/com_templates/views/templates/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_templates/views/templates/view.html.php b/administrator/components/com_templates/views/templates/view.html.php index 4b6fb9ba67557..57dddc6679cce 100644 --- a/administrator/components/com_templates/views/templates/view.html.php +++ b/administrator/components/com_templates/views/templates/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controller.php b/administrator/components/com_users/controller.php index 58670429d8a35..8e64e70ee7753 100644 --- a/administrator/components/com_users/controller.php +++ b/administrator/components/com_users/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/group.php b/administrator/components/com_users/controllers/group.php index 257322dbe9918..e0ea7e35b4ff5 100644 --- a/administrator/components/com_users/controllers/group.php +++ b/administrator/components/com_users/controllers/group.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/groups.php b/administrator/components/com_users/controllers/groups.php index a5b499c684ae6..7992a518f199b 100644 --- a/administrator/components/com_users/controllers/groups.php +++ b/administrator/components/com_users/controllers/groups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/level.php b/administrator/components/com_users/controllers/level.php index cd0308d90c4ca..7f1fb6a48c70f 100644 --- a/administrator/components/com_users/controllers/level.php +++ b/administrator/components/com_users/controllers/level.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/levels.php b/administrator/components/com_users/controllers/levels.php index 81f2237bac3bd..1744575e8daf1 100644 --- a/administrator/components/com_users/controllers/levels.php +++ b/administrator/components/com_users/controllers/levels.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/mail.php b/administrator/components/com_users/controllers/mail.php index 75d591d363460..759186b28f249 100644 --- a/administrator/components/com_users/controllers/mail.php +++ b/administrator/components/com_users/controllers/mail.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/note.php b/administrator/components/com_users/controllers/note.php index 2e720a204415a..2136f7dae9d8f 100644 --- a/administrator/components/com_users/controllers/note.php +++ b/administrator/components/com_users/controllers/note.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/notes.php b/administrator/components/com_users/controllers/notes.php index 20d1d860fb39a..ba42bd85f3b4a 100644 --- a/administrator/components/com_users/controllers/notes.php +++ b/administrator/components/com_users/controllers/notes.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/profile.json.php b/administrator/components/com_users/controllers/profile.json.php index 51f6208a35b68..2b7fade24e126 100644 --- a/administrator/components/com_users/controllers/profile.json.php +++ b/administrator/components/com_users/controllers/profile.json.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/user.php b/administrator/components/com_users/controllers/user.php index 184448f76b25e..8420732682e6b 100644 --- a/administrator/components/com_users/controllers/user.php +++ b/administrator/components/com_users/controllers/user.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/controllers/users.php b/administrator/components/com_users/controllers/users.php index d74f90afbc4f8..607ce59230cde 100644 --- a/administrator/components/com_users/controllers/users.php +++ b/administrator/components/com_users/controllers/users.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/helpers/debug.php b/administrator/components/com_users/helpers/debug.php index e7cb88fe285c6..4a938950a4935 100644 --- a/administrator/components/com_users/helpers/debug.php +++ b/administrator/components/com_users/helpers/debug.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/helpers/html/users.php b/administrator/components/com_users/helpers/html/users.php index 7297997048339..e1a81604ba41b 100644 --- a/administrator/components/com_users/helpers/html/users.php +++ b/administrator/components/com_users/helpers/html/users.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/helpers/users.php b/administrator/components/com_users/helpers/users.php index f89cea596d06a..78bbc4965c80e 100644 --- a/administrator/components/com_users/helpers/users.php +++ b/administrator/components/com_users/helpers/users.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/debuggroup.php b/administrator/components/com_users/models/debuggroup.php index 2eb47602cf0a6..70617eb49785c 100644 --- a/administrator/components/com_users/models/debuggroup.php +++ b/administrator/components/com_users/models/debuggroup.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/debuguser.php b/administrator/components/com_users/models/debuguser.php index 4186469124975..584a4b825253a 100644 --- a/administrator/components/com_users/models/debuguser.php +++ b/administrator/components/com_users/models/debuguser.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/fields/groupparent.php b/administrator/components/com_users/models/fields/groupparent.php index b5dfdee562d3b..479a0f42e5622 100644 --- a/administrator/components/com_users/models/fields/groupparent.php +++ b/administrator/components/com_users/models/fields/groupparent.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/fields/levels.php b/administrator/components/com_users/models/fields/levels.php index 2f02b74fe4523..6c55ed0959390 100644 --- a/administrator/components/com_users/models/fields/levels.php +++ b/administrator/components/com_users/models/fields/levels.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/group.php b/administrator/components/com_users/models/group.php index 87b1eaba977f6..decedb93f6cac 100644 --- a/administrator/components/com_users/models/group.php +++ b/administrator/components/com_users/models/group.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/groups.php b/administrator/components/com_users/models/groups.php index 10a056b73cae0..6c2167f7ccf73 100644 --- a/administrator/components/com_users/models/groups.php +++ b/administrator/components/com_users/models/groups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/level.php b/administrator/components/com_users/models/level.php index 965481dc8bdbb..5bcdb8860e6bf 100644 --- a/administrator/components/com_users/models/level.php +++ b/administrator/components/com_users/models/level.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/levels.php b/administrator/components/com_users/models/levels.php index bdc8ad0a13067..896cdbe8c0a6b 100644 --- a/administrator/components/com_users/models/levels.php +++ b/administrator/components/com_users/models/levels.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/mail.php b/administrator/components/com_users/models/mail.php index 952b092283c51..274fb616fa621 100644 --- a/administrator/components/com_users/models/mail.php +++ b/administrator/components/com_users/models/mail.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/note.php b/administrator/components/com_users/models/note.php index 5a3a06cb43d21..123961edb7104 100644 --- a/administrator/components/com_users/models/note.php +++ b/administrator/components/com_users/models/note.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/notes.php b/administrator/components/com_users/models/notes.php index 3baacd2d5339d..9ab4a281d8f1f 100644 --- a/administrator/components/com_users/models/notes.php +++ b/administrator/components/com_users/models/notes.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/user.php b/administrator/components/com_users/models/user.php index db59dd5c9df40..458efaaa3fd71 100644 --- a/administrator/components/com_users/models/user.php +++ b/administrator/components/com_users/models/user.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/models/users.php b/administrator/components/com_users/models/users.php index 0c49455a362ad..c3e99c67aa8da 100644 --- a/administrator/components/com_users/models/users.php +++ b/administrator/components/com_users/models/users.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/tables/note.php b/administrator/components/com_users/tables/note.php index eab11724eaaed..a608c562c5a03 100644 --- a/administrator/components/com_users/tables/note.php +++ b/administrator/components/com_users/tables/note.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/users.php b/administrator/components/com_users/users.php index 738350140843e..48bdfbbc77d66 100644 --- a/administrator/components/com_users/users.php +++ b/administrator/components/com_users/users.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/users.xml b/administrator/components/com_users/users.xml index ae49263d7a3f9..0eafa9845ac5b 100644 --- a/administrator/components/com_users/users.xml +++ b/administrator/components/com_users/users.xml @@ -3,7 +3,7 @@ <name>com_users</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/components/com_users/views/debuggroup/tmpl/default.php b/administrator/components/com_users/views/debuggroup/tmpl/default.php index f44a8fd4bc025..532db349dfe5c 100644 --- a/administrator/components/com_users/views/debuggroup/tmpl/default.php +++ b/administrator/components/com_users/views/debuggroup/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/debuggroup/view.html.php b/administrator/components/com_users/views/debuggroup/view.html.php index a7d0876721ed7..c0e7fd8c2e907 100644 --- a/administrator/components/com_users/views/debuggroup/view.html.php +++ b/administrator/components/com_users/views/debuggroup/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/debuguser/tmpl/default.php b/administrator/components/com_users/views/debuguser/tmpl/default.php index 86332536c194c..e2b366ca6ddc1 100644 --- a/administrator/components/com_users/views/debuguser/tmpl/default.php +++ b/administrator/components/com_users/views/debuguser/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/debuguser/view.html.php b/administrator/components/com_users/views/debuguser/view.html.php index b44cdc80059ca..7a68dd46ab3b5 100644 --- a/administrator/components/com_users/views/debuguser/view.html.php +++ b/administrator/components/com_users/views/debuguser/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/group/tmpl/edit.php b/administrator/components/com_users/views/group/tmpl/edit.php index fa61c6cb80b5b..d2303520dfaa2 100644 --- a/administrator/components/com_users/views/group/tmpl/edit.php +++ b/administrator/components/com_users/views/group/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/group/view.html.php b/administrator/components/com_users/views/group/view.html.php index 51441f9f657e7..baf3b31114331 100644 --- a/administrator/components/com_users/views/group/view.html.php +++ b/administrator/components/com_users/views/group/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/groups/tmpl/default.php b/administrator/components/com_users/views/groups/tmpl/default.php index 0eb22e1a5cc05..09f7d64fe20b5 100644 --- a/administrator/components/com_users/views/groups/tmpl/default.php +++ b/administrator/components/com_users/views/groups/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/groups/view.html.php b/administrator/components/com_users/views/groups/view.html.php index e7b9585c97c6b..c9fe97410f243 100644 --- a/administrator/components/com_users/views/groups/view.html.php +++ b/administrator/components/com_users/views/groups/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/level/tmpl/edit.php b/administrator/components/com_users/views/level/tmpl/edit.php index de503587ee302..61aec7df4b292 100644 --- a/administrator/components/com_users/views/level/tmpl/edit.php +++ b/administrator/components/com_users/views/level/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/level/view.html.php b/administrator/components/com_users/views/level/view.html.php index baafec84b7d56..5638941b40cab 100644 --- a/administrator/components/com_users/views/level/view.html.php +++ b/administrator/components/com_users/views/level/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/levels/tmpl/default.php b/administrator/components/com_users/views/levels/tmpl/default.php index f14e1bf7f306a..14b6e6d60bb36 100644 --- a/administrator/components/com_users/views/levels/tmpl/default.php +++ b/administrator/components/com_users/views/levels/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/levels/view.html.php b/administrator/components/com_users/views/levels/view.html.php index 7018ee0d51938..ff439227abc72 100644 --- a/administrator/components/com_users/views/levels/view.html.php +++ b/administrator/components/com_users/views/levels/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/mail/tmpl/default.php b/administrator/components/com_users/views/mail/tmpl/default.php index 5c846aa867882..671f7f8ead9f5 100644 --- a/administrator/components/com_users/views/mail/tmpl/default.php +++ b/administrator/components/com_users/views/mail/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/mail/view.html.php b/administrator/components/com_users/views/mail/view.html.php index de51ddc44392a..ae4f2831da4d5 100644 --- a/administrator/components/com_users/views/mail/view.html.php +++ b/administrator/components/com_users/views/mail/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/note/tmpl/edit.php b/administrator/components/com_users/views/note/tmpl/edit.php index 7ac538ce02b2a..3b448113241d9 100644 --- a/administrator/components/com_users/views/note/tmpl/edit.php +++ b/administrator/components/com_users/views/note/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/note/view.html.php b/administrator/components/com_users/views/note/view.html.php index f81c982637210..2b6e97be49b1f 100644 --- a/administrator/components/com_users/views/note/view.html.php +++ b/administrator/components/com_users/views/note/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/notes/tmpl/default.php b/administrator/components/com_users/views/notes/tmpl/default.php index 73f27c74c5937..0882e6d1f70c2 100644 --- a/administrator/components/com_users/views/notes/tmpl/default.php +++ b/administrator/components/com_users/views/notes/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/notes/tmpl/modal.php b/administrator/components/com_users/views/notes/tmpl/modal.php index 38e513a328f22..83eb1de0e9330 100644 --- a/administrator/components/com_users/views/notes/tmpl/modal.php +++ b/administrator/components/com_users/views/notes/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/notes/view.html.php b/administrator/components/com_users/views/notes/view.html.php index 87231cc8a6096..e01db127335e3 100644 --- a/administrator/components/com_users/views/notes/view.html.php +++ b/administrator/components/com_users/views/notes/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/user/tmpl/edit.php b/administrator/components/com_users/views/user/tmpl/edit.php index 0f1bc1b4ff3c3..0ee07452c686c 100644 --- a/administrator/components/com_users/views/user/tmpl/edit.php +++ b/administrator/components/com_users/views/user/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/user/tmpl/edit_groups.php b/administrator/components/com_users/views/user/tmpl/edit_groups.php index a7dcd5a550f7d..0dab8f7d5f38f 100644 --- a/administrator/components/com_users/views/user/tmpl/edit_groups.php +++ b/administrator/components/com_users/views/user/tmpl/edit_groups.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/user/view.html.php b/administrator/components/com_users/views/user/view.html.php index 2661d3d67bb6e..511403dd2fdf7 100644 --- a/administrator/components/com_users/views/user/view.html.php +++ b/administrator/components/com_users/views/user/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/users/tmpl/default.php b/administrator/components/com_users/views/users/tmpl/default.php index d2cadbb109290..56a930ec56631 100644 --- a/administrator/components/com_users/views/users/tmpl/default.php +++ b/administrator/components/com_users/views/users/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/users/tmpl/default_batch_body.php b/administrator/components/com_users/views/users/tmpl/default_batch_body.php index 71d4ad04fdef0..38bc4a7691e9a 100644 --- a/administrator/components/com_users/views/users/tmpl/default_batch_body.php +++ b/administrator/components/com_users/views/users/tmpl/default_batch_body.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_users/views/users/tmpl/default_batch_footer.php b/administrator/components/com_users/views/users/tmpl/default_batch_footer.php index 8de238c72982c..1da0d37095bbb 100644 --- a/administrator/components/com_users/views/users/tmpl/default_batch_footer.php +++ b/administrator/components/com_users/views/users/tmpl/default_batch_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/components/com_users/views/users/tmpl/modal.php b/administrator/components/com_users/views/users/tmpl/modal.php index e75112f5a1c45..f9991fd2a7b91 100644 --- a/administrator/components/com_users/views/users/tmpl/modal.php +++ b/administrator/components/com_users/views/users/tmpl/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_users/views/users/view.html.php b/administrator/components/com_users/views/users/view.html.php index d63dda297b9eb..91824550d74d1 100644 --- a/administrator/components/com_users/views/users/view.html.php +++ b/administrator/components/com_users/views/users/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/includes/defines.php b/administrator/includes/defines.php index 7eae321c31247..cf0c11a6c1566 100644 --- a/administrator/includes/defines.php +++ b/administrator/includes/defines.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/includes/framework.php b/administrator/includes/framework.php index bd02400901b5d..27b22a8bc76e0 100644 --- a/administrator/includes/framework.php +++ b/administrator/includes/framework.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/includes/helper.php b/administrator/includes/helper.php index 6cffde3da2288..1a7bb7d71a679 100644 --- a/administrator/includes/helper.php +++ b/administrator/includes/helper.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/includes/subtoolbar.php b/administrator/includes/subtoolbar.php index ae9d08a34bdf2..03833f6d533b5 100644 --- a/administrator/includes/subtoolbar.php +++ b/administrator/includes/subtoolbar.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/includes/toolbar.php b/administrator/includes/toolbar.php index 8b7d8007dd2b0..c7c5e84310733 100644 --- a/administrator/includes/toolbar.php +++ b/administrator/includes/toolbar.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/index.php b/administrator/index.php index a48b437d1e57c..ac537b53eb62b 100644 --- a/administrator/index.php +++ b/administrator/index.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/language/en-GB/en-GB.com_admin.ini b/administrator/language/en-GB/en-GB.com_admin.ini index 09c48dddd04ea..fc518aee364ae 100644 --- a/administrator/language/en-GB/en-GB.com_admin.ini +++ b/administrator/language/en-GB/en-GB.com_admin.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_admin.sys.ini b/administrator/language/en-GB/en-GB.com_admin.sys.ini index 62a46c9b9c568..33a6bc206898c 100644 --- a/administrator/language/en-GB/en-GB.com_admin.sys.ini +++ b/administrator/language/en-GB/en-GB.com_admin.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_ajax.ini b/administrator/language/en-GB/en-GB.com_ajax.ini index 8bb5ea675bda6..cef5ced392ffa 100644 --- a/administrator/language/en-GB/en-GB.com_ajax.ini +++ b/administrator/language/en-GB/en-GB.com_ajax.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_ajax.sys.ini b/administrator/language/en-GB/en-GB.com_ajax.sys.ini index 2172e80befcca..a281c5710b188 100644 --- a/administrator/language/en-GB/en-GB.com_ajax.sys.ini +++ b/administrator/language/en-GB/en-GB.com_ajax.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_associations.ini b/administrator/language/en-GB/en-GB.com_associations.ini index 8d626fc125c94..e4d06b5829e55 100644 --- a/administrator/language/en-GB/en-GB.com_associations.ini +++ b/administrator/language/en-GB/en-GB.com_associations.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_associations.sys.ini b/administrator/language/en-GB/en-GB.com_associations.sys.ini index 34a1ef15a42c1..f6f948cec1cf7 100644 --- a/administrator/language/en-GB/en-GB.com_associations.sys.ini +++ b/administrator/language/en-GB/en-GB.com_associations.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_banners.ini b/administrator/language/en-GB/en-GB.com_banners.ini index b0da025926b54..0ea73e9425b6f 100644 --- a/administrator/language/en-GB/en-GB.com_banners.ini +++ b/administrator/language/en-GB/en-GB.com_banners.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_banners.sys.ini b/administrator/language/en-GB/en-GB.com_banners.sys.ini index e28d645abb936..6d6483da797a5 100644 --- a/administrator/language/en-GB/en-GB.com_banners.sys.ini +++ b/administrator/language/en-GB/en-GB.com_banners.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_cache.ini b/administrator/language/en-GB/en-GB.com_cache.ini index 86cafcd3ec4b9..12b520f6ba734 100644 --- a/administrator/language/en-GB/en-GB.com_cache.ini +++ b/administrator/language/en-GB/en-GB.com_cache.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_cache.sys.ini b/administrator/language/en-GB/en-GB.com_cache.sys.ini index e101b799f2207..128c508017ad2 100644 --- a/administrator/language/en-GB/en-GB.com_cache.sys.ini +++ b/administrator/language/en-GB/en-GB.com_cache.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_categories.ini b/administrator/language/en-GB/en-GB.com_categories.ini index 3149aa730603d..014b19f10a041 100644 --- a/administrator/language/en-GB/en-GB.com_categories.ini +++ b/administrator/language/en-GB/en-GB.com_categories.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_categories.sys.ini b/administrator/language/en-GB/en-GB.com_categories.sys.ini index 47c36e75ce27f..17708ea68bb33 100644 --- a/administrator/language/en-GB/en-GB.com_categories.sys.ini +++ b/administrator/language/en-GB/en-GB.com_categories.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_checkin.ini b/administrator/language/en-GB/en-GB.com_checkin.ini index 15ed6839b8e93..7183cf0b4976a 100644 --- a/administrator/language/en-GB/en-GB.com_checkin.ini +++ b/administrator/language/en-GB/en-GB.com_checkin.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_checkin.sys.ini b/administrator/language/en-GB/en-GB.com_checkin.sys.ini index c1b1dd9c1b2ed..e272c30509263 100644 --- a/administrator/language/en-GB/en-GB.com_checkin.sys.ini +++ b/administrator/language/en-GB/en-GB.com_checkin.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_config.ini b/administrator/language/en-GB/en-GB.com_config.ini index 2c2cbc8b5a735..d19fa8c8e2357 100644 --- a/administrator/language/en-GB/en-GB.com_config.ini +++ b/administrator/language/en-GB/en-GB.com_config.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_config.sys.ini b/administrator/language/en-GB/en-GB.com_config.sys.ini index 1290f5c3dcbe0..154319070b5a4 100644 --- a/administrator/language/en-GB/en-GB.com_config.sys.ini +++ b/administrator/language/en-GB/en-GB.com_config.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_contact.ini b/administrator/language/en-GB/en-GB.com_contact.ini index 1838b21b06056..32e9d213392e5 100644 --- a/administrator/language/en-GB/en-GB.com_contact.ini +++ b/administrator/language/en-GB/en-GB.com_contact.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_contact.sys.ini b/administrator/language/en-GB/en-GB.com_contact.sys.ini index 48138527e1023..c65d6e6a9043c 100644 --- a/administrator/language/en-GB/en-GB.com_contact.sys.ini +++ b/administrator/language/en-GB/en-GB.com_contact.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_content.ini b/administrator/language/en-GB/en-GB.com_content.ini index 1af38e2f068b6..af939a9d8d89a 100644 --- a/administrator/language/en-GB/en-GB.com_content.ini +++ b/administrator/language/en-GB/en-GB.com_content.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_content.sys.ini b/administrator/language/en-GB/en-GB.com_content.sys.ini index 2ccca9674bd95..f6d6a3112e5cd 100644 --- a/administrator/language/en-GB/en-GB.com_content.sys.ini +++ b/administrator/language/en-GB/en-GB.com_content.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_contenthistory.ini b/administrator/language/en-GB/en-GB.com_contenthistory.ini index 8e32979103bb9..d9fedf02f2380 100644 --- a/administrator/language/en-GB/en-GB.com_contenthistory.ini +++ b/administrator/language/en-GB/en-GB.com_contenthistory.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_contenthistory.sys.ini b/administrator/language/en-GB/en-GB.com_contenthistory.sys.ini index aac744a0e5a0f..dcdc1dd7e1fcd 100644 --- a/administrator/language/en-GB/en-GB.com_contenthistory.sys.ini +++ b/administrator/language/en-GB/en-GB.com_contenthistory.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_cpanel.ini b/administrator/language/en-GB/en-GB.com_cpanel.ini index 430b657c89e15..5c342a0353476 100644 --- a/administrator/language/en-GB/en-GB.com_cpanel.ini +++ b/administrator/language/en-GB/en-GB.com_cpanel.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_cpanel.sys.ini b/administrator/language/en-GB/en-GB.com_cpanel.sys.ini index 2a535faf4d8b5..b8a55976eb8da 100644 --- a/administrator/language/en-GB/en-GB.com_cpanel.sys.ini +++ b/administrator/language/en-GB/en-GB.com_cpanel.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_fields.ini b/administrator/language/en-GB/en-GB.com_fields.ini index bcc2991062be2..0c202fec9a8a6 100644 --- a/administrator/language/en-GB/en-GB.com_fields.ini +++ b/administrator/language/en-GB/en-GB.com_fields.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_fields.sys.ini b/administrator/language/en-GB/en-GB.com_fields.sys.ini index 57e0833577164..7363e71d64c42 100644 --- a/administrator/language/en-GB/en-GB.com_fields.sys.ini +++ b/administrator/language/en-GB/en-GB.com_fields.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_finder.ini b/administrator/language/en-GB/en-GB.com_finder.ini index be99e4a031da1..79eebc121c978 100644 --- a/administrator/language/en-GB/en-GB.com_finder.ini +++ b/administrator/language/en-GB/en-GB.com_finder.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_finder.sys.ini b/administrator/language/en-GB/en-GB.com_finder.sys.ini index 99fc8a883535f..82e4efce4713b 100644 --- a/administrator/language/en-GB/en-GB.com_finder.sys.ini +++ b/administrator/language/en-GB/en-GB.com_finder.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_installer.ini b/administrator/language/en-GB/en-GB.com_installer.ini index a0e31bd8676c3..57da00abd1ac8 100644 --- a/administrator/language/en-GB/en-GB.com_installer.ini +++ b/administrator/language/en-GB/en-GB.com_installer.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_installer.sys.ini b/administrator/language/en-GB/en-GB.com_installer.sys.ini index cff279d42e108..9f61e1b505939 100644 --- a/administrator/language/en-GB/en-GB.com_installer.sys.ini +++ b/administrator/language/en-GB/en-GB.com_installer.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_joomlaupdate.ini b/administrator/language/en-GB/en-GB.com_joomlaupdate.ini index b18c99410373d..28cb73bc173ff 100644 --- a/administrator/language/en-GB/en-GB.com_joomlaupdate.ini +++ b/administrator/language/en-GB/en-GB.com_joomlaupdate.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini b/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini index c001650b5c7d6..28a9ca998fc01 100644 --- a/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini +++ b/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_languages.ini b/administrator/language/en-GB/en-GB.com_languages.ini index bf1d021b8052c..3f4ad74fcdfa3 100644 --- a/administrator/language/en-GB/en-GB.com_languages.ini +++ b/administrator/language/en-GB/en-GB.com_languages.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_languages.sys.ini b/administrator/language/en-GB/en-GB.com_languages.sys.ini index b1c8aefa76957..a4dd305a41481 100644 --- a/administrator/language/en-GB/en-GB.com_languages.sys.ini +++ b/administrator/language/en-GB/en-GB.com_languages.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_login.ini b/administrator/language/en-GB/en-GB.com_login.ini index 58f56d861d650..fbc2839a77044 100644 --- a/administrator/language/en-GB/en-GB.com_login.ini +++ b/administrator/language/en-GB/en-GB.com_login.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_login.sys.ini b/administrator/language/en-GB/en-GB.com_login.sys.ini index 0a829a56ab5d3..e2c8c849bbebf 100644 --- a/administrator/language/en-GB/en-GB.com_login.sys.ini +++ b/administrator/language/en-GB/en-GB.com_login.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_mailto.sys.ini b/administrator/language/en-GB/en-GB.com_mailto.sys.ini index 9c7ba34b6fd86..bce4aebaa4c3b 100644 --- a/administrator/language/en-GB/en-GB.com_mailto.sys.ini +++ b/administrator/language/en-GB/en-GB.com_mailto.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_media.ini b/administrator/language/en-GB/en-GB.com_media.ini index 0373701968129..55d84f464972f 100644 --- a/administrator/language/en-GB/en-GB.com_media.ini +++ b/administrator/language/en-GB/en-GB.com_media.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_media.sys.ini b/administrator/language/en-GB/en-GB.com_media.sys.ini index fca295ad19eb4..7138cb9e1ab1e 100644 --- a/administrator/language/en-GB/en-GB.com_media.sys.ini +++ b/administrator/language/en-GB/en-GB.com_media.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_menus.ini b/administrator/language/en-GB/en-GB.com_menus.ini index b03bceb5b9d6c..08c69caa16a1c 100644 --- a/administrator/language/en-GB/en-GB.com_menus.ini +++ b/administrator/language/en-GB/en-GB.com_menus.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_menus.sys.ini b/administrator/language/en-GB/en-GB.com_menus.sys.ini index 958c192f7032d..af384cc159684 100644 --- a/administrator/language/en-GB/en-GB.com_menus.sys.ini +++ b/administrator/language/en-GB/en-GB.com_menus.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_messages.ini b/administrator/language/en-GB/en-GB.com_messages.ini index e6c09c8a44345..54d540368af0a 100644 --- a/administrator/language/en-GB/en-GB.com_messages.ini +++ b/administrator/language/en-GB/en-GB.com_messages.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_messages.sys.ini b/administrator/language/en-GB/en-GB.com_messages.sys.ini index d1b6bb9413b85..b70ced0e7cca6 100644 --- a/administrator/language/en-GB/en-GB.com_messages.sys.ini +++ b/administrator/language/en-GB/en-GB.com_messages.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_modules.ini b/administrator/language/en-GB/en-GB.com_modules.ini index 936df95cbf496..5ff1c11fd0633 100644 --- a/administrator/language/en-GB/en-GB.com_modules.ini +++ b/administrator/language/en-GB/en-GB.com_modules.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_modules.sys.ini b/administrator/language/en-GB/en-GB.com_modules.sys.ini index d32ebc6c0dc3a..75cb85d692ca0 100644 --- a/administrator/language/en-GB/en-GB.com_modules.sys.ini +++ b/administrator/language/en-GB/en-GB.com_modules.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_newsfeeds.ini b/administrator/language/en-GB/en-GB.com_newsfeeds.ini index fcbbbbe34473b..2e46aa6aae181 100644 --- a/administrator/language/en-GB/en-GB.com_newsfeeds.ini +++ b/administrator/language/en-GB/en-GB.com_newsfeeds.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_newsfeeds.sys.ini b/administrator/language/en-GB/en-GB.com_newsfeeds.sys.ini index b3f507b4f214b..4f1afe095b3bd 100644 --- a/administrator/language/en-GB/en-GB.com_newsfeeds.sys.ini +++ b/administrator/language/en-GB/en-GB.com_newsfeeds.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_plugins.ini b/administrator/language/en-GB/en-GB.com_plugins.ini index d26b4ccd8b1d5..6b73b8c5eac28 100644 --- a/administrator/language/en-GB/en-GB.com_plugins.ini +++ b/administrator/language/en-GB/en-GB.com_plugins.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_plugins.sys.ini b/administrator/language/en-GB/en-GB.com_plugins.sys.ini index 3a5cabc27173b..65abe9dca35e1 100644 --- a/administrator/language/en-GB/en-GB.com_plugins.sys.ini +++ b/administrator/language/en-GB/en-GB.com_plugins.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_postinstall.ini b/administrator/language/en-GB/en-GB.com_postinstall.ini index a09dd4627c12b..64b0b109fdbe9 100644 --- a/administrator/language/en-GB/en-GB.com_postinstall.ini +++ b/administrator/language/en-GB/en-GB.com_postinstall.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_postinstall.sys.ini b/administrator/language/en-GB/en-GB.com_postinstall.sys.ini index 77f7d43a60240..90113f0b1deff 100644 --- a/administrator/language/en-GB/en-GB.com_postinstall.sys.ini +++ b/administrator/language/en-GB/en-GB.com_postinstall.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_redirect.ini b/administrator/language/en-GB/en-GB.com_redirect.ini index 0c988f7146a3c..cae5fb631ddde 100644 --- a/administrator/language/en-GB/en-GB.com_redirect.ini +++ b/administrator/language/en-GB/en-GB.com_redirect.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_redirect.sys.ini b/administrator/language/en-GB/en-GB.com_redirect.sys.ini index c807a9bb11a44..ee153a727499e 100644 --- a/administrator/language/en-GB/en-GB.com_redirect.sys.ini +++ b/administrator/language/en-GB/en-GB.com_redirect.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_search.ini b/administrator/language/en-GB/en-GB.com_search.ini index cbfab20756877..132da5796ff09 100644 --- a/administrator/language/en-GB/en-GB.com_search.ini +++ b/administrator/language/en-GB/en-GB.com_search.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_search.sys.ini b/administrator/language/en-GB/en-GB.com_search.sys.ini index 5ab97bb1df933..4e17169d46e6b 100644 --- a/administrator/language/en-GB/en-GB.com_search.sys.ini +++ b/administrator/language/en-GB/en-GB.com_search.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_tags.ini b/administrator/language/en-GB/en-GB.com_tags.ini index 5034972f632fb..4b75d816fb4a7 100644 --- a/administrator/language/en-GB/en-GB.com_tags.ini +++ b/administrator/language/en-GB/en-GB.com_tags.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_tags.sys.ini b/administrator/language/en-GB/en-GB.com_tags.sys.ini index beb9f88678b47..a3bcadfccf7bd 100644 --- a/administrator/language/en-GB/en-GB.com_tags.sys.ini +++ b/administrator/language/en-GB/en-GB.com_tags.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_templates.ini b/administrator/language/en-GB/en-GB.com_templates.ini index bac575dc786da..24cbf43a8424e 100644 --- a/administrator/language/en-GB/en-GB.com_templates.ini +++ b/administrator/language/en-GB/en-GB.com_templates.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_templates.sys.ini b/administrator/language/en-GB/en-GB.com_templates.sys.ini index f1eb659885422..7cf330abfb7a0 100644 --- a/administrator/language/en-GB/en-GB.com_templates.sys.ini +++ b/administrator/language/en-GB/en-GB.com_templates.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_users.ini b/administrator/language/en-GB/en-GB.com_users.ini index 892e5d615f4ed..25d87cc6567ae 100644 --- a/administrator/language/en-GB/en-GB.com_users.ini +++ b/administrator/language/en-GB/en-GB.com_users.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_users.sys.ini b/administrator/language/en-GB/en-GB.com_users.sys.ini index 314a386ec666c..e99cc7c55b9d1 100644 --- a/administrator/language/en-GB/en-GB.com_users.sys.ini +++ b/administrator/language/en-GB/en-GB.com_users.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_weblinks.ini b/administrator/language/en-GB/en-GB.com_weblinks.ini index a252b6349e25e..5527cbe03b368 100644 --- a/administrator/language/en-GB/en-GB.com_weblinks.ini +++ b/administrator/language/en-GB/en-GB.com_weblinks.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_weblinks.sys.ini b/administrator/language/en-GB/en-GB.com_weblinks.sys.ini index bbc0da11994e4..12d92492da8d1 100644 --- a/administrator/language/en-GB/en-GB.com_weblinks.sys.ini +++ b/administrator/language/en-GB/en-GB.com_weblinks.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_wrapper.ini b/administrator/language/en-GB/en-GB.com_wrapper.ini index 351d769937194..b223cbf68260d 100644 --- a/administrator/language/en-GB/en-GB.com_wrapper.ini +++ b/administrator/language/en-GB/en-GB.com_wrapper.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.com_wrapper.sys.ini b/administrator/language/en-GB/en-GB.com_wrapper.sys.ini index 9f4ac24f94e05..e1ef05b74b660 100644 --- a/administrator/language/en-GB/en-GB.com_wrapper.sys.ini +++ b/administrator/language/en-GB/en-GB.com_wrapper.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index 6fe9981d5d2f3..c1a5aa67d1e78 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.lib_joomla.ini b/administrator/language/en-GB/en-GB.lib_joomla.ini index 0dcf85838b851..d98639f06e1dd 100644 --- a/administrator/language/en-GB/en-GB.lib_joomla.ini +++ b/administrator/language/en-GB/en-GB.lib_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.localise.php b/administrator/language/en-GB/en-GB.localise.php index 6d4e391d3db5f..db62e563de244 100644 --- a/administrator/language/en-GB/en-GB.localise.php +++ b/administrator/language/en-GB/en-GB.localise.php @@ -2,7 +2,7 @@ /** * @package Joomla.Language * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/language/en-GB/en-GB.mod_custom.ini b/administrator/language/en-GB/en-GB.mod_custom.ini index afd77e07817e9..273bc50cb58d5 100644 --- a/administrator/language/en-GB/en-GB.mod_custom.ini +++ b/administrator/language/en-GB/en-GB.mod_custom.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_custom.sys.ini b/administrator/language/en-GB/en-GB.mod_custom.sys.ini index ee3efa1b329de..311fe1dc591f1 100644 --- a/administrator/language/en-GB/en-GB.mod_custom.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_custom.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_feed.ini b/administrator/language/en-GB/en-GB.mod_feed.ini index 984242f08612e..c0a6019b15a81 100644 --- a/administrator/language/en-GB/en-GB.mod_feed.ini +++ b/administrator/language/en-GB/en-GB.mod_feed.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_feed.sys.ini b/administrator/language/en-GB/en-GB.mod_feed.sys.ini index dddf6358f619a..56b6f497f327e 100644 --- a/administrator/language/en-GB/en-GB.mod_feed.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_feed.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_latest.ini b/administrator/language/en-GB/en-GB.mod_latest.ini index d37cbc6e4eec3..e06c59bac076a 100644 --- a/administrator/language/en-GB/en-GB.mod_latest.ini +++ b/administrator/language/en-GB/en-GB.mod_latest.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_latest.sys.ini b/administrator/language/en-GB/en-GB.mod_latest.sys.ini index b25c2b679fadf..7d7de3ad3d2ae 100644 --- a/administrator/language/en-GB/en-GB.mod_latest.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_latest.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_logged.ini b/administrator/language/en-GB/en-GB.mod_logged.ini index a646a205e6677..9c157929f1793 100644 --- a/administrator/language/en-GB/en-GB.mod_logged.ini +++ b/administrator/language/en-GB/en-GB.mod_logged.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_logged.sys.ini b/administrator/language/en-GB/en-GB.mod_logged.sys.ini index 44e01c2bd89af..2055bc4c3ca79 100644 --- a/administrator/language/en-GB/en-GB.mod_logged.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_logged.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_login.ini b/administrator/language/en-GB/en-GB.mod_login.ini index 55970ea4066ea..704896ed23229 100644 --- a/administrator/language/en-GB/en-GB.mod_login.ini +++ b/administrator/language/en-GB/en-GB.mod_login.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_login.sys.ini b/administrator/language/en-GB/en-GB.mod_login.sys.ini index b0fca65fcbc02..fc0003ce8626c 100644 --- a/administrator/language/en-GB/en-GB.mod_login.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_login.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_menu.ini b/administrator/language/en-GB/en-GB.mod_menu.ini index ab0dd5fed53aa..347ba20bfdd96 100644 --- a/administrator/language/en-GB/en-GB.mod_menu.ini +++ b/administrator/language/en-GB/en-GB.mod_menu.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_menu.sys.ini b/administrator/language/en-GB/en-GB.mod_menu.sys.ini index f9f580cfe2056..c0dcc32978936 100644 --- a/administrator/language/en-GB/en-GB.mod_menu.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_menu.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_multilangstatus.ini b/administrator/language/en-GB/en-GB.mod_multilangstatus.ini index 4953322b57617..38bae3fed1da7 100644 --- a/administrator/language/en-GB/en-GB.mod_multilangstatus.ini +++ b/administrator/language/en-GB/en-GB.mod_multilangstatus.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_multilangstatus.sys.ini b/administrator/language/en-GB/en-GB.mod_multilangstatus.sys.ini index fbb220c6cae84..a9bef39c209eb 100644 --- a/administrator/language/en-GB/en-GB.mod_multilangstatus.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_multilangstatus.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_popular.ini b/administrator/language/en-GB/en-GB.mod_popular.ini index eeb8cbe296570..dc0d100bcc6f3 100644 --- a/administrator/language/en-GB/en-GB.mod_popular.ini +++ b/administrator/language/en-GB/en-GB.mod_popular.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_popular.sys.ini b/administrator/language/en-GB/en-GB.mod_popular.sys.ini index d8e9f9f614081..5ce33361731a1 100644 --- a/administrator/language/en-GB/en-GB.mod_popular.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_popular.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_quickicon.ini b/administrator/language/en-GB/en-GB.mod_quickicon.ini index cb59fc0e46b5e..9815084ff2d49 100644 --- a/administrator/language/en-GB/en-GB.mod_quickicon.ini +++ b/administrator/language/en-GB/en-GB.mod_quickicon.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_quickicon.sys.ini b/administrator/language/en-GB/en-GB.mod_quickicon.sys.ini index 672ffd77de0b9..6eca5f74247d6 100644 --- a/administrator/language/en-GB/en-GB.mod_quickicon.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_quickicon.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_sampledata.ini b/administrator/language/en-GB/en-GB.mod_sampledata.ini index 03624e5061e82..84829ace15b65 100644 --- a/administrator/language/en-GB/en-GB.mod_sampledata.ini +++ b/administrator/language/en-GB/en-GB.mod_sampledata.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_sampledata.sys.ini b/administrator/language/en-GB/en-GB.mod_sampledata.sys.ini index e6d2a833d03e3..173677eba41ea 100644 --- a/administrator/language/en-GB/en-GB.mod_sampledata.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_sampledata.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_stats_admin.ini b/administrator/language/en-GB/en-GB.mod_stats_admin.ini index 9f253bbc0b963..477ecf7bda0f9 100644 --- a/administrator/language/en-GB/en-GB.mod_stats_admin.ini +++ b/administrator/language/en-GB/en-GB.mod_stats_admin.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini b/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini index 785f4b56cbd04..e75343b4096f6 100644 --- a/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_status.ini b/administrator/language/en-GB/en-GB.mod_status.ini index 83e70a553040e..aac0da98a5e1a 100644 --- a/administrator/language/en-GB/en-GB.mod_status.ini +++ b/administrator/language/en-GB/en-GB.mod_status.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_status.sys.ini b/administrator/language/en-GB/en-GB.mod_status.sys.ini index 18585f9d2f62c..a65c54f9c1d24 100644 --- a/administrator/language/en-GB/en-GB.mod_status.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_status.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_submenu.ini b/administrator/language/en-GB/en-GB.mod_submenu.ini index ae82cd66889ef..e11bf776e14b6 100644 --- a/administrator/language/en-GB/en-GB.mod_submenu.ini +++ b/administrator/language/en-GB/en-GB.mod_submenu.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_submenu.sys.ini b/administrator/language/en-GB/en-GB.mod_submenu.sys.ini index 333b28524101f..639dffb27d6e1 100644 --- a/administrator/language/en-GB/en-GB.mod_submenu.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_submenu.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_title.ini b/administrator/language/en-GB/en-GB.mod_title.ini index 5229445d2bdf9..ead702d3e8a3f 100644 --- a/administrator/language/en-GB/en-GB.mod_title.ini +++ b/administrator/language/en-GB/en-GB.mod_title.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_title.sys.ini b/administrator/language/en-GB/en-GB.mod_title.sys.ini index 31cee92ecee46..92f6d82851f89 100644 --- a/administrator/language/en-GB/en-GB.mod_title.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_title.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_toolbar.ini b/administrator/language/en-GB/en-GB.mod_toolbar.ini index d73b63a7ea7ad..f0cf4950dffd4 100644 --- a/administrator/language/en-GB/en-GB.mod_toolbar.ini +++ b/administrator/language/en-GB/en-GB.mod_toolbar.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_toolbar.sys.ini b/administrator/language/en-GB/en-GB.mod_toolbar.sys.ini index cf7f271077467..97ca14d57a5d0 100644 --- a/administrator/language/en-GB/en-GB.mod_toolbar.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_toolbar.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_version.ini b/administrator/language/en-GB/en-GB.mod_version.ini index bb9938e0a10a3..7eb188129c335 100644 --- a/administrator/language/en-GB/en-GB.mod_version.ini +++ b/administrator/language/en-GB/en-GB.mod_version.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.mod_version.sys.ini b/administrator/language/en-GB/en-GB.mod_version.sys.ini index 6906ac2884ceb..7b3b9455a2837 100644 --- a/administrator/language/en-GB/en-GB.mod_version.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_version.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_cookie.ini b/administrator/language/en-GB/en-GB.plg_authentication_cookie.ini index 1fa585d632e23..8d02e7fe9fbf7 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_cookie.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_cookie.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_cookie.sys.ini b/administrator/language/en-GB/en-GB.plg_authentication_cookie.sys.ini index 9f2aa5e46d87c..d2c3ea89c2887 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_cookie.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_cookie.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_gmail.ini b/administrator/language/en-GB/en-GB.plg_authentication_gmail.ini index c33efda38b88c..c1fa6dfd446cd 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_gmail.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_gmail.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_gmail.sys.ini b/administrator/language/en-GB/en-GB.plg_authentication_gmail.sys.ini index 85c1e017f53d8..530998b1b5a9c 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_gmail.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_gmail.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_joomla.ini b/administrator/language/en-GB/en-GB.plg_authentication_joomla.ini index 21bd93f40e21e..ea9741ff0f3ad 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_joomla.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_joomla.sys.ini b/administrator/language/en-GB/en-GB.plg_authentication_joomla.sys.ini index 9a35f25a34b1c..9932218416a93 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_joomla.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini b/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini index c35b816344497..36d33b4edf510 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_authentication_ldap.sys.ini b/administrator/language/en-GB/en-GB.plg_authentication_ldap.sys.ini index 6ab26fa237624..795bd6f29e6b8 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_ldap.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_ldap.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini index 6462e431f15dd..7e5db19504751 100644 --- a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini +++ b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.sys.ini b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.sys.ini index e4931f171f52f..929448dc46b01 100644 --- a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_contact.ini b/administrator/language/en-GB/en-GB.plg_content_contact.ini index 79e6236e05033..3728451c425f2 100644 --- a/administrator/language/en-GB/en-GB.plg_content_contact.ini +++ b/administrator/language/en-GB/en-GB.plg_content_contact.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_contact.sys.ini b/administrator/language/en-GB/en-GB.plg_content_contact.sys.ini index 79e6236e05033..3728451c425f2 100644 --- a/administrator/language/en-GB/en-GB.plg_content_contact.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_contact.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_emailcloak.ini b/administrator/language/en-GB/en-GB.plg_content_emailcloak.ini index d8a5044824eec..aba3b809ee960 100644 --- a/administrator/language/en-GB/en-GB.plg_content_emailcloak.ini +++ b/administrator/language/en-GB/en-GB.plg_content_emailcloak.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_emailcloak.sys.ini b/administrator/language/en-GB/en-GB.plg_content_emailcloak.sys.ini index b1368183b9d94..c45b5fd857bc9 100644 --- a/administrator/language/en-GB/en-GB.plg_content_emailcloak.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_emailcloak.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_fields.ini b/administrator/language/en-GB/en-GB.plg_content_fields.ini index 2186f59c3c2a0..ff7f27a5b962b 100644 --- a/administrator/language/en-GB/en-GB.plg_content_fields.ini +++ b/administrator/language/en-GB/en-GB.plg_content_fields.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_fields.sys.ini b/administrator/language/en-GB/en-GB.plg_content_fields.sys.ini index 7d14d5ce45dc7..189d6b52ca986 100644 --- a/administrator/language/en-GB/en-GB.plg_content_fields.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_fields.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_finder.ini b/administrator/language/en-GB/en-GB.plg_content_finder.ini index b3e0372a0cdf4..738db4b0a5dcb 100644 --- a/administrator/language/en-GB/en-GB.plg_content_finder.ini +++ b/administrator/language/en-GB/en-GB.plg_content_finder.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_finder.sys.ini b/administrator/language/en-GB/en-GB.plg_content_finder.sys.ini index cc434de99cb93..2ddda8f673a4f 100644 --- a/administrator/language/en-GB/en-GB.plg_content_finder.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_finder.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_joomla.ini b/administrator/language/en-GB/en-GB.plg_content_joomla.ini index ce4353f1da4e0..6ef4aba23a195 100644 --- a/administrator/language/en-GB/en-GB.plg_content_joomla.ini +++ b/administrator/language/en-GB/en-GB.plg_content_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_joomla.sys.ini b/administrator/language/en-GB/en-GB.plg_content_joomla.sys.ini index 1b382f4d0cf06..d806639fc81ef 100644 --- a/administrator/language/en-GB/en-GB.plg_content_joomla.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_loadmodule.ini b/administrator/language/en-GB/en-GB.plg_content_loadmodule.ini index 9beaae7ecc83e..26f451aebf6e1 100644 --- a/administrator/language/en-GB/en-GB.plg_content_loadmodule.ini +++ b/administrator/language/en-GB/en-GB.plg_content_loadmodule.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_loadmodule.sys.ini b/administrator/language/en-GB/en-GB.plg_content_loadmodule.sys.ini index 620964d86b391..a22dc3be5cbff 100644 --- a/administrator/language/en-GB/en-GB.plg_content_loadmodule.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_loadmodule.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini b/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini index 1e340bd11a5b5..ee20f7a2193f6 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini b/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini index 285e91ff2aaeb..0e45efcac54d5 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_pagenavigation.ini b/administrator/language/en-GB/en-GB.plg_content_pagenavigation.ini index 08e83978e7522..8adbfd7ca9711 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagenavigation.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagenavigation.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_pagenavigation.sys.ini b/administrator/language/en-GB/en-GB.plg_content_pagenavigation.sys.ini index 51eac8645ce82..b1fa4d2a16926 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagenavigation.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagenavigation.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_vote.ini b/administrator/language/en-GB/en-GB.plg_content_vote.ini index a0bcb0fe115e0..b7fba7ba3bfb5 100644 --- a/administrator/language/en-GB/en-GB.plg_content_vote.ini +++ b/administrator/language/en-GB/en-GB.plg_content_vote.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_content_vote.sys.ini b/administrator/language/en-GB/en-GB.plg_content_vote.sys.ini index eef7fb44a68df..3e702fec80028 100644 --- a/administrator/language/en-GB/en-GB.plg_content_vote.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_vote.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini index a5505ec1d51e3..7559cc4781877 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini index c80dfed98c264..1121f94a827a0 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini index d5b5906d75a14..1b35ea04da882 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini index da77bbd12bcb3..053b344a837dd 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini index b141d83873cb1..5e247fa700ed4 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini index 71d6364c3da18..b52e7db7e1378 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini index 2c67d65f797f1..2afb3b1e65c4f 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini index 18ef3247335d3..458e60016a836 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini index 8f5f9336fd6ff..b8bca66bf84dd 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini index d7ea901021977..6aa86dca9220f 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini index 9e11420241e65..af29265c134e9 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini index 4d51d7bec8f1d..6a170f1d7bb4d 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.ini index 35b69c408c59d..d4d916852d339 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.sys.ini index 86fd51d7251bf..b16632f036b3c 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_pagebreak.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.ini index 08ee9912110b2..045e0daaca586 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.sys.ini index d3b44f3aea3c3..2ebbdb32b2219 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_readmore.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini index 55d0ff59a67d9..43c6ded35b89c 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_codemirror.sys.ini b/administrator/language/en-GB/en-GB.plg_editors_codemirror.sys.ini index fe50cdd245dd9..a3c6a26c8d776 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_codemirror.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_codemirror.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_none.ini b/administrator/language/en-GB/en-GB.plg_editors_none.ini index 62fb92f713f09..82d58c6bc3491 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_none.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_none.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_none.sys.ini b/administrator/language/en-GB/en-GB.plg_editors_none.sys.ini index 62fb92f713f09..82d58c6bc3491 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_none.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_none.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini index 6b8b3f69d0892..65c570bd7c3c8 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_editors_tinymce.sys.ini b/administrator/language/en-GB/en-GB.plg_editors_tinymce.sys.ini index e7e822fd728dd..ae9e2d86dd1d8 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_tinymce.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_tinymce.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_extension_joomla.ini b/administrator/language/en-GB/en-GB.plg_extension_joomla.ini index d91a0341bb745..19983aecd418f 100644 --- a/administrator/language/en-GB/en-GB.plg_extension_joomla.ini +++ b/administrator/language/en-GB/en-GB.plg_extension_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_extension_joomla.sys.ini b/administrator/language/en-GB/en-GB.plg_extension_joomla.sys.ini index 41cf169241626..120bae6a7780e 100644 --- a/administrator/language/en-GB/en-GB.plg_extension_joomla.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_extension_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_calendar.ini b/administrator/language/en-GB/en-GB.plg_fields_calendar.ini index 43b36cae0dddd..acc43d3623378 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_calendar.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_calendar.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_calendar.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_calendar.sys.ini index f5351cd473dd6..cb80374601931 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_calendar.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_calendar.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_checkboxes.ini b/administrator/language/en-GB/en-GB.plg_fields_checkboxes.ini index 671fc9091330b..f76e652bd7906 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_checkboxes.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_checkboxes.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_checkboxes.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_checkboxes.sys.ini index 162b5ab7658ad..9b7a49515a26e 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_checkboxes.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_checkboxes.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_color.ini b/administrator/language/en-GB/en-GB.plg_fields_color.ini index c26fba8b69cd4..d2e6c1bdd6dc1 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_color.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_color.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_color.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_color.sys.ini index a63141cda10c5..bcfc7e0691048 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_color.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_color.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_editor.ini b/administrator/language/en-GB/en-GB.plg_fields_editor.ini index ffba30d910970..615efee27340e 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_editor.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_editor.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_editor.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_editor.sys.ini index c2715c8306a62..75fbfc8e9850a 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_editor.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_editor.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_image.ini b/administrator/language/en-GB/en-GB.plg_fields_image.ini index e4c9a3e9da142..63e727b7d2bbe 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_image.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_image.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_image.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_image.sys.ini index 917ce43c9b5a9..4347b37877d04 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_image.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_image.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini b/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini index 1aa7a6cf641e9..08355323e0b66 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_imagelist.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_imagelist.sys.ini index 7812af9a509f8..f21daf57a2846 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_imagelist.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_imagelist.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_integer.ini b/administrator/language/en-GB/en-GB.plg_fields_integer.ini index ab7e155b618ee..8415cae48be46 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_integer.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_integer.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_integer.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_integer.sys.ini index 20db09e0c8e33..79fd8ce043435 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_integer.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_integer.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_list.ini b/administrator/language/en-GB/en-GB.plg_fields_list.ini index 9d70968c4ea61..dcc3fc173b418 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_list.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_list.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_list.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_list.sys.ini index 923cc4df2a0aa..1055c1ece6ccf 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_list.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_list.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_media.ini b/administrator/language/en-GB/en-GB.plg_fields_media.ini index ac6743fedee9f..34cc78952f093 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_media.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_media.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_media.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_media.sys.ini index 9c0fcc79b9ccf..cc3afe3d86443 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_media.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_media.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_radio.ini b/administrator/language/en-GB/en-GB.plg_fields_radio.ini index fa75e0fbef8db..ca70c1b46c6b7 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_radio.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_radio.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_radio.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_radio.sys.ini index e75cef57fbdda..edfc7aa4f6fc1 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_radio.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_radio.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_sql.ini b/administrator/language/en-GB/en-GB.plg_fields_sql.ini index a06de79d3314a..2bee0c6f47be7 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_sql.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_sql.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_sql.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_sql.sys.ini index 7e3645d58d4d6..a400989f589cf 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_sql.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_sql.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_text.ini b/administrator/language/en-GB/en-GB.plg_fields_text.ini index c3cc3d03b1ac1..41a1373d5de08 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_text.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_text.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_text.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_text.sys.ini index 9d694c32b4626..cccdd8636892d 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_text.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_text.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_textarea.ini b/administrator/language/en-GB/en-GB.plg_fields_textarea.ini index 0d9ffff24936e..50c63b8fbf44f 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_textarea.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_textarea.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_textarea.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_textarea.sys.ini index 5b555fc38c065..a312cf565f3b6 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_textarea.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_textarea.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_url.ini b/administrator/language/en-GB/en-GB.plg_fields_url.ini index 950f63f987d8a..4b0888a2c6522 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_url.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_url.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_url.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_url.sys.ini index 105c1cc6d38ca..316f43a579d11 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_url.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_url.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_user.ini b/administrator/language/en-GB/en-GB.plg_fields_user.ini index 48563e8d4ede0..5891df0721537 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_user.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_user.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_user.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_user.sys.ini index bc14580a962fb..cd0882392cea1 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_user.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_user.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.ini b/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.ini index 35298d4217b8f..97612a281a31f 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.sys.ini b/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.sys.ini index cbd4f7925f964..5200b4ebdedf2 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_usergrouplist.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_categories.ini b/administrator/language/en-GB/en-GB.plg_finder_categories.ini index 6ebb32d48a246..35d19da91fab9 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_categories.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_categories.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_categories.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_categories.sys.ini index 2935b9b850b3b..0864389ae1825 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_categories.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_categories.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_contacts.ini b/administrator/language/en-GB/en-GB.plg_finder_contacts.ini index f93d65cdcda4c..80aa8b8662071 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_contacts.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_contacts.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_contacts.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_contacts.sys.ini index 7c67b3fe88535..832df889f448f 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_contacts.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_contacts.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_content.ini b/administrator/language/en-GB/en-GB.plg_finder_content.ini index 561b1c9c12229..13508bae8090c 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_content.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_content.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_content.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_content.sys.ini index 0e024e8b047fd..89a8134851e76 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_content.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_content.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.ini b/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.ini index 83df2bf435b8f..eb97acf5694cf 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.sys.ini index b2302ffdfe757..857f3d30dcd98 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_newsfeeds.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_tags.ini b/administrator/language/en-GB/en-GB.plg_finder_tags.ini index b5aced4a042b8..6a230584fdcb3 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_tags.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_tags.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_tags.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_tags.sys.ini index 62c060d0aea8b..7ed87669dcaf5 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_tags.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_tags.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini b/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini index af84926f3fd6f..aaf6bc174fae3 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_finder_weblinks.sys.ini b/administrator/language/en-GB/en-GB.plg_finder_weblinks.sys.ini index a76e55a257410..20094e1b40b47 100644 --- a/administrator/language/en-GB/en-GB.plg_finder_weblinks.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_finder_weblinks.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.ini index 977578ca94398..a9d19b36c0454 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.sys.ini b/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.sys.ini index 1aac83c42b4a6..e13df44da72a1 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_folderinstaller.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini index 8f3112edc68f1..f2747e0d4f9aa 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.sys.ini b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.sys.ini index 7db2b5deb0c0c..0be372c2ba5dc 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.ini index f223801a08bc6..e90fecdaf6e53 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.sys.ini b/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.sys.ini index 437431566f1c8..bf75762a8154e 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_urlinstaller.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_webinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_webinstaller.ini index c5540ce69068b..82610224c18eb 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_webinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_webinstaller.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_installer_webinstaller.sys.ini b/administrator/language/en-GB/en-GB.plg_installer_webinstaller.sys.ini index b0813d174396a..5149faf128a85 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_webinstaller.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_webinstaller.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini index 18440b769d994..81f7d7b690757 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.sys.ini b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.sys.ini index dc48ae4ec9fb9..3625c7b5e4857 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.ini b/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.ini index dcc19df3ad9f9..7541d4d7f15c6 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.sys.ini b/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.sys.ini index 97663f5e2e489..03ae8301ba4ad 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.ini b/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.ini index ed7bcc4b8bd14..c4fe47d52ddac 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.sys.ini b/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.sys.ini index f637dbc8c0b93..605dc09a9e030 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_phpversioncheck.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini b/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini index 314f11e9eddd5..18cc9629640c8 100644 --- a/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini +++ b/administrator/language/en-GB/en-GB.plg_sampledata_blog.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_blog.sys.ini b/administrator/language/en-GB/en-GB.plg_sampledata_blog.sys.ini index 451cbaee0a642..f5b597501eaca 100644 --- a/administrator/language/en-GB/en-GB.plg_sampledata_blog.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_sampledata_blog.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_categories.ini b/administrator/language/en-GB/en-GB.plg_search_categories.ini index 942b89ab96c28..cc032df4669f3 100644 --- a/administrator/language/en-GB/en-GB.plg_search_categories.ini +++ b/administrator/language/en-GB/en-GB.plg_search_categories.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_categories.sys.ini b/administrator/language/en-GB/en-GB.plg_search_categories.sys.ini index d0e50867e8c1a..6d23dbcd38c96 100644 --- a/administrator/language/en-GB/en-GB.plg_search_categories.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_categories.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_contacts.ini b/administrator/language/en-GB/en-GB.plg_search_contacts.ini index 70951c25f00ef..81003bcd7ab7d 100644 --- a/administrator/language/en-GB/en-GB.plg_search_contacts.ini +++ b/administrator/language/en-GB/en-GB.plg_search_contacts.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_contacts.sys.ini b/administrator/language/en-GB/en-GB.plg_search_contacts.sys.ini index 843668bbfae14..95d672c8e857e 100644 --- a/administrator/language/en-GB/en-GB.plg_search_contacts.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_contacts.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_content.ini b/administrator/language/en-GB/en-GB.plg_search_content.ini index 8ecc7cf022875..f7cfa5bd77c83 100644 --- a/administrator/language/en-GB/en-GB.plg_search_content.ini +++ b/administrator/language/en-GB/en-GB.plg_search_content.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_content.sys.ini b/administrator/language/en-GB/en-GB.plg_search_content.sys.ini index 6a8a0ff045359..0ec97e3a49556 100644 --- a/administrator/language/en-GB/en-GB.plg_search_content.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_content.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_newsfeeds.ini b/administrator/language/en-GB/en-GB.plg_search_newsfeeds.ini index b3f9df7eb85f6..3cc45d5b7d182 100644 --- a/administrator/language/en-GB/en-GB.plg_search_newsfeeds.ini +++ b/administrator/language/en-GB/en-GB.plg_search_newsfeeds.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_newsfeeds.sys.ini b/administrator/language/en-GB/en-GB.plg_search_newsfeeds.sys.ini index b3221e776ee80..918dc80347a6d 100644 --- a/administrator/language/en-GB/en-GB.plg_search_newsfeeds.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_newsfeeds.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_tags.ini b/administrator/language/en-GB/en-GB.plg_search_tags.ini index b8913d436b6a2..b37087a9ebd85 100644 --- a/administrator/language/en-GB/en-GB.plg_search_tags.ini +++ b/administrator/language/en-GB/en-GB.plg_search_tags.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_tags.sys.ini b/administrator/language/en-GB/en-GB.plg_search_tags.sys.ini index d4a45ee2f27de..0b024eaf0ffe3 100644 --- a/administrator/language/en-GB/en-GB.plg_search_tags.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_tags.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_weblinks.ini b/administrator/language/en-GB/en-GB.plg_search_weblinks.ini index a54c03ddbca65..518ef8613bea0 100644 --- a/administrator/language/en-GB/en-GB.plg_search_weblinks.ini +++ b/administrator/language/en-GB/en-GB.plg_search_weblinks.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_search_weblinks.sys.ini b/administrator/language/en-GB/en-GB.plg_search_weblinks.sys.ini index d72d66a87fb12..c115072d73360 100644 --- a/administrator/language/en-GB/en-GB.plg_search_weblinks.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_search_weblinks.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_cache.ini b/administrator/language/en-GB/en-GB.plg_system_cache.ini index a4da15646431f..5f38760d1a665 100644 --- a/administrator/language/en-GB/en-GB.plg_system_cache.ini +++ b/administrator/language/en-GB/en-GB.plg_system_cache.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_cache.sys.ini b/administrator/language/en-GB/en-GB.plg_system_cache.sys.ini index 58195c0faec10..f60ac92b0ee83 100644 --- a/administrator/language/en-GB/en-GB.plg_system_cache.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_cache.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_debug.ini b/administrator/language/en-GB/en-GB.plg_system_debug.ini index 9531f161f9956..b9610b56eb930 100644 --- a/administrator/language/en-GB/en-GB.plg_system_debug.ini +++ b/administrator/language/en-GB/en-GB.plg_system_debug.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini b/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini index f6a4ae1918fcb..41d1563ae5dde 100644 --- a/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_fields.ini b/administrator/language/en-GB/en-GB.plg_system_fields.ini index b0499e3a8e923..b2f9aaca1164f 100644 --- a/administrator/language/en-GB/en-GB.plg_system_fields.ini +++ b/administrator/language/en-GB/en-GB.plg_system_fields.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_fields.sys.ini b/administrator/language/en-GB/en-GB.plg_system_fields.sys.ini index b0499e3a8e923..b2f9aaca1164f 100644 --- a/administrator/language/en-GB/en-GB.plg_system_fields.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_fields.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_highlight.ini b/administrator/language/en-GB/en-GB.plg_system_highlight.ini index 1f804bd6bc941..08178bb920c2d 100644 --- a/administrator/language/en-GB/en-GB.plg_system_highlight.ini +++ b/administrator/language/en-GB/en-GB.plg_system_highlight.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_highlight.sys.ini b/administrator/language/en-GB/en-GB.plg_system_highlight.sys.ini index 58c7567408e10..6539a55df7139 100644 --- a/administrator/language/en-GB/en-GB.plg_system_highlight.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_highlight.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_languagecode.ini b/administrator/language/en-GB/en-GB.plg_system_languagecode.ini index 6e23bc1626e73..20bc4c41164d4 100644 --- a/administrator/language/en-GB/en-GB.plg_system_languagecode.ini +++ b/administrator/language/en-GB/en-GB.plg_system_languagecode.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_languagecode.sys.ini b/administrator/language/en-GB/en-GB.plg_system_languagecode.sys.ini index 45fd95cfbb59d..f7765e9f1ee79 100644 --- a/administrator/language/en-GB/en-GB.plg_system_languagecode.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_languagecode.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini b/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini index c6a701ab87d36..9d957af004674 100644 --- a/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini +++ b/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_languagefilter.sys.ini b/administrator/language/en-GB/en-GB.plg_system_languagefilter.sys.ini index 22dd3adef1f0f..5d7950e37df88 100644 --- a/administrator/language/en-GB/en-GB.plg_system_languagefilter.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_languagefilter.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_log.ini b/administrator/language/en-GB/en-GB.plg_system_log.ini index d8ea63ecb3085..24c3e975a3277 100644 --- a/administrator/language/en-GB/en-GB.plg_system_log.ini +++ b/administrator/language/en-GB/en-GB.plg_system_log.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_log.sys.ini b/administrator/language/en-GB/en-GB.plg_system_log.sys.ini index fd68d95e1c462..086c63af3f0f9 100644 --- a/administrator/language/en-GB/en-GB.plg_system_log.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_log.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_logout.ini b/administrator/language/en-GB/en-GB.plg_system_logout.ini index 5564a61b0e537..e4d57d6a1b8c4 100644 --- a/administrator/language/en-GB/en-GB.plg_system_logout.ini +++ b/administrator/language/en-GB/en-GB.plg_system_logout.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_logout.sys.ini b/administrator/language/en-GB/en-GB.plg_system_logout.sys.ini index c5a631187a393..6dabe0b0cb5a9 100644 --- a/administrator/language/en-GB/en-GB.plg_system_logout.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_logout.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_p3p.ini b/administrator/language/en-GB/en-GB.plg_system_p3p.ini index c6b5faab9f95f..a2b9dc81203e3 100644 --- a/administrator/language/en-GB/en-GB.plg_system_p3p.ini +++ b/administrator/language/en-GB/en-GB.plg_system_p3p.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_p3p.sys.ini b/administrator/language/en-GB/en-GB.plg_system_p3p.sys.ini index f441d449f6dd4..6ff09375bb509 100644 --- a/administrator/language/en-GB/en-GB.plg_system_p3p.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_p3p.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_redirect.ini b/administrator/language/en-GB/en-GB.plg_system_redirect.ini index f974b5db70f6e..ce68e07134984 100644 --- a/administrator/language/en-GB/en-GB.plg_system_redirect.ini +++ b/administrator/language/en-GB/en-GB.plg_system_redirect.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_redirect.sys.ini b/administrator/language/en-GB/en-GB.plg_system_redirect.sys.ini index 2dc776c7dc526..1d3978c31226f 100644 --- a/administrator/language/en-GB/en-GB.plg_system_redirect.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_redirect.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_remember.ini b/administrator/language/en-GB/en-GB.plg_system_remember.ini index e5d1e657fa84f..6d4aa2addcdfc 100644 --- a/administrator/language/en-GB/en-GB.plg_system_remember.ini +++ b/administrator/language/en-GB/en-GB.plg_system_remember.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_remember.sys.ini b/administrator/language/en-GB/en-GB.plg_system_remember.sys.ini index 2860b4cd97916..5c4868efb301b 100644 --- a/administrator/language/en-GB/en-GB.plg_system_remember.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_remember.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_sef.ini b/administrator/language/en-GB/en-GB.plg_system_sef.ini index abc25af12f131..71791b0499047 100644 --- a/administrator/language/en-GB/en-GB.plg_system_sef.ini +++ b/administrator/language/en-GB/en-GB.plg_system_sef.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_sef.sys.ini b/administrator/language/en-GB/en-GB.plg_system_sef.sys.ini index 0a48f8776a81d..26579bdbf36d0 100644 --- a/administrator/language/en-GB/en-GB.plg_system_sef.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_sef.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_stats.ini b/administrator/language/en-GB/en-GB.plg_system_stats.ini index 9bba096869b5e..8710bba97d62e 100644 --- a/administrator/language/en-GB/en-GB.plg_system_stats.ini +++ b/administrator/language/en-GB/en-GB.plg_system_stats.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_stats.sys.ini b/administrator/language/en-GB/en-GB.plg_system_stats.sys.ini index a012736f66a89..f8d2facf76a62 100644 --- a/administrator/language/en-GB/en-GB.plg_system_stats.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_stats.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini b/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini index 1b472ca576c34..b7f997c4b7582 100644 --- a/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini +++ b/administrator/language/en-GB/en-GB.plg_system_updatenotification.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_system_updatenotification.sys.ini b/administrator/language/en-GB/en-GB.plg_system_updatenotification.sys.ini index c9a1abd29e9aa..3af36485d5216 100644 --- a/administrator/language/en-GB/en-GB.plg_system_updatenotification.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_updatenotification.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini index 74ccd14e6413c..7d0deb635d725 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.sys.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.sys.ini index d6ad3b82ce6b6..0d0a68de1665c 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.ini index 97c75421ec619..f7ada89ba603f 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.sys.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.sys.ini index 4ebf4b98e082d..704efa7282e90 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_contactcreator.ini b/administrator/language/en-GB/en-GB.plg_user_contactcreator.ini index 5373eebd1abed..d593e0ef36dce 100644 --- a/administrator/language/en-GB/en-GB.plg_user_contactcreator.ini +++ b/administrator/language/en-GB/en-GB.plg_user_contactcreator.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_contactcreator.sys.ini b/administrator/language/en-GB/en-GB.plg_user_contactcreator.sys.ini index 5bc6728bb5e82..70896265ce5e1 100644 --- a/administrator/language/en-GB/en-GB.plg_user_contactcreator.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_user_contactcreator.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_joomla.ini b/administrator/language/en-GB/en-GB.plg_user_joomla.ini index e564339e23d6d..9da47ca99cb22 100644 --- a/administrator/language/en-GB/en-GB.plg_user_joomla.ini +++ b/administrator/language/en-GB/en-GB.plg_user_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_joomla.sys.ini b/administrator/language/en-GB/en-GB.plg_user_joomla.sys.ini index 7c6927c3149f2..1e51c1d246fc1 100644 --- a/administrator/language/en-GB/en-GB.plg_user_joomla.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_user_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_profile.ini b/administrator/language/en-GB/en-GB.plg_user_profile.ini index e961eb8959c1f..50fdeb3174525 100644 --- a/administrator/language/en-GB/en-GB.plg_user_profile.ini +++ b/administrator/language/en-GB/en-GB.plg_user_profile.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.plg_user_profile.sys.ini b/administrator/language/en-GB/en-GB.plg_user_profile.sys.ini index c9fcfeeec4738..aaa3df4c7b881 100644 --- a/administrator/language/en-GB/en-GB.plg_user_profile.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_user_profile.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.tpl_hathor.ini b/administrator/language/en-GB/en-GB.tpl_hathor.ini index 82159959d0fc4..430815f8f49a9 100644 --- a/administrator/language/en-GB/en-GB.tpl_hathor.ini +++ b/administrator/language/en-GB/en-GB.tpl_hathor.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.tpl_hathor.sys.ini b/administrator/language/en-GB/en-GB.tpl_hathor.sys.ini index 5426c680cd2da..fe42e0d196257 100644 --- a/administrator/language/en-GB/en-GB.tpl_hathor.sys.ini +++ b/administrator/language/en-GB/en-GB.tpl_hathor.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.tpl_isis.ini b/administrator/language/en-GB/en-GB.tpl_isis.ini index 0c2fcd6261b3e..65eb10b81c6cc 100644 --- a/administrator/language/en-GB/en-GB.tpl_isis.ini +++ b/administrator/language/en-GB/en-GB.tpl_isis.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.tpl_isis.sys.ini b/administrator/language/en-GB/en-GB.tpl_isis.sys.ini index 85c4d82a9c696..fdc72b89c4aab 100644 --- a/administrator/language/en-GB/en-GB.tpl_isis.sys.ini +++ b/administrator/language/en-GB/en-GB.tpl_isis.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index bc055c7995dde..3029d8ca236ef 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -2,11 +2,11 @@ <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> <version>3.8.4</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description><![CDATA[en-GB administrator language]]></description> <metadata> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 84f993ecb92cd..4e859b4f0b17f 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,11 +3,11 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.4</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>en-GB administrator language</description> <files> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 0fde53354fc72..682447dddd406 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -4,10 +4,10 @@ <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.4-dev</version> - <creationDate>December 2017</creationDate> + <version>3.8.4-rc</version> + <creationDate>January 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> <scriptfile>administrator/components/com_admin/script.php</scriptfile> diff --git a/administrator/manifests/libraries/joomla.xml b/administrator/manifests/libraries/joomla.xml index 5b90980c49f09..51c5dc0899d50 100644 --- a/administrator/manifests/libraries/joomla.xml +++ b/administrator/manifests/libraries/joomla.xml @@ -5,7 +5,7 @@ <version>13.1</version> <description>LIB_JOOMLA_XML_DESCRIPTION</description> <creationDate>2008</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 4bbe03fbfd3b2..ed64ec36fca28 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -3,11 +3,11 @@ <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> <version>3.8.4.1</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.</copyright> <license>https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license> <url>https://github.com/joomla/joomla-cms</url> <packager>Joomla! Project</packager> diff --git a/administrator/manifests/packages/pkg_weblinks.xml b/administrator/manifests/packages/pkg_weblinks.xml index 266c7dc099352..5a6e2dedf5d7a 100644 --- a/administrator/manifests/packages/pkg_weblinks.xml +++ b/administrator/manifests/packages/pkg_weblinks.xml @@ -4,7 +4,7 @@ <packagename>weblinks</packagename> <creationDate>December 2012</creationDate> <packager>Joomla! Project</packager> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <packageremail>admin@joomla.org</packageremail> <packagerurl>www.joomla.org</packagerurl> <author>Joomla! Project</author> diff --git a/administrator/modules/mod_custom/mod_custom.php b/administrator/modules/mod_custom/mod_custom.php index 5b6182c62830a..deeb16dfd8946 100644 --- a/administrator/modules/mod_custom/mod_custom.php +++ b/administrator/modules/mod_custom/mod_custom.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_custom * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_custom/mod_custom.xml b/administrator/modules/mod_custom/mod_custom.xml index 8d84cf2fff645..03c73d10527ba 100644 --- a/administrator/modules/mod_custom/mod_custom.xml +++ b/administrator/modules/mod_custom/mod_custom.xml @@ -3,7 +3,7 @@ <name>mod_custom</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_custom/tmpl/default.php b/administrator/modules/mod_custom/tmpl/default.php index 3a114d3e96e9d..e2d00403da102 100644 --- a/administrator/modules/mod_custom/tmpl/default.php +++ b/administrator/modules/mod_custom/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_custom * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_feed/helper.php b/administrator/modules/mod_feed/helper.php index 06beb58b3a03a..2bd6109078bbf 100644 --- a/administrator/modules/mod_feed/helper.php +++ b/administrator/modules/mod_feed/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_feed/mod_feed.php b/administrator/modules/mod_feed/mod_feed.php index 61268f0d444c0..185bf6ebfda50 100644 --- a/administrator/modules/mod_feed/mod_feed.php +++ b/administrator/modules/mod_feed/mod_feed.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_feed/mod_feed.xml b/administrator/modules/mod_feed/mod_feed.xml index 89640ed8bad0a..7fcbe497bf764 100644 --- a/administrator/modules/mod_feed/mod_feed.xml +++ b/administrator/modules/mod_feed/mod_feed.xml @@ -3,7 +3,7 @@ <name>mod_feed</name> <author>Joomla! Project</author> <creationDate>July 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_feed/tmpl/default.php b/administrator/modules/mod_feed/tmpl/default.php index 06f637c3ae562..12fd8ec81b25a 100644 --- a/administrator/modules/mod_feed/tmpl/default.php +++ b/administrator/modules/mod_feed/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_latest/helper.php b/administrator/modules/mod_latest/helper.php index 82083d85a279d..38bebab57275a 100644 --- a/administrator/modules/mod_latest/helper.php +++ b/administrator/modules/mod_latest/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_latest/mod_latest.php b/administrator/modules/mod_latest/mod_latest.php index 7bb17edfb6ebb..ac8f754afcc57 100644 --- a/administrator/modules/mod_latest/mod_latest.php +++ b/administrator/modules/mod_latest/mod_latest.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_latest/mod_latest.xml b/administrator/modules/mod_latest/mod_latest.xml index d7130190bd4be..c345a14a7bc8a 100644 --- a/administrator/modules/mod_latest/mod_latest.xml +++ b/administrator/modules/mod_latest/mod_latest.xml @@ -3,7 +3,7 @@ <name>mod_latest</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_latest/tmpl/default.php b/administrator/modules/mod_latest/tmpl/default.php index dd2dc96b7143b..3a4ac0bfc64ca 100644 --- a/administrator/modules/mod_latest/tmpl/default.php +++ b/administrator/modules/mod_latest/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_logged/helper.php b/administrator/modules/mod_logged/helper.php index 80a4fb1714b30..78388db7e2783 100644 --- a/administrator/modules/mod_logged/helper.php +++ b/administrator/modules/mod_logged/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_logged * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_logged/mod_logged.php b/administrator/modules/mod_logged/mod_logged.php index 691f804140a64..6b96cff5ff778 100644 --- a/administrator/modules/mod_logged/mod_logged.php +++ b/administrator/modules/mod_logged/mod_logged.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_logged * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_logged/mod_logged.xml b/administrator/modules/mod_logged/mod_logged.xml index 865105e3aa789..ac57a7ea84dff 100644 --- a/administrator/modules/mod_logged/mod_logged.xml +++ b/administrator/modules/mod_logged/mod_logged.xml @@ -3,7 +3,7 @@ <name>mod_logged</name> <author>Joomla! Project</author> <creationDate>January 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_logged/tmpl/default.php b/administrator/modules/mod_logged/tmpl/default.php index 35a802ce279b4..cc084a3666158 100644 --- a/administrator/modules/mod_logged/tmpl/default.php +++ b/administrator/modules/mod_logged/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_logged * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_login/helper.php b/administrator/modules/mod_login/helper.php index cd958994ef30c..122261b12a19e 100644 --- a/administrator/modules/mod_login/helper.php +++ b/administrator/modules/mod_login/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_login/mod_login.php b/administrator/modules/mod_login/mod_login.php index c48860246b61c..f777066e834fd 100644 --- a/administrator/modules/mod_login/mod_login.php +++ b/administrator/modules/mod_login/mod_login.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_login/mod_login.xml b/administrator/modules/mod_login/mod_login.xml index 102535cc5fd00..cbde311bd470e 100644 --- a/administrator/modules/mod_login/mod_login.xml +++ b/administrator/modules/mod_login/mod_login.xml @@ -3,7 +3,7 @@ <name>mod_login</name> <author>Joomla! Project</author> <creationDate>March 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_login/tmpl/default.php b/administrator/modules/mod_login/tmpl/default.php index 1a0b6c8802e2c..6ed257d62d43e 100644 --- a/administrator/modules/mod_login/tmpl/default.php +++ b/administrator/modules/mod_login/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_menu/helper.php b/administrator/modules/mod_menu/helper.php index 28d6d527d0df2..9e9a515e7d085 100644 --- a/administrator/modules/mod_menu/helper.php +++ b/administrator/modules/mod_menu/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_menu/menu.php b/administrator/modules/mod_menu/menu.php index 716638893e3e0..b694a59078327 100644 --- a/administrator/modules/mod_menu/menu.php +++ b/administrator/modules/mod_menu/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_menu/mod_menu.php b/administrator/modules/mod_menu/mod_menu.php index 85a2a1e419d13..83397a3f36ea0 100644 --- a/administrator/modules/mod_menu/mod_menu.php +++ b/administrator/modules/mod_menu/mod_menu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_menu/mod_menu.xml b/administrator/modules/mod_menu/mod_menu.xml index aa70fe993b271..abc6d49dabfc3 100644 --- a/administrator/modules/mod_menu/mod_menu.xml +++ b/administrator/modules/mod_menu/mod_menu.xml @@ -3,7 +3,7 @@ <name>mod_menu</name> <author>Joomla! Project</author> <creationDate>March 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_menu/tmpl/default.php b/administrator/modules/mod_menu/tmpl/default.php index 76159f5b2c99a..d4bca98bb268d 100644 --- a/administrator/modules/mod_menu/tmpl/default.php +++ b/administrator/modules/mod_menu/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_menu/tmpl/default_submenu.php b/administrator/modules/mod_menu/tmpl/default_submenu.php index 7120c069392dd..82721c8b891cc 100644 --- a/administrator/modules/mod_menu/tmpl/default_submenu.php +++ b/administrator/modules/mod_menu/tmpl/default_submenu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ use Joomla\CMS\Menu\Node\Separator; diff --git a/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.ini b/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.ini index e3d994d75f03f..9c77d2050726e 100644 --- a/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.ini +++ b/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.sys.ini b/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.sys.ini index e3d994d75f03f..9c77d2050726e 100644 --- a/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.sys.ini +++ b/administrator/modules/mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_multilangstatus/mod_multilangstatus.php b/administrator/modules/mod_multilangstatus/mod_multilangstatus.php index 4a1eb242e2d19..8280d0699708e 100644 --- a/administrator/modules/mod_multilangstatus/mod_multilangstatus.php +++ b/administrator/modules/mod_multilangstatus/mod_multilangstatus.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_multilangstatus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_multilangstatus/mod_multilangstatus.xml b/administrator/modules/mod_multilangstatus/mod_multilangstatus.xml index ba14e13a34218..ba1df73d1c8ff 100644 --- a/administrator/modules/mod_multilangstatus/mod_multilangstatus.xml +++ b/administrator/modules/mod_multilangstatus/mod_multilangstatus.xml @@ -3,7 +3,7 @@ <name>mod_multilangstatus</name> <author>Joomla! Project</author> <creationDate>September 2011</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_multilangstatus/tmpl/default.php b/administrator/modules/mod_multilangstatus/tmpl/default.php index df18d6900f94e..8276cd370631b 100644 --- a/administrator/modules/mod_multilangstatus/tmpl/default.php +++ b/administrator/modules/mod_multilangstatus/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_multilangstatus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_popular/helper.php b/administrator/modules/mod_popular/helper.php index 2e07afcc38355..bd3c00065591b 100644 --- a/administrator/modules/mod_popular/helper.php +++ b/administrator/modules/mod_popular/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_popular/mod_popular.php b/administrator/modules/mod_popular/mod_popular.php index 51a6f78751cc2..3736b18efde8d 100644 --- a/administrator/modules/mod_popular/mod_popular.php +++ b/administrator/modules/mod_popular/mod_popular.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_popular/mod_popular.xml b/administrator/modules/mod_popular/mod_popular.xml index 00c3f0bff5005..caa93f96d5ede 100644 --- a/administrator/modules/mod_popular/mod_popular.xml +++ b/administrator/modules/mod_popular/mod_popular.xml @@ -3,7 +3,7 @@ <name>mod_popular</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_popular/tmpl/default.php b/administrator/modules/mod_popular/tmpl/default.php index e54f9b48a0e48..2bd11c830c4fa 100644 --- a/administrator/modules/mod_popular/tmpl/default.php +++ b/administrator/modules/mod_popular/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_quickicon/helper.php b/administrator/modules/mod_quickicon/helper.php index 72fbf3f930251..81fd764fd262e 100644 --- a/administrator/modules/mod_quickicon/helper.php +++ b/administrator/modules/mod_quickicon/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_quickicon * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_quickicon/mod_quickicon.php b/administrator/modules/mod_quickicon/mod_quickicon.php index 49b04a99f4b85..789eb045d800d 100644 --- a/administrator/modules/mod_quickicon/mod_quickicon.php +++ b/administrator/modules/mod_quickicon/mod_quickicon.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_quickicon * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_quickicon/mod_quickicon.xml b/administrator/modules/mod_quickicon/mod_quickicon.xml index 34e1bdfcc0950..ddae06cde0fad 100644 --- a/administrator/modules/mod_quickicon/mod_quickicon.xml +++ b/administrator/modules/mod_quickicon/mod_quickicon.xml @@ -3,7 +3,7 @@ <name>mod_quickicon</name> <author>Joomla! Project</author> <creationDate>Nov 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_quickicon/tmpl/default.php b/administrator/modules/mod_quickicon/tmpl/default.php index c4455aa0cc982..a5b5f12a2510d 100644 --- a/administrator/modules/mod_quickicon/tmpl/default.php +++ b/administrator/modules/mod_quickicon/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_quickicon * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_sampledata/helper.php b/administrator/modules/mod_sampledata/helper.php index a2668562b943c..3bbd569f87c17 100644 --- a/administrator/modules/mod_sampledata/helper.php +++ b/administrator/modules/mod_sampledata/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_sampledata * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_sampledata/mod_sampledata.php b/administrator/modules/mod_sampledata/mod_sampledata.php index 6ee014ac24acd..c729900fb387b 100644 --- a/administrator/modules/mod_sampledata/mod_sampledata.php +++ b/administrator/modules/mod_sampledata/mod_sampledata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_sampledata * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_sampledata/mod_sampledata.xml b/administrator/modules/mod_sampledata/mod_sampledata.xml index dd64e65091551..c80d46cc0ca8e 100644 --- a/administrator/modules/mod_sampledata/mod_sampledata.xml +++ b/administrator/modules/mod_sampledata/mod_sampledata.xml @@ -3,7 +3,7 @@ <name>mod_sampledata</name> <author>Joomla! Project</author> <creationDate>July 2017</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_sampledata/tmpl/default.php b/administrator/modules/mod_sampledata/tmpl/default.php index 2e351f53c6072..9460217275938 100644 --- a/administrator/modules/mod_sampledata/tmpl/default.php +++ b/administrator/modules/mod_sampledata/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_sampledata * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_stats_admin/helper.php b/administrator/modules/mod_stats_admin/helper.php index 16fbd35566e80..07b31d5a0d16d 100644 --- a/administrator/modules/mod_stats_admin/helper.php +++ b/administrator/modules/mod_stats_admin/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_stats_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini index 911c38e656431..345d42e10bbe9 100644 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini +++ b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini index e57b1af3a8a9b..d47a4e9f3045b 100644 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini +++ b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_stats_admin/mod_stats_admin.php b/administrator/modules/mod_stats_admin/mod_stats_admin.php index a3949b3eb85d6..a6791db0bc92c 100644 --- a/administrator/modules/mod_stats_admin/mod_stats_admin.php +++ b/administrator/modules/mod_stats_admin/mod_stats_admin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_stats_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_stats_admin/mod_stats_admin.xml b/administrator/modules/mod_stats_admin/mod_stats_admin.xml index c4ce8b4a86c4d..bbd6b685bd8ed 100644 --- a/administrator/modules/mod_stats_admin/mod_stats_admin.xml +++ b/administrator/modules/mod_stats_admin/mod_stats_admin.xml @@ -3,7 +3,7 @@ <name>mod_stats_admin</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_stats_admin/tmpl/default.php b/administrator/modules/mod_stats_admin/tmpl/default.php index dd9591ba9fe74..4308cff8ee5f7 100644 --- a/administrator/modules/mod_stats_admin/tmpl/default.php +++ b/administrator/modules/mod_stats_admin/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_stats_admin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_status/mod_status.php b/administrator/modules/mod_status/mod_status.php index 302d1bee4e471..064f5c21649e4 100644 --- a/administrator/modules/mod_status/mod_status.php +++ b/administrator/modules/mod_status/mod_status.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_status * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_status/mod_status.xml b/administrator/modules/mod_status/mod_status.xml index b6667fc555a6b..c63bfea722bc7 100644 --- a/administrator/modules/mod_status/mod_status.xml +++ b/administrator/modules/mod_status/mod_status.xml @@ -3,7 +3,7 @@ <name>mod_status</name> <author>Joomla! Project</author> <creationDate>Feb 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_status/tmpl/default.php b/administrator/modules/mod_status/tmpl/default.php index 2ff61fa5f2b0b..3e21cb1052ba7 100644 --- a/administrator/modules/mod_status/tmpl/default.php +++ b/administrator/modules/mod_status/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_status * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_submenu/mod_submenu.php b/administrator/modules/mod_submenu/mod_submenu.php index 85b09a0cab9fd..c6b57f69610af 100644 --- a/administrator/modules/mod_submenu/mod_submenu.php +++ b/administrator/modules/mod_submenu/mod_submenu.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_submenu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_submenu/mod_submenu.xml b/administrator/modules/mod_submenu/mod_submenu.xml index 218f38a45ccad..24d158016e5a3 100644 --- a/administrator/modules/mod_submenu/mod_submenu.xml +++ b/administrator/modules/mod_submenu/mod_submenu.xml @@ -3,7 +3,7 @@ <name>mod_submenu</name> <author>Joomla! Project</author> <creationDate>Feb 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_submenu/tmpl/default.php b/administrator/modules/mod_submenu/tmpl/default.php index b095a2a323efb..47711f2ccfad1 100644 --- a/administrator/modules/mod_submenu/tmpl/default.php +++ b/administrator/modules/mod_submenu/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_submenu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_title/mod_title.php b/administrator/modules/mod_title/mod_title.php index a0e5f6fd1b8a8..870d3fe235717 100644 --- a/administrator/modules/mod_title/mod_title.php +++ b/administrator/modules/mod_title/mod_title.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_title * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_title/mod_title.xml b/administrator/modules/mod_title/mod_title.xml index 8254b45e2a82d..125215b59e0e2 100644 --- a/administrator/modules/mod_title/mod_title.xml +++ b/administrator/modules/mod_title/mod_title.xml @@ -3,7 +3,7 @@ <name>mod_title</name> <author>Joomla! Project</author> <creationDate>Nov 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_title/tmpl/default.php b/administrator/modules/mod_title/tmpl/default.php index fc92e301cf2a4..fcb25679f8605 100644 --- a/administrator/modules/mod_title/tmpl/default.php +++ b/administrator/modules/mod_title/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_title * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_toolbar/mod_toolbar.php b/administrator/modules/mod_toolbar/mod_toolbar.php index 7b733895f57ad..00298ec42deaf 100644 --- a/administrator/modules/mod_toolbar/mod_toolbar.php +++ b/administrator/modules/mod_toolbar/mod_toolbar.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_toolbar/mod_toolbar.xml b/administrator/modules/mod_toolbar/mod_toolbar.xml index d2709aaab466b..3969bf29f73b1 100644 --- a/administrator/modules/mod_toolbar/mod_toolbar.xml +++ b/administrator/modules/mod_toolbar/mod_toolbar.xml @@ -3,7 +3,7 @@ <name>mod_toolbar</name> <author>Joomla! Project</author> <creationDate>Nov 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_toolbar/tmpl/default.php b/administrator/modules/mod_toolbar/tmpl/default.php index f25093042acc7..635f5c582836c 100644 --- a/administrator/modules/mod_toolbar/tmpl/default.php +++ b/administrator/modules/mod_toolbar/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_version/helper.php b/administrator/modules/mod_version/helper.php index 9f673c7430379..3e95db0818eb7 100644 --- a/administrator/modules/mod_version/helper.php +++ b/administrator/modules/mod_version/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_version * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.ini b/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.ini index 51c512093986e..ec0b0a53af360 100644 --- a/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.ini +++ b/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.sys.ini b/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.sys.ini index 6906ac2884ceb..7b3b9455a2837 100644 --- a/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.sys.ini +++ b/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/modules/mod_version/mod_version.php b/administrator/modules/mod_version/mod_version.php index d19366754c51a..788635330b9c7 100644 --- a/administrator/modules/mod_version/mod_version.php +++ b/administrator/modules/mod_version/mod_version.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_version * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/modules/mod_version/mod_version.xml b/administrator/modules/mod_version/mod_version.xml index 0fbf06689e61a..e95d1035bf6d4 100644 --- a/administrator/modules/mod_version/mod_version.xml +++ b/administrator/modules/mod_version/mod_version.xml @@ -3,7 +3,7 @@ <name>mod_version</name> <author>Joomla! Project</author> <creationDate>January 2012</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/modules/mod_version/tmpl/default.php b/administrator/modules/mod_version/tmpl/default.php index 65e6f2d5c9367..9c2578298d9b2 100644 --- a/administrator/modules/mod_version/tmpl/default.php +++ b/administrator/modules/mod_version/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_version * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/component.php b/administrator/templates/hathor/component.php index c7ae7bf34d448..8d898a5eea8bf 100644 --- a/administrator/templates/hathor/component.php +++ b/administrator/templates/hathor/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/cpanel.php b/administrator/templates/hathor/cpanel.php index 33b8b35a87619..cf9c670d5654e 100644 --- a/administrator/templates/hathor/cpanel.php +++ b/administrator/templates/hathor/cpanel.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/css/boldtext.css b/administrator/templates/hathor/css/boldtext.css index 739b715b66688..42e544cb60b94 100644 --- a/administrator/templates/hathor/css/boldtext.css +++ b/administrator/templates/hathor/css/boldtext.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/colour_blue_rtl.css b/administrator/templates/hathor/css/colour_blue_rtl.css index 72bf4c7684987..be76bc14d7210 100644 --- a/administrator/templates/hathor/css/colour_blue_rtl.css +++ b/administrator/templates/hathor/css/colour_blue_rtl.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/colour_brown_rtl.css b/administrator/templates/hathor/css/colour_brown_rtl.css index ad5718df08746..d0d15b375dba3 100644 --- a/administrator/templates/hathor/css/colour_brown_rtl.css +++ b/administrator/templates/hathor/css/colour_brown_rtl.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/colour_highcontrast.css b/administrator/templates/hathor/css/colour_highcontrast.css index c9844606bb103..fb892500b44f2 100644 --- a/administrator/templates/hathor/css/colour_highcontrast.css +++ b/administrator/templates/hathor/css/colour_highcontrast.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/colour_highcontrast_rtl.css b/administrator/templates/hathor/css/colour_highcontrast_rtl.css index 1d20f8800c6c8..abf3f1c7b121c 100644 --- a/administrator/templates/hathor/css/colour_highcontrast_rtl.css +++ b/administrator/templates/hathor/css/colour_highcontrast_rtl.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/colour_standard_rtl.css b/administrator/templates/hathor/css/colour_standard_rtl.css index 6bca0d8eee57b..f76a9eac3465c 100644 --- a/administrator/templates/hathor/css/colour_standard_rtl.css +++ b/administrator/templates/hathor/css/colour_standard_rtl.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/error.css b/administrator/templates/hathor/css/error.css index 7de541012e069..69877243ec858 100644 --- a/administrator/templates/hathor/css/error.css +++ b/administrator/templates/hathor/css/error.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/css/ie7.css b/administrator/templates/hathor/css/ie7.css index 4d60c8b34e754..4d170f7b08865 100644 --- a/administrator/templates/hathor/css/ie7.css +++ b/administrator/templates/hathor/css/ie7.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/ie8.css b/administrator/templates/hathor/css/ie8.css index 84d43e7236b22..4fdab91df1308 100644 --- a/administrator/templates/hathor/css/ie8.css +++ b/administrator/templates/hathor/css/ie8.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/template_rtl.css b/administrator/templates/hathor/css/template_rtl.css index 4af06f496c0c0..c45d926a96ae3 100644 --- a/administrator/templates/hathor/css/template_rtl.css +++ b/administrator/templates/hathor/css/template_rtl.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 * diff --git a/administrator/templates/hathor/css/theme.css b/administrator/templates/hathor/css/theme.css index ceeb066ed4603..961486e53c66b 100644 --- a/administrator/templates/hathor/css/theme.css +++ b/administrator/templates/hathor/css/theme.css @@ -3,7 +3,7 @@ /** * @package Joomla.Administrator * @subpackage templates.hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 1.6 */ diff --git a/administrator/templates/hathor/error.php b/administrator/templates/hathor/error.php index 29da0820ce8e6..5f86b785b845c 100644 --- a/administrator/templates/hathor/error.php +++ b/administrator/templates/hathor/error.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/help/default.php b/administrator/templates/hathor/html/com_admin/help/default.php index d4d8ef1439d66..9f11510154a8f 100644 --- a/administrator/templates/hathor/html/com_admin/help/default.php +++ b/administrator/templates/hathor/html/com_admin/help/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/profile/edit.php b/administrator/templates/hathor/html/com_admin/profile/edit.php index 76985368d11aa..e010235061d17 100644 --- a/administrator/templates/hathor/html/com_admin/profile/edit.php +++ b/administrator/templates/hathor/html/com_admin/profile/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default.php b/administrator/templates/hathor/html/com_admin/sysinfo/default.php index b846fc42ba45d..b9fa4359e8df6 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default_config.php b/administrator/templates/hathor/html/com_admin/sysinfo/default_config.php index 3b5115155c597..faa4d6814e983 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default_config.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default_config.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default_directory.php b/administrator/templates/hathor/html/com_admin/sysinfo/default_directory.php index 890e8613af5e2..412f1fa535063 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default_directory.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default_directory.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default_navigation.php b/administrator/templates/hathor/html/com_admin/sysinfo/default_navigation.php index 4e9fb38d92a92..d7ece87d6b428 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default_navigation.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default_navigation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default_phpsettings.php b/administrator/templates/hathor/html/com_admin/sysinfo/default_phpsettings.php index a463047c93466..1750e268b3b5c 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default_phpsettings.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default_phpsettings.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_admin/sysinfo/default_system.php b/administrator/templates/hathor/html/com_admin/sysinfo/default_system.php index 51982d08adfcf..4d44486f0f794 100644 --- a/administrator/templates/hathor/html/com_admin/sysinfo/default_system.php +++ b/administrator/templates/hathor/html/com_admin/sysinfo/default_system.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_associations/associations/default.php b/administrator/templates/hathor/html/com_associations/associations/default.php index bc9ff16532e1a..c24d631178b4f 100644 --- a/administrator/templates/hathor/html/com_associations/associations/default.php +++ b/administrator/templates/hathor/html/com_associations/associations/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_associations * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/banner/edit.php b/administrator/templates/hathor/html/com_banners/banner/edit.php index 79d941ba4a48b..f1d7f72da0806 100644 --- a/administrator/templates/hathor/html/com_banners/banner/edit.php +++ b/administrator/templates/hathor/html/com_banners/banner/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/banners/default.php b/administrator/templates/hathor/html/com_banners/banners/default.php index 12a64474ed30a..fc42789aa7a04 100644 --- a/administrator/templates/hathor/html/com_banners/banners/default.php +++ b/administrator/templates/hathor/html/com_banners/banners/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/client/edit.php b/administrator/templates/hathor/html/com_banners/client/edit.php index be173689c42f0..75d78e77bc272 100644 --- a/administrator/templates/hathor/html/com_banners/client/edit.php +++ b/administrator/templates/hathor/html/com_banners/client/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/clients/default.php b/administrator/templates/hathor/html/com_banners/clients/default.php index 14ff0b79715a0..ef5fa7ab8875a 100644 --- a/administrator/templates/hathor/html/com_banners/clients/default.php +++ b/administrator/templates/hathor/html/com_banners/clients/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/download/default.php b/administrator/templates/hathor/html/com_banners/download/default.php index 8775ebf7e8cc5..b1aa20cafa524 100644 --- a/administrator/templates/hathor/html/com_banners/download/default.php +++ b/administrator/templates/hathor/html/com_banners/download/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_banners/tracks/default.php b/administrator/templates/hathor/html/com_banners/tracks/default.php index f3fa9bd73e092..e131f137ecf53 100644 --- a/administrator/templates/hathor/html/com_banners/tracks/default.php +++ b/administrator/templates/hathor/html/com_banners/tracks/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_cache/cache/default.php b/administrator/templates/hathor/html/com_cache/cache/default.php index 5bf78493a470d..fc7115bb6888a 100644 --- a/administrator/templates/hathor/html/com_cache/cache/default.php +++ b/administrator/templates/hathor/html/com_cache/cache/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_cache/purge/default.php b/administrator/templates/hathor/html/com_cache/purge/default.php index 635c136b94843..a24c98236489c 100644 --- a/administrator/templates/hathor/html/com_cache/purge/default.php +++ b/administrator/templates/hathor/html/com_cache/purge/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_categories/categories/default.php b/administrator/templates/hathor/html/com_categories/categories/default.php index 8910611882a91..22852f3dd400f 100644 --- a/administrator/templates/hathor/html/com_categories/categories/default.php +++ b/administrator/templates/hathor/html/com_categories/categories/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_categories/category/edit.php b/administrator/templates/hathor/html/com_categories/category/edit.php index 8b8aef5b707a3..808ffaed4b6e7 100644 --- a/administrator/templates/hathor/html/com_categories/category/edit.php +++ b/administrator/templates/hathor/html/com_categories/category/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_categories/category/edit_options.php b/administrator/templates/hathor/html/com_categories/category/edit_options.php index df8fe332579d2..67a095c15da50 100644 --- a/administrator/templates/hathor/html/com_categories/category/edit_options.php +++ b/administrator/templates/hathor/html/com_categories/category/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_checkin/checkin/default.php b/administrator/templates/hathor/html/com_checkin/checkin/default.php index 169bc97ec9eb0..d6ce912ae9d1e 100644 --- a/administrator/templates/hathor/html/com_checkin/checkin/default.php +++ b/administrator/templates/hathor/html/com_checkin/checkin/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_checkin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default.php b/administrator/templates/hathor/html/com_config/application/default.php index 0db5729406bf3..964167b239714 100644 --- a/administrator/templates/hathor/html/com_config/application/default.php +++ b/administrator/templates/hathor/html/com_config/application/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_cache.php b/administrator/templates/hathor/html/com_config/application/default_cache.php index bbe20e14dc77b..5102ec5c54a36 100644 --- a/administrator/templates/hathor/html/com_config/application/default_cache.php +++ b/administrator/templates/hathor/html/com_config/application/default_cache.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_cookie.php b/administrator/templates/hathor/html/com_config/application/default_cookie.php index fca5ae727d563..b775487ed2961 100644 --- a/administrator/templates/hathor/html/com_config/application/default_cookie.php +++ b/administrator/templates/hathor/html/com_config/application/default_cookie.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_database.php b/administrator/templates/hathor/html/com_config/application/default_database.php index 7e4c089c1d2d4..1c48278071907 100644 --- a/administrator/templates/hathor/html/com_config/application/default_database.php +++ b/administrator/templates/hathor/html/com_config/application/default_database.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_debug.php b/administrator/templates/hathor/html/com_config/application/default_debug.php index 1eafebd6f5a6c..cb49f3b9f86d5 100644 --- a/administrator/templates/hathor/html/com_config/application/default_debug.php +++ b/administrator/templates/hathor/html/com_config/application/default_debug.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_filters.php b/administrator/templates/hathor/html/com_config/application/default_filters.php index 6da5c105fc55b..4ef2f5743d2ed 100644 --- a/administrator/templates/hathor/html/com_config/application/default_filters.php +++ b/administrator/templates/hathor/html/com_config/application/default_filters.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_ftp.php b/administrator/templates/hathor/html/com_config/application/default_ftp.php index 2105b65b9c762..e22ccc6471b92 100644 --- a/administrator/templates/hathor/html/com_config/application/default_ftp.php +++ b/administrator/templates/hathor/html/com_config/application/default_ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_ftplogin.php b/administrator/templates/hathor/html/com_config/application/default_ftplogin.php index d9690e5a790c5..781ed67692d07 100644 --- a/administrator/templates/hathor/html/com_config/application/default_ftplogin.php +++ b/administrator/templates/hathor/html/com_config/application/default_ftplogin.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_locale.php b/administrator/templates/hathor/html/com_config/application/default_locale.php index 954efdc10a7fa..4156ffb076956 100644 --- a/administrator/templates/hathor/html/com_config/application/default_locale.php +++ b/administrator/templates/hathor/html/com_config/application/default_locale.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_mail.php b/administrator/templates/hathor/html/com_config/application/default_mail.php index 89888029c08a1..948531a9e322e 100644 --- a/administrator/templates/hathor/html/com_config/application/default_mail.php +++ b/administrator/templates/hathor/html/com_config/application/default_mail.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_metadata.php b/administrator/templates/hathor/html/com_config/application/default_metadata.php index 0b1096b22c8c1..805991369faf8 100644 --- a/administrator/templates/hathor/html/com_config/application/default_metadata.php +++ b/administrator/templates/hathor/html/com_config/application/default_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_navigation.php b/administrator/templates/hathor/html/com_config/application/default_navigation.php index a7f5d7caeb007..40b22f101e4c8 100644 --- a/administrator/templates/hathor/html/com_config/application/default_navigation.php +++ b/administrator/templates/hathor/html/com_config/application/default_navigation.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_permissions.php b/administrator/templates/hathor/html/com_config/application/default_permissions.php index 8c7150ef4ca62..3d7065904e17d 100644 --- a/administrator/templates/hathor/html/com_config/application/default_permissions.php +++ b/administrator/templates/hathor/html/com_config/application/default_permissions.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_seo.php b/administrator/templates/hathor/html/com_config/application/default_seo.php index db9c91344eb47..3342214025a51 100644 --- a/administrator/templates/hathor/html/com_config/application/default_seo.php +++ b/administrator/templates/hathor/html/com_config/application/default_seo.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_server.php b/administrator/templates/hathor/html/com_config/application/default_server.php index 45b6facfd4103..9cda70d0e1739 100644 --- a/administrator/templates/hathor/html/com_config/application/default_server.php +++ b/administrator/templates/hathor/html/com_config/application/default_server.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_session.php b/administrator/templates/hathor/html/com_config/application/default_session.php index 34ff18a53d308..d202e5bcb7ed2 100644 --- a/administrator/templates/hathor/html/com_config/application/default_session.php +++ b/administrator/templates/hathor/html/com_config/application/default_session.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_site.php b/administrator/templates/hathor/html/com_config/application/default_site.php index ce9a8a581385e..dfc8abad2197e 100644 --- a/administrator/templates/hathor/html/com_config/application/default_site.php +++ b/administrator/templates/hathor/html/com_config/application/default_site.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/application/default_system.php b/administrator/templates/hathor/html/com_config/application/default_system.php index bf26ce05bfc76..6bfc2501586d4 100644 --- a/administrator/templates/hathor/html/com_config/application/default_system.php +++ b/administrator/templates/hathor/html/com_config/application/default_system.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_config/component/default.php b/administrator/templates/hathor/html/com_config/component/default.php index 414076110342f..1142ef54cd7b5 100644 --- a/administrator/templates/hathor/html/com_config/component/default.php +++ b/administrator/templates/hathor/html/com_config/component/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_contact/contact/edit.php b/administrator/templates/hathor/html/com_contact/contact/edit.php index 71932d3cf2e77..15361745e6b67 100644 --- a/administrator/templates/hathor/html/com_contact/contact/edit.php +++ b/administrator/templates/hathor/html/com_contact/contact/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_contact/contact/edit_params.php b/administrator/templates/hathor/html/com_contact/contact/edit_params.php index 120addbdce340..ac3da3135ed56 100644 --- a/administrator/templates/hathor/html/com_contact/contact/edit_params.php +++ b/administrator/templates/hathor/html/com_contact/contact/edit_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_contact/contacts/default.php b/administrator/templates/hathor/html/com_contact/contacts/default.php index 15b78cd6c912e..a6adbe309f471 100644 --- a/administrator/templates/hathor/html/com_contact/contacts/default.php +++ b/administrator/templates/hathor/html/com_contact/contacts/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_contact/contacts/modal.php b/administrator/templates/hathor/html/com_contact/contacts/modal.php index f2939a5d8896e..a6d0b273ce4d9 100644 --- a/administrator/templates/hathor/html/com_contact/contacts/modal.php +++ b/administrator/templates/hathor/html/com_contact/contacts/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_content/article/edit.php b/administrator/templates/hathor/html/com_content/article/edit.php index 45602ba0420f6..e4d165ac90156 100644 --- a/administrator/templates/hathor/html/com_content/article/edit.php +++ b/administrator/templates/hathor/html/com_content/article/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_content/articles/default.php b/administrator/templates/hathor/html/com_content/articles/default.php index ba9c0afafa6c5..d1c3e4af6b851 100644 --- a/administrator/templates/hathor/html/com_content/articles/default.php +++ b/administrator/templates/hathor/html/com_content/articles/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_content/articles/modal.php b/administrator/templates/hathor/html/com_content/articles/modal.php index 438291aa78b7c..8542c6137bb91 100644 --- a/administrator/templates/hathor/html/com_content/articles/modal.php +++ b/administrator/templates/hathor/html/com_content/articles/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_content/featured/default.php b/administrator/templates/hathor/html/com_content/featured/default.php index 67bfca125c111..704260277ed20 100644 --- a/administrator/templates/hathor/html/com_content/featured/default.php +++ b/administrator/templates/hathor/html/com_content/featured/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* add accessibility, labels on input forms */ diff --git a/administrator/templates/hathor/html/com_contenthistory/history/modal.php b/administrator/templates/hathor/html/com_contenthistory/history/modal.php index a9a52fa9a758b..164ba8664cbce 100644 --- a/administrator/templates/hathor/html/com_contenthistory/history/modal.php +++ b/administrator/templates/hathor/html/com_contenthistory/history/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_cpanel/cpanel/default.php b/administrator/templates/hathor/html/com_cpanel/cpanel/default.php index 625bff6e2b6af..378750860ddbb 100644 --- a/administrator/templates/hathor/html/com_cpanel/cpanel/default.php +++ b/administrator/templates/hathor/html/com_cpanel/cpanel/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_fields/field/edit.php b/administrator/templates/hathor/html/com_fields/field/edit.php index 90a4553251bad..9d4f50c91ff4e 100644 --- a/administrator/templates/hathor/html/com_fields/field/edit.php +++ b/administrator/templates/hathor/html/com_fields/field/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/templates/hathor/html/com_fields/fields/default.php b/administrator/templates/hathor/html/com_fields/fields/default.php index 71e0c8a49bff6..4cf67e776f154 100644 --- a/administrator/templates/hathor/html/com_fields/fields/default.php +++ b/administrator/templates/hathor/html/com_fields/fields/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/templates/hathor/html/com_fields/group/edit.php b/administrator/templates/hathor/html/com_fields/group/edit.php index 9f8b40f5a3272..031f29f753bb6 100644 --- a/administrator/templates/hathor/html/com_fields/group/edit.php +++ b/administrator/templates/hathor/html/com_fields/group/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/templates/hathor/html/com_fields/groups/default.php b/administrator/templates/hathor/html/com_fields/groups/default.php index 1297e792af3d8..1eec15eb60265 100644 --- a/administrator/templates/hathor/html/com_fields/groups/default.php +++ b/administrator/templates/hathor/html/com_fields/groups/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/administrator/templates/hathor/html/com_finder/filters/default.php b/administrator/templates/hathor/html/com_finder/filters/default.php index 64d4e341c055e..475f04f39d30c 100644 --- a/administrator/templates/hathor/html/com_finder/filters/default.php +++ b/administrator/templates/hathor/html/com_finder/filters/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_finder/index/default.php b/administrator/templates/hathor/html/com_finder/index/default.php index 59f8dfb8e7ec2..844ca77ac9f94 100644 --- a/administrator/templates/hathor/html/com_finder/index/default.php +++ b/administrator/templates/hathor/html/com_finder/index/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_finder/maps/default.php b/administrator/templates/hathor/html/com_finder/maps/default.php index 6d32f60cd6ea6..036af6aa4e93f 100644 --- a/administrator/templates/hathor/html/com_finder/maps/default.php +++ b/administrator/templates/hathor/html/com_finder/maps/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/database/default.php b/administrator/templates/hathor/html/com_installer/database/default.php index e25994ad03e8b..76cbd9832857d 100644 --- a/administrator/templates/hathor/html/com_installer/database/default.php +++ b/administrator/templates/hathor/html/com_installer/database/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/default/default_ftp.php b/administrator/templates/hathor/html/com_installer/default/default_ftp.php index 4485178f40453..e7d54e5c02000 100644 --- a/administrator/templates/hathor/html/com_installer/default/default_ftp.php +++ b/administrator/templates/hathor/html/com_installer/default/default_ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/discover/default.php b/administrator/templates/hathor/html/com_installer/discover/default.php index bf56352e0a454..cc97757b6731c 100644 --- a/administrator/templates/hathor/html/com_installer/discover/default.php +++ b/administrator/templates/hathor/html/com_installer/discover/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/install/default.php b/administrator/templates/hathor/html/com_installer/install/default.php index c6abba802e7a9..f1f08d31a5dbc 100644 --- a/administrator/templates/hathor/html/com_installer/install/default.php +++ b/administrator/templates/hathor/html/com_installer/install/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/install/default_form.php b/administrator/templates/hathor/html/com_installer/install/default_form.php index 6b49132c616a3..7608267fc6f42 100644 --- a/administrator/templates/hathor/html/com_installer/install/default_form.php +++ b/administrator/templates/hathor/html/com_installer/install/default_form.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/languages/default.php b/administrator/templates/hathor/html/com_installer/languages/default.php index 0c4c065d2c47f..543bb8b0fff9c 100644 --- a/administrator/templates/hathor/html/com_installer/languages/default.php +++ b/administrator/templates/hathor/html/com_installer/languages/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/languages/default_filter.php b/administrator/templates/hathor/html/com_installer/languages/default_filter.php index 67d2d6f226b20..4fba73a45b927 100644 --- a/administrator/templates/hathor/html/com_installer/languages/default_filter.php +++ b/administrator/templates/hathor/html/com_installer/languages/default_filter.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage com_installer - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/manage/default.php b/administrator/templates/hathor/html/com_installer/manage/default.php index 0ba3fcfedb992..5cd465acdfecd 100644 --- a/administrator/templates/hathor/html/com_installer/manage/default.php +++ b/administrator/templates/hathor/html/com_installer/manage/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/manage/default_filter.php b/administrator/templates/hathor/html/com_installer/manage/default_filter.php index b07307cf8eec5..b7204e7c9e00d 100644 --- a/administrator/templates/hathor/html/com_installer/manage/default_filter.php +++ b/administrator/templates/hathor/html/com_installer/manage/default_filter.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/update/default.php b/administrator/templates/hathor/html/com_installer/update/default.php index 91d866c9780a8..e08ce39fca73e 100644 --- a/administrator/templates/hathor/html/com_installer/update/default.php +++ b/administrator/templates/hathor/html/com_installer/update/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_installer/warnings/default.php b/administrator/templates/hathor/html/com_installer/warnings/default.php index 8f7ed9cf58388..1e8f73135e057 100644 --- a/administrator/templates/hathor/html/com_installer/warnings/default.php +++ b/administrator/templates/hathor/html/com_installer/warnings/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_joomlaupdate/default/default.php b/administrator/templates/hathor/html/com_joomlaupdate/default/default.php index f791099c1bed6..4d41b6641af40 100644 --- a/administrator/templates/hathor/html/com_joomlaupdate/default/default.php +++ b/administrator/templates/hathor/html/com_joomlaupdate/default/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_languages/installed/default.php b/administrator/templates/hathor/html/com_languages/installed/default.php index 7db9c016d80b6..0dc2fbc4ab254 100644 --- a/administrator/templates/hathor/html/com_languages/installed/default.php +++ b/administrator/templates/hathor/html/com_languages/installed/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_languages/installed/default_ftp.php b/administrator/templates/hathor/html/com_languages/installed/default_ftp.php index c944861bdc795..2502ac58db4e8 100644 --- a/administrator/templates/hathor/html/com_languages/installed/default_ftp.php +++ b/administrator/templates/hathor/html/com_languages/installed/default_ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_languages/languages/default.php b/administrator/templates/hathor/html/com_languages/languages/default.php index c7a8409ea2070..0d7599aa3a1a6 100644 --- a/administrator/templates/hathor/html/com_languages/languages/default.php +++ b/administrator/templates/hathor/html/com_languages/languages/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_languages/overrides/default.php b/administrator/templates/hathor/html/com_languages/overrides/default.php index 6de11ff4b7811..46bc4f6ab01bf 100644 --- a/administrator/templates/hathor/html/com_languages/overrides/default.php +++ b/administrator/templates/hathor/html/com_languages/overrides/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/item/edit.php b/administrator/templates/hathor/html/com_menus/item/edit.php index b627c876db8cd..d5b55666c438d 100644 --- a/administrator/templates/hathor/html/com_menus/item/edit.php +++ b/administrator/templates/hathor/html/com_menus/item/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/item/edit_options.php b/administrator/templates/hathor/html/com_menus/item/edit_options.php index 42cbc4966c204..4f6a054e44d76 100644 --- a/administrator/templates/hathor/html/com_menus/item/edit_options.php +++ b/administrator/templates/hathor/html/com_menus/item/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/items/default.php b/administrator/templates/hathor/html/com_menus/items/default.php index f640e7c9d6f63..930edca56711b 100644 --- a/administrator/templates/hathor/html/com_menus/items/default.php +++ b/administrator/templates/hathor/html/com_menus/items/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/menu/edit.php b/administrator/templates/hathor/html/com_menus/menu/edit.php index 9dc54228132f9..b05362ed7a091 100644 --- a/administrator/templates/hathor/html/com_menus/menu/edit.php +++ b/administrator/templates/hathor/html/com_menus/menu/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/menus/default.php b/administrator/templates/hathor/html/com_menus/menus/default.php index e43bec547a655..9d1d2c6ad34aa 100644 --- a/administrator/templates/hathor/html/com_menus/menus/default.php +++ b/administrator/templates/hathor/html/com_menus/menus/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_menus/menutypes/default.php b/administrator/templates/hathor/html/com_menus/menutypes/default.php index 07e2c313dcebe..5fe8d3e13b3f2 100644 --- a/administrator/templates/hathor/html/com_menus/menutypes/default.php +++ b/administrator/templates/hathor/html/com_menus/menutypes/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_messages/message/edit.php b/administrator/templates/hathor/html/com_messages/message/edit.php index 395cc29928421..1b102249a46f3 100644 --- a/administrator/templates/hathor/html/com_messages/message/edit.php +++ b/administrator/templates/hathor/html/com_messages/message/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_messages/messages/default.php b/administrator/templates/hathor/html/com_messages/messages/default.php index 88b4fee302beb..52a341fa8f648 100644 --- a/administrator/templates/hathor/html/com_messages/messages/default.php +++ b/administrator/templates/hathor/html/com_messages/messages/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_modules/module/edit.php b/administrator/templates/hathor/html/com_modules/module/edit.php index 8541489868141..181477293afa2 100644 --- a/administrator/templates/hathor/html/com_modules/module/edit.php +++ b/administrator/templates/hathor/html/com_modules/module/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_modules/module/edit_assignment.php b/administrator/templates/hathor/html/com_modules/module/edit_assignment.php index 48da32252dc99..07748d3152a71 100644 --- a/administrator/templates/hathor/html/com_modules/module/edit_assignment.php +++ b/administrator/templates/hathor/html/com_modules/module/edit_assignment.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_modules/module/edit_options.php b/administrator/templates/hathor/html/com_modules/module/edit_options.php index 8de3209b80a8a..74d861a039671 100644 --- a/administrator/templates/hathor/html/com_modules/module/edit_options.php +++ b/administrator/templates/hathor/html/com_modules/module/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_modules/modules/default.php b/administrator/templates/hathor/html/com_modules/modules/default.php index 14694949fb987..404b4d2be60e3 100644 --- a/administrator/templates/hathor/html/com_modules/modules/default.php +++ b/administrator/templates/hathor/html/com_modules/modules/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_modules/positions/modal.php b/administrator/templates/hathor/html/com_modules/positions/modal.php index a3c078e873e2b..f4c8a9c65c7f9 100644 --- a/administrator/templates/hathor/html/com_modules/positions/modal.php +++ b/administrator/templates/hathor/html/com_modules/positions/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php index 1533438f8bfac..f30e28b59bd9a 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit_params.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit_params.php index 44a1e0c1de045..e6c14d6c149c1 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit_params.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php index 8f99f463d8108..e25a999c65dc3 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/modal.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/modal.php index 4a9e9a7691498..ca59e9824ce2d 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/modal.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_plugins/plugin/edit.php b/administrator/templates/hathor/html/com_plugins/plugin/edit.php index 4319238621c4a..e3ea8941888f0 100644 --- a/administrator/templates/hathor/html/com_plugins/plugin/edit.php +++ b/administrator/templates/hathor/html/com_plugins/plugin/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_plugins/plugin/edit_options.php b/administrator/templates/hathor/html/com_plugins/plugin/edit_options.php index e798dfcc85736..41d316b48395d 100644 --- a/administrator/templates/hathor/html/com_plugins/plugin/edit_options.php +++ b/administrator/templates/hathor/html/com_plugins/plugin/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_plugins/plugins/default.php b/administrator/templates/hathor/html/com_plugins/plugins/default.php index aaa58265642c5..6323c5eafcce9 100644 --- a/administrator/templates/hathor/html/com_plugins/plugins/default.php +++ b/administrator/templates/hathor/html/com_plugins/plugins/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_postinstall/messages/default.php b/administrator/templates/hathor/html/com_postinstall/messages/default.php index 3dfe2f6aa0d83..352495eb543a5 100644 --- a/administrator/templates/hathor/html/com_postinstall/messages/default.php +++ b/administrator/templates/hathor/html/com_postinstall/messages/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_postinstall * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_redirect/links/default.php b/administrator/templates/hathor/html/com_redirect/links/default.php index adb9d82720a01..2eaebe7ddebf4 100644 --- a/administrator/templates/hathor/html/com_redirect/links/default.php +++ b/administrator/templates/hathor/html/com_redirect/links/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_search/searches/default.php b/administrator/templates/hathor/html/com_search/searches/default.php index e1218f327b6eb..0d80564bc5e16 100644 --- a/administrator/templates/hathor/html/com_search/searches/default.php +++ b/administrator/templates/hathor/html/com_search/searches/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_tags/tag/edit.php b/administrator/templates/hathor/html/com_tags/tag/edit.php index a9690de0d21d4..1160f2177450e 100644 --- a/administrator/templates/hathor/html/com_tags/tag/edit.php +++ b/administrator/templates/hathor/html/com_tags/tag/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_tags/tag/edit_metadata.php b/administrator/templates/hathor/html/com_tags/tag/edit_metadata.php index 0601c39bfacb0..546d60bf47154 100644 --- a/administrator/templates/hathor/html/com_tags/tag/edit_metadata.php +++ b/administrator/templates/hathor/html/com_tags/tag/edit_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_tags/tag/edit_options.php b/administrator/templates/hathor/html/com_tags/tag/edit_options.php index 75218877b7d39..c61cda769c170 100644 --- a/administrator/templates/hathor/html/com_tags/tag/edit_options.php +++ b/administrator/templates/hathor/html/com_tags/tag/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_tags/tags/default.php b/administrator/templates/hathor/html/com_tags/tags/default.php index 154cc0a47c285..8e311bd7f5789 100644 --- a/administrator/templates/hathor/html/com_tags/tags/default.php +++ b/administrator/templates/hathor/html/com_tags/tags/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/style/edit.php b/administrator/templates/hathor/html/com_templates/style/edit.php index bca4aa4d37d4e..0219bf1305181 100644 --- a/administrator/templates/hathor/html/com_templates/style/edit.php +++ b/administrator/templates/hathor/html/com_templates/style/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/style/edit_assignment.php b/administrator/templates/hathor/html/com_templates/style/edit_assignment.php index 5c67afd02307e..ee87e75ffbe87 100644 --- a/administrator/templates/hathor/html/com_templates/style/edit_assignment.php +++ b/administrator/templates/hathor/html/com_templates/style/edit_assignment.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/style/edit_options.php b/administrator/templates/hathor/html/com_templates/style/edit_options.php index b0abc2ed8cc46..5b3870b36026e 100644 --- a/administrator/templates/hathor/html/com_templates/style/edit_options.php +++ b/administrator/templates/hathor/html/com_templates/style/edit_options.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/styles/default.php b/administrator/templates/hathor/html/com_templates/styles/default.php index b3b530531d100..79820c1683f8a 100644 --- a/administrator/templates/hathor/html/com_templates/styles/default.php +++ b/administrator/templates/hathor/html/com_templates/styles/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/template/default.php b/administrator/templates/hathor/html/com_templates/template/default.php index c9e8dd1c325e5..a28f56c72487e 100644 --- a/administrator/templates/hathor/html/com_templates/template/default.php +++ b/administrator/templates/hathor/html/com_templates/template/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/template/default_description.php b/administrator/templates/hathor/html/com_templates/template/default_description.php index 1ece8856e7e7d..49065c6ee5a72 100644 --- a/administrator/templates/hathor/html/com_templates/template/default_description.php +++ b/administrator/templates/hathor/html/com_templates/template/default_description.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/template/default_folders.php b/administrator/templates/hathor/html/com_templates/template/default_folders.php index 2c6a25e46f50a..ad09e86543cc6 100644 --- a/administrator/templates/hathor/html/com_templates/template/default_folders.php +++ b/administrator/templates/hathor/html/com_templates/template/default_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/template/default_tree.php b/administrator/templates/hathor/html/com_templates/template/default_tree.php index 590b8f6eb46d5..fcb49685a3a43 100644 --- a/administrator/templates/hathor/html/com_templates/template/default_tree.php +++ b/administrator/templates/hathor/html/com_templates/template/default_tree.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_templates * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_templates/templates/default.php b/administrator/templates/hathor/html/com_templates/templates/default.php index b83e251f8782c..b8939a0bf7c87 100644 --- a/administrator/templates/hathor/html/com_templates/templates/default.php +++ b/administrator/templates/hathor/html/com_templates/templates/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/debuggroup/default.php b/administrator/templates/hathor/html/com_users/debuggroup/default.php index a250d37599ffc..123fc7e4b8cc6 100644 --- a/administrator/templates/hathor/html/com_users/debuggroup/default.php +++ b/administrator/templates/hathor/html/com_users/debuggroup/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/debuguser/default.php b/administrator/templates/hathor/html/com_users/debuguser/default.php index fa064372c0a0f..432b3a7fa1e67 100644 --- a/administrator/templates/hathor/html/com_users/debuguser/default.php +++ b/administrator/templates/hathor/html/com_users/debuguser/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/groups/default.php b/administrator/templates/hathor/html/com_users/groups/default.php index 998d2680a3d52..4b55f176bf212 100644 --- a/administrator/templates/hathor/html/com_users/groups/default.php +++ b/administrator/templates/hathor/html/com_users/groups/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/levels/default.php b/administrator/templates/hathor/html/com_users/levels/default.php index 8a5e6528e6655..577270e0145a1 100644 --- a/administrator/templates/hathor/html/com_users/levels/default.php +++ b/administrator/templates/hathor/html/com_users/levels/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/note/edit.php b/administrator/templates/hathor/html/com_users/note/edit.php index 9166f59b1f5ff..b0a9a342d30cc 100644 --- a/administrator/templates/hathor/html/com_users/note/edit.php +++ b/administrator/templates/hathor/html/com_users/note/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/notes/default.php b/administrator/templates/hathor/html/com_users/notes/default.php index a1a05e52fa431..45fc64f7e7e51 100644 --- a/administrator/templates/hathor/html/com_users/notes/default.php +++ b/administrator/templates/hathor/html/com_users/notes/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/user/edit.php b/administrator/templates/hathor/html/com_users/user/edit.php index 184c69d347bcb..91bdd990fec53 100644 --- a/administrator/templates/hathor/html/com_users/user/edit.php +++ b/administrator/templates/hathor/html/com_users/user/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/users/default.php b/administrator/templates/hathor/html/com_users/users/default.php index 1ac8ad7f08a36..2c930763bbb9d 100644 --- a/administrator/templates/hathor/html/com_users/users/default.php +++ b/administrator/templates/hathor/html/com_users/users/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_users/users/modal.php b/administrator/templates/hathor/html/com_users/users/modal.php index 71cb9171cb738..c27d299c10aa3 100644 --- a/administrator/templates/hathor/html/com_users/users/modal.php +++ b/administrator/templates/hathor/html/com_users/users/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_weblinks/weblink/edit.php b/administrator/templates/hathor/html/com_weblinks/weblink/edit.php index 3bccef62d26a7..082e0dbb99f79 100644 --- a/administrator/templates/hathor/html/com_weblinks/weblink/edit.php +++ b/administrator/templates/hathor/html/com_weblinks/weblink/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_weblinks/weblink/edit_params.php b/administrator/templates/hathor/html/com_weblinks/weblink/edit_params.php index a83b6c39c6437..a3dec18543799 100644 --- a/administrator/templates/hathor/html/com_weblinks/weblink/edit_params.php +++ b/administrator/templates/hathor/html/com_weblinks/weblink/edit_params.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/com_weblinks/weblinks/default.php b/administrator/templates/hathor/html/com_weblinks/weblinks/default.php index ac15a639f6714..92b8bdaf81e52 100644 --- a/administrator/templates/hathor/html/com_weblinks/weblinks/default.php +++ b/administrator/templates/hathor/html/com_weblinks/weblinks/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_media/toolbar/deletemedia.php b/administrator/templates/hathor/html/layouts/com_media/toolbar/deletemedia.php index 3e5563632c17a..20303fee3f499 100644 --- a/administrator/templates/hathor/html/layouts/com_media/toolbar/deletemedia.php +++ b/administrator/templates/hathor/html/layouts/com_media/toolbar/deletemedia.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_media/toolbar/newfolder.php b/administrator/templates/hathor/html/layouts/com_media/toolbar/newfolder.php index 6b6396d4266f6..debd66dee7080 100644 --- a/administrator/templates/hathor/html/layouts/com_media/toolbar/newfolder.php +++ b/administrator/templates/hathor/html/layouts/com_media/toolbar/newfolder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_media/toolbar/uploadmedia.php b/administrator/templates/hathor/html/layouts/com_media/toolbar/uploadmedia.php index bf6347c5288f8..7a5d3258c4293 100644 --- a/administrator/templates/hathor/html/layouts/com_media/toolbar/uploadmedia.php +++ b/administrator/templates/hathor/html/layouts/com_media/toolbar/uploadmedia.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_messages/toolbar/mysettings.php b/administrator/templates/hathor/html/layouts/com_messages/toolbar/mysettings.php index 54539c40ba00d..38a91d79f9ad9 100644 --- a/administrator/templates/hathor/html/layouts/com_messages/toolbar/mysettings.php +++ b/administrator/templates/hathor/html/layouts/com_messages/toolbar/mysettings.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_messages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_modules/toolbar/cancelselect.php b/administrator/templates/hathor/html/layouts/com_modules/toolbar/cancelselect.php index f845211842dc0..bfc48bbbe9d01 100644 --- a/administrator/templates/hathor/html/layouts/com_modules/toolbar/cancelselect.php +++ b/administrator/templates/hathor/html/layouts/com_modules/toolbar/cancelselect.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/com_modules/toolbar/newmodule.php b/administrator/templates/hathor/html/layouts/com_modules/toolbar/newmodule.php index 7980b1d10b194..a111e737136ea 100644 --- a/administrator/templates/hathor/html/layouts/com_modules/toolbar/newmodule.php +++ b/administrator/templates/hathor/html/layouts/com_modules/toolbar/newmodule.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/details.php b/administrator/templates/hathor/html/layouts/joomla/edit/details.php index 6e6a1b8dd2fa7..7d6654fee7ae7 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/details.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/details.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php b/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php index 21d73948f8382..3e0c84bd0624d 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/fieldset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/global.php b/administrator/templates/hathor/html/layouts/joomla/edit/global.php index 632b2d6e74e67..f2e2a839b0c60 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/global.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/global.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/metadata.php b/administrator/templates/hathor/html/layouts/joomla/edit/metadata.php index 7035f728c7036..19f0f065ef1e3 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/metadata.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/edit/params.php b/administrator/templates/hathor/html/layouts/joomla/edit/params.php index 8030889c7ecef..48fd67b654c40 100644 --- a/administrator/templates/hathor/html/layouts/joomla/edit/params.php +++ b/administrator/templates/hathor/html/layouts/joomla/edit/params.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/quickicons/icon.php b/administrator/templates/hathor/html/layouts/joomla/quickicons/icon.php index 0a66f2e73aabb..4527b1e31c13b 100644 --- a/administrator/templates/hathor/html/layouts/joomla/quickicons/icon.php +++ b/administrator/templates/hathor/html/layouts/joomla/quickicons/icon.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/sidebars/submenu.php b/administrator/templates/hathor/html/layouts/joomla/sidebars/submenu.php index 619eb61e46f8e..3aeb5bb826449 100644 --- a/administrator/templates/hathor/html/layouts/joomla/sidebars/submenu.php +++ b/administrator/templates/hathor/html/layouts/joomla/sidebars/submenu.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/base.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/base.php index 4c93cff219f69..88783a820bd5a 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/base.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/base.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/batch.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/batch.php index 787ed717994c4..95183914470c1 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/batch.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/batch.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/confirm.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/confirm.php index 708b97e3fdfc7..0c4d43c2cfb6a 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/confirm.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/confirm.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/containerclose.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/containerclose.php index 1642e32538c4f..7268b8567c938 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/containerclose.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/containerclose.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/containeropen.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/containeropen.php index 7dbf7589fa4c3..5ac5f72e071c5 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/containeropen.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/containeropen.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/help.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/help.php index e961b3f87cf69..9c1eb0ec67e4c 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/help.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/help.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/iconclass.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/iconclass.php index 26b9cc7304762..c9b2f7852a477 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/iconclass.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/iconclass.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/link.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/link.php index a7f24f8647e05..439a02e9d2165 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/link.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/link.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/modal.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/modal.php index 77ea316b659c3..a400f396d2f39 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/modal.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/popup.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/popup.php index e26a36414a7b7..03e36cf9c0e7a 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/popup.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/popup.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/separator.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/separator.php index 5daa35d59885b..f971f38cf7620 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/separator.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/separator.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/slider.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/slider.php index b3e5c308271b4..3a2ff10610c23 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/slider.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/slider.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/standard.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/standard.php index 8d484973659e2..4260708439078 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/standard.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/standard.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/title.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/title.php index 4015a9f186c9e..d91fb68df2e01 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/title.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/title.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/joomla/toolbar/versions.php b/administrator/templates/hathor/html/layouts/joomla/toolbar/versions.php index 195fdf1aee7ec..9e27efa9b8400 100644 --- a/administrator/templates/hathor/html/layouts/joomla/toolbar/versions.php +++ b/administrator/templates/hathor/html/layouts/joomla/toolbar/versions.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/layouts/plugins/user/profile/fields/dob.php b/administrator/templates/hathor/html/layouts/plugins/user/profile/fields/dob.php index 4a2e1bc9965d0..15540918e62df 100644 --- a/administrator/templates/hathor/html/layouts/plugins/user/profile/fields/dob.php +++ b/administrator/templates/hathor/html/layouts/plugins/user/profile/fields/dob.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/mod_login/default.php b/administrator/templates/hathor/html/mod_login/default.php index 4eefe570abd5c..a34592684e0f5 100644 --- a/administrator/templates/hathor/html/mod_login/default.php +++ b/administrator/templates/hathor/html/mod_login/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/mod_quickicon/default.php b/administrator/templates/hathor/html/mod_quickicon/default.php index 7930a8873b520..320ffb212c5a6 100644 --- a/administrator/templates/hathor/html/mod_quickicon/default.php +++ b/administrator/templates/hathor/html/mod_quickicon/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_quickicon * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/modules.php b/administrator/templates/hathor/html/modules.php index a6e972738d221..fba14ec0887e7 100644 --- a/administrator/templates/hathor/html/modules.php +++ b/administrator/templates/hathor/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/html/pagination.php b/administrator/templates/hathor/html/pagination.php index b61e315458a32..8eb739108297f 100644 --- a/administrator/templates/hathor/html/pagination.php +++ b/administrator/templates/hathor/html/pagination.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/index.php b/administrator/templates/hathor/index.php index 6bed85a5303ff..a29cb2946dad5 100644 --- a/administrator/templates/hathor/index.php +++ b/administrator/templates/hathor/index.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/js/template.js b/administrator/templates/hathor/js/template.js index 1701f2a6902ef..c60644898da7f 100644 --- a/administrator/templates/hathor/js/template.js +++ b/administrator/templates/hathor/js/template.js @@ -1,6 +1,6 @@ /** * @package Hathor - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.ini b/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.ini index f4d844e889cc9..084cad298a9cc 100644 --- a/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.ini +++ b/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.sys.ini b/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.sys.ini index ee547c50807c6..43cd299193933 100644 --- a/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.sys.ini +++ b/administrator/templates/hathor/language/en-GB/en-GB.tpl_hathor.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/templates/hathor/login.php b/administrator/templates/hathor/login.php index d0ce1f290427e..74708ece85dca 100644 --- a/administrator/templates/hathor/login.php +++ b/administrator/templates/hathor/login.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/hathor/postinstall/hathormessage.php b/administrator/templates/hathor/postinstall/hathormessage.php index 3ccb4751535da..2d562299934f5 100644 --- a/administrator/templates/hathor/postinstall/hathormessage.php +++ b/administrator/templates/hathor/postinstall/hathormessage.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.hathor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * */ diff --git a/administrator/templates/hathor/templateDetails.xml b/administrator/templates/hathor/templateDetails.xml index e909aac7729ad..1b3b7bba40977 100644 --- a/administrator/templates/hathor/templateDetails.xml +++ b/administrator/templates/hathor/templateDetails.xml @@ -5,7 +5,7 @@ <creationDate>May 2010</creationDate> <author>Andrea Tarr</author> <authorEmail>admin@joomla.org</authorEmail> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <version>3.0.0</version> <description>TPL_HATHOR_XML_DESCRIPTION</description> diff --git a/administrator/templates/isis/component.php b/administrator/templates/isis/component.php index db0db5f4408e0..863c9b2de8965 100644 --- a/administrator/templates/isis/component.php +++ b/administrator/templates/isis/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Templates.isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/cpanel.php b/administrator/templates/isis/cpanel.php index d774a43664b7c..0560a23f67abe 100644 --- a/administrator/templates/isis/cpanel.php +++ b/administrator/templates/isis/cpanel.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Templates.isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/error.php b/administrator/templates/isis/error.php index 7fd26e54c5cb7..9c3a0cb1afbbd 100644 --- a/administrator/templates/isis/error.php +++ b/administrator/templates/isis/error.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Templates.isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/com_media/imageslist/default_folder.php b/administrator/templates/isis/html/com_media/imageslist/default_folder.php index 74d0e836781d7..6fd2b12f53dd1 100644 --- a/administrator/templates/isis/html/com_media/imageslist/default_folder.php +++ b/administrator/templates/isis/html/com_media/imageslist/default_folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/com_media/imageslist/default_image.php b/administrator/templates/isis/html/com_media/imageslist/default_image.php index b6ab5746e681a..6a5eea836df14 100644 --- a/administrator/templates/isis/html/com_media/imageslist/default_image.php +++ b/administrator/templates/isis/html/com_media/imageslist/default_image.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/com_media/medialist/thumbs_folders.php b/administrator/templates/isis/html/com_media/medialist/thumbs_folders.php index b2c8296bba425..2a62670982838 100644 --- a/administrator/templates/isis/html/com_media/medialist/thumbs_folders.php +++ b/administrator/templates/isis/html/com_media/medialist/thumbs_folders.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php b/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php index bac9b6ec5b9ec..327bc2cc21883 100644 --- a/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php +++ b/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/form/field/media.php b/administrator/templates/isis/html/layouts/joomla/form/field/media.php index 1f2a21f3916d3..50e38e19bab6b 100644 --- a/administrator/templates/isis/html/layouts/joomla/form/field/media.php +++ b/administrator/templates/isis/html/layouts/joomla/form/field/media.php @@ -3,7 +3,7 @@ * @package Joomla.Admin * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/form/field/user.php b/administrator/templates/isis/html/layouts/joomla/form/field/user.php index e59477d73f56c..7a33b47058749 100644 --- a/administrator/templates/isis/html/layouts/joomla/form/field/user.php +++ b/administrator/templates/isis/html/layouts/joomla/form/field/user.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/pagination/link.php b/administrator/templates/isis/html/layouts/joomla/pagination/link.php index efece2598c3fa..5c7b861a2ab69 100644 --- a/administrator/templates/isis/html/layouts/joomla/pagination/link.php +++ b/administrator/templates/isis/html/layouts/joomla/pagination/link.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/pagination/links.php b/administrator/templates/isis/html/layouts/joomla/pagination/links.php index 9d4795fd3d369..102509142cf2b 100644 --- a/administrator/templates/isis/html/layouts/joomla/pagination/links.php +++ b/administrator/templates/isis/html/layouts/joomla/pagination/links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/system/message.php b/administrator/templates/isis/html/layouts/joomla/system/message.php index 0e470b5737756..aa5c91fb34bb3 100644 --- a/administrator/templates/isis/html/layouts/joomla/system/message.php +++ b/administrator/templates/isis/html/layouts/joomla/system/message.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.Isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/layouts/joomla/toolbar/versions.php b/administrator/templates/isis/html/layouts/joomla/toolbar/versions.php index e30dd89288e62..a00f330fcce41 100644 --- a/administrator/templates/isis/html/layouts/joomla/toolbar/versions.php +++ b/administrator/templates/isis/html/layouts/joomla/toolbar/versions.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/mod_version/default.php b/administrator/templates/isis/html/mod_version/default.php index 52d6936b204cf..b9faf4f17a2bb 100644 --- a/administrator/templates/isis/html/mod_version/default.php +++ b/administrator/templates/isis/html/mod_version/default.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage mod_version * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/modules.php b/administrator/templates/isis/html/modules.php index 8281a98fb7935..efe75c238c0e0 100644 --- a/administrator/templates/isis/html/modules.php +++ b/administrator/templates/isis/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Templates.isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/html/pagination.php b/administrator/templates/isis/html/pagination.php index 5bf4eb4b2679e..dbf4a2035d68e 100644 --- a/administrator/templates/isis/html/pagination.php +++ b/administrator/templates/isis/html/pagination.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.Isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/index.php b/administrator/templates/isis/index.php index 81d00da393552..a5f4f18a0e265 100644 --- a/administrator/templates/isis/index.php +++ b/administrator/templates/isis/index.php @@ -2,7 +2,7 @@ /** * @package Joomla.Administrator * @subpackage Templates.isis - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 3.0 */ diff --git a/administrator/templates/isis/js/template.js b/administrator/templates/isis/js/template.js index 731e6895a0be6..8a61f1a126269 100644 --- a/administrator/templates/isis/js/template.js +++ b/administrator/templates/isis/js/template.js @@ -1,7 +1,7 @@ /** * @package Joomla.Administrator * @subpackage Templates.isis - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 3.0 */ diff --git a/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.ini b/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.ini index f98cad6101172..b41aba55b2f7e 100644 --- a/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.ini +++ b/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.sys.ini b/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.sys.ini index 85c4d82a9c696..fdc72b89c4aab 100644 --- a/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.sys.ini +++ b/administrator/templates/isis/language/en-GB/en-GB.tpl_isis.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/administrator/templates/isis/login.php b/administrator/templates/isis/login.php index 63d12d4543d63..4b7d39bc0e9bd 100644 --- a/administrator/templates/isis/login.php +++ b/administrator/templates/isis/login.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Templates.isis * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/isis/templateDetails.xml b/administrator/templates/isis/templateDetails.xml index d91db686cd077..e7c0ba65dd33c 100644 --- a/administrator/templates/isis/templateDetails.xml +++ b/administrator/templates/isis/templateDetails.xml @@ -6,7 +6,7 @@ <creationDate>3/30/2012</creationDate> <author>Kyle Ledbetter</author> <authorEmail>admin@joomla.org</authorEmail> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.</copyright> <description>TPL_ISIS_XML_DESCRIPTION</description> <files> <filename>component.php</filename> diff --git a/administrator/templates/system/component.php b/administrator/templates/system/component.php index e9d47e8af5835..26fa7caeca3ca 100644 --- a/administrator/templates/system/component.php +++ b/administrator/templates/system/component.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/system/css/error.css b/administrator/templates/system/css/error.css index 716f6759de8f5..60fede382b548 100644 --- a/administrator/templates/system/css/error.css +++ b/administrator/templates/system/css/error.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/system/css/system.css b/administrator/templates/system/css/system.css index f78adbd402167..68d90eb2a3cec 100644 --- a/administrator/templates/system/css/system.css +++ b/administrator/templates/system/css/system.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/system/error.php b/administrator/templates/system/error.php index 7e0fd58014e6b..c97223059129b 100644 --- a/administrator/templates/system/error.php +++ b/administrator/templates/system/error.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/system/html/modules.php b/administrator/templates/system/html/modules.php index 51bb18259a0bb..d88c9b9caeb0c 100644 --- a/administrator/templates/system/html/modules.php +++ b/administrator/templates/system/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/templates/system/index.php b/administrator/templates/system/index.php index a761256732f02..21b4c9f92a310 100644 --- a/administrator/templates/system/index.php +++ b/administrator/templates/system/index.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/bin/keychain.php b/bin/keychain.php index 1bda409af9dc3..3398ab15347cf 100644 --- a/bin/keychain.php +++ b/bin/keychain.php @@ -3,7 +3,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * */ diff --git a/build/build.php b/build/build.php index f8d20d5ed6070..5d93c7683b562 100644 --- a/build/build.php +++ b/build/build.php @@ -17,7 +17,7 @@ * 4. Check the archives in the tmp directory. * * @package Joomla.Build - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/build/bump.php b/build/bump.php index 878f9ed5d19d9..540dffe58e8e5 100644 --- a/build/bump.php +++ b/build/bump.php @@ -17,7 +17,7 @@ * - /usr/bin/php /path/to/joomla-cms/build/bump.php -v 3.7.0 * * @package Joomla.Build - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -59,9 +59,16 @@ function usage($command) '/README.txt', ); -// Change copyright date exclusions. Some systems may try to scan the .git directory, exclude it. +/* + * Change copyright date exclusions. + * Some systems may try to scan the .git directory, exclude it. + * Also exclude build resources such as the packaging space or the API documentation build. + */ $directoryLoopExcludeDirectories = array( '/.git', + '/build/api/', + '/build/coverage/', + '/build/tmp/', '/libraries/vendor/', '/libraries/phputf8/', '/libraries/php-encryption/', diff --git a/build/deleted_file_check.php b/build/deleted_file_check.php index 16745944519e2..b2a06c90d170e 100644 --- a/build/deleted_file_check.php +++ b/build/deleted_file_check.php @@ -14,7 +14,7 @@ * * @package Joomla.Build * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/build/generatecss.php b/build/generatecss.php index 893dd39a627d3..16514de804ab5 100644 --- a/build/generatecss.php +++ b/build/generatecss.php @@ -2,7 +2,7 @@ /** * @package Joomla.Build * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/build/helpTOC.php b/build/helpTOC.php index 48617f731e829..5ef5744a606a5 100644 --- a/build/helpTOC.php +++ b/build/helpTOC.php @@ -2,7 +2,7 @@ /** * @package Joomla.Build * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/build/stubGenerator.php b/build/stubGenerator.php index eca5939a24905..13e1e9cfa6725 100644 --- a/build/stubGenerator.php +++ b/build/stubGenerator.php @@ -2,7 +2,7 @@ /** * @package Joomla.Build * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/cli/deletefiles.php b/cli/deletefiles.php index 46b426857bba5..b3824fc4ec941 100644 --- a/cli/deletefiles.php +++ b/cli/deletefiles.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/cli/finder_indexer.php b/cli/finder_indexer.php index b8945f3ccf77c..be0746f56a962 100644 --- a/cli/finder_indexer.php +++ b/cli/finder_indexer.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/cli/garbagecron.php b/cli/garbagecron.php index a9c6c0e9a060b..4244dbae373b6 100644 --- a/cli/garbagecron.php +++ b/cli/garbagecron.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/cli/update_cron.php b/cli/update_cron.php index e0e418c032daf..30c80efe9d047 100644 --- a/cli/update_cron.php +++ b/cli/update_cron.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_ajax/ajax.php b/components/com_ajax/ajax.php index 8b86bc7f2839a..e3841cece7fb4 100644 --- a/components/com_ajax/ajax.php +++ b/components/com_ajax/ajax.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_ajax * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/banners.php b/components/com_banners/banners.php index 7ce0b0bf38bb4..43840356c9e1f 100644 --- a/components/com_banners/banners.php +++ b/components/com_banners/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/controller.php b/components/com_banners/controller.php index dec498b621e2a..c539c78879ac4 100644 --- a/components/com_banners/controller.php +++ b/components/com_banners/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/helpers/banner.php b/components/com_banners/helpers/banner.php index babe0e0238c6f..b62b6691abe2f 100644 --- a/components/com_banners/helpers/banner.php +++ b/components/com_banners/helpers/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/helpers/category.php b/components/com_banners/helpers/category.php index 6f555da0c19f8..99a7dd4b80d1f 100644 --- a/components/com_banners/helpers/category.php +++ b/components/com_banners/helpers/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/models/banner.php b/components/com_banners/models/banner.php index 4444f096affa7..d0e8ee1624f8a 100644 --- a/components/com_banners/models/banner.php +++ b/components/com_banners/models/banner.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/models/banners.php b/components/com_banners/models/banners.php index d2bad4cb42332..de87e23cf868a 100644 --- a/components/com_banners/models/banners.php +++ b/components/com_banners/models/banners.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_banners/router.php b/components/com_banners/router.php index 69c37fe997c03..69b900c5d32cb 100644 --- a/components/com_banners/router.php +++ b/components/com_banners/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/config.php b/components/com_config/config.php index 3d9a04ecafd16..ed695f77e3adb 100644 --- a/components/com_config/config.php +++ b/components/com_config/config.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/cancel.php b/components/com_config/controller/cancel.php index 729335ace897d..31cc8b9e356b3 100644 --- a/components/com_config/controller/cancel.php +++ b/components/com_config/controller/cancel.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/canceladmin.php b/components/com_config/controller/canceladmin.php index 826bbcf082fa4..96a348960c283 100644 --- a/components/com_config/controller/canceladmin.php +++ b/components/com_config/controller/canceladmin.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/cmsbase.php b/components/com_config/controller/cmsbase.php index 84c346b509cdc..b46759689869d 100644 --- a/components/com_config/controller/cmsbase.php +++ b/components/com_config/controller/cmsbase.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/config/display.php b/components/com_config/controller/config/display.php index 445d24983beda..523a1297f2bf3 100644 --- a/components/com_config/controller/config/display.php +++ b/components/com_config/controller/config/display.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/config/save.php b/components/com_config/controller/config/save.php index 8afe723b7e952..8ec367f3b7b49 100644 --- a/components/com_config/controller/config/save.php +++ b/components/com_config/controller/config/save.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/display.php b/components/com_config/controller/display.php index e3df7fc526935..3999e6a10b929 100644 --- a/components/com_config/controller/display.php +++ b/components/com_config/controller/display.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/helper.php b/components/com_config/controller/helper.php index 77376872dfd2e..7d428f4477fb8 100644 --- a/components/com_config/controller/helper.php +++ b/components/com_config/controller/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/modules/cancel.php b/components/com_config/controller/modules/cancel.php index 3e8cd5f2b71de..7d9b929acbee9 100644 --- a/components/com_config/controller/modules/cancel.php +++ b/components/com_config/controller/modules/cancel.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/modules/display.php b/components/com_config/controller/modules/display.php index 728e1c2d5a63d..ef62182749f9e 100644 --- a/components/com_config/controller/modules/display.php +++ b/components/com_config/controller/modules/display.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/modules/save.php b/components/com_config/controller/modules/save.php index f1b1fb85610b4..32b8bcc97a916 100644 --- a/components/com_config/controller/modules/save.php +++ b/components/com_config/controller/modules/save.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/templates/display.php b/components/com_config/controller/templates/display.php index 29dc55776b8e8..47fbfabc904c1 100644 --- a/components/com_config/controller/templates/display.php +++ b/components/com_config/controller/templates/display.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/controller/templates/save.php b/components/com_config/controller/templates/save.php index 6334a3b136b6c..116b394d4a087 100644 --- a/components/com_config/controller/templates/save.php +++ b/components/com_config/controller/templates/save.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/model/cms.php b/components/com_config/model/cms.php index 8be51fbff607e..7d2bce2b323b1 100644 --- a/components/com_config/model/cms.php +++ b/components/com_config/model/cms.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/model/config.php b/components/com_config/model/config.php index 958dc6e57e82e..a12afc2de24f9 100644 --- a/components/com_config/model/config.php +++ b/components/com_config/model/config.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/model/form.php b/components/com_config/model/form.php index 9112ac8afa756..14208bc4f4461 100644 --- a/components/com_config/model/form.php +++ b/components/com_config/model/form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/model/modules.php b/components/com_config/model/modules.php index 0957f8fd24403..941e8d0d213bb 100644 --- a/components/com_config/model/modules.php +++ b/components/com_config/model/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/model/templates.php b/components/com_config/model/templates.php index f839a88ee9e26..85b2bef3f72a3 100644 --- a/components/com_config/model/templates.php +++ b/components/com_config/model/templates.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/cms/html.php b/components/com_config/view/cms/html.php index f84ff3262f92d..a6859bc7ea202 100644 --- a/components/com_config/view/cms/html.php +++ b/components/com_config/view/cms/html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/cms/json.php b/components/com_config/view/cms/json.php index 975c06500c43e..d5056c1438b3c 100644 --- a/components/com_config/view/cms/json.php +++ b/components/com_config/view/cms/json.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/config/html.php b/components/com_config/view/config/html.php index 551d210edc7c3..a0493107673c4 100644 --- a/components/com_config/view/config/html.php +++ b/components/com_config/view/config/html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/config/tmpl/default.php b/components/com_config/view/config/tmpl/default.php index 76f600bd0214f..ffab0802c6b22 100644 --- a/components/com_config/view/config/tmpl/default.php +++ b/components/com_config/view/config/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/config/tmpl/default_metadata.php b/components/com_config/view/config/tmpl/default_metadata.php index 1441e9974d319..e5c3a3de46cb8 100644 --- a/components/com_config/view/config/tmpl/default_metadata.php +++ b/components/com_config/view/config/tmpl/default_metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/config/tmpl/default_seo.php b/components/com_config/view/config/tmpl/default_seo.php index 6327c0284d5e9..f5b7d5644b51c 100644 --- a/components/com_config/view/config/tmpl/default_seo.php +++ b/components/com_config/view/config/tmpl/default_seo.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/config/tmpl/default_site.php b/components/com_config/view/config/tmpl/default_site.php index 6dfad93559df6..f25cb70667c5f 100644 --- a/components/com_config/view/config/tmpl/default_site.php +++ b/components/com_config/view/config/tmpl/default_site.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/modules/html.php b/components/com_config/view/modules/html.php index fe63a64356b02..8f6c6e4dc2682 100644 --- a/components/com_config/view/modules/html.php +++ b/components/com_config/view/modules/html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/modules/tmpl/default.php b/components/com_config/view/modules/tmpl/default.php index 0c8cc102b73c2..87ea1ab049084 100644 --- a/components/com_config/view/modules/tmpl/default.php +++ b/components/com_config/view/modules/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/modules/tmpl/default_options.php b/components/com_config/view/modules/tmpl/default_options.php index cf6690acc2885..49be55d6b1245 100644 --- a/components/com_config/view/modules/tmpl/default_options.php +++ b/components/com_config/view/modules/tmpl/default_options.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/modules/tmpl/default_positions.php b/components/com_config/view/modules/tmpl/default_positions.php index c64981dbca822..ebf57c5a8eb59 100644 --- a/components/com_config/view/modules/tmpl/default_positions.php +++ b/components/com_config/view/modules/tmpl/default_positions.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/templates/html.php b/components/com_config/view/templates/html.php index 6a11a81a0452d..644986e448d9b 100644 --- a/components/com_config/view/templates/html.php +++ b/components/com_config/view/templates/html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/templates/tmpl/default.php b/components/com_config/view/templates/tmpl/default.php index 4ac6a5f843652..2a5f46758c4f2 100644 --- a/components/com_config/view/templates/tmpl/default.php +++ b/components/com_config/view/templates/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_config/view/templates/tmpl/default_options.php b/components/com_config/view/templates/tmpl/default_options.php index de87a9e1f3660..9314e3c8599ee 100644 --- a/components/com_config/view/templates/tmpl/default_options.php +++ b/components/com_config/view/templates/tmpl/default_options.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_config * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/contact.php b/components/com_contact/contact.php index 216d4f17cc5d4..6e5cc71434755 100644 --- a/components/com_contact/contact.php +++ b/components/com_contact/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/controller.php b/components/com_contact/controller.php index 8d9bbe86c9fac..47d90af9b215d 100644 --- a/components/com_contact/controller.php +++ b/components/com_contact/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/controllers/contact.php b/components/com_contact/controllers/contact.php index 7e9545f393120..00943099d0809 100644 --- a/components/com_contact/controllers/contact.php +++ b/components/com_contact/controllers/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/helpers/association.php b/components/com_contact/helpers/association.php index 54fe0b33c7e75..91ed9d05863e8 100644 --- a/components/com_contact/helpers/association.php +++ b/components/com_contact/helpers/association.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/helpers/category.php b/components/com_contact/helpers/category.php index 8d94de2c22fef..cfc2dccc3e758 100644 --- a/components/com_contact/helpers/category.php +++ b/components/com_contact/helpers/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/helpers/legacyrouter.php b/components/com_contact/helpers/legacyrouter.php index 81e84b1e5c31f..46bb16514c032 100644 --- a/components/com_contact/helpers/legacyrouter.php +++ b/components/com_contact/helpers/legacyrouter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/helpers/route.php b/components/com_contact/helpers/route.php index a544f75c3cc2d..adca8f7def13e 100644 --- a/components/com_contact/helpers/route.php +++ b/components/com_contact/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/layouts/field/render.php b/components/com_contact/layouts/field/render.php index 1735315c932e8..f309c6dc65df5 100644 --- a/components/com_contact/layouts/field/render.php +++ b/components/com_contact/layouts/field/render.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_contact/layouts/fields/render.php b/components/com_contact/layouts/fields/render.php index fdecd714030fa..841dc357c72cc 100644 --- a/components/com_contact/layouts/fields/render.php +++ b/components/com_contact/layouts/fields/render.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_contact/layouts/joomla/form/renderfield.php b/components/com_contact/layouts/joomla/form/renderfield.php index c8961db2eeb6f..3b31c40beee34 100644 --- a/components/com_contact/layouts/joomla/form/renderfield.php +++ b/components/com_contact/layouts/joomla/form/renderfield.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/categories.php b/components/com_contact/models/categories.php index bd83514bf6652..fac76e915cde2 100644 --- a/components/com_contact/models/categories.php +++ b/components/com_contact/models/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/category.php b/components/com_contact/models/category.php index 729800813c27b..0082ffda96e17 100644 --- a/components/com_contact/models/category.php +++ b/components/com_contact/models/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/contact.php b/components/com_contact/models/contact.php index f6ae3e4158a5f..e86e86b000521 100644 --- a/components/com_contact/models/contact.php +++ b/components/com_contact/models/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/featured.php b/components/com_contact/models/featured.php index a877de40ddbeb..74ececbec575c 100644 --- a/components/com_contact/models/featured.php +++ b/components/com_contact/models/featured.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/rules/contactemail.php b/components/com_contact/models/rules/contactemail.php index d9657ff595b82..3403ab426523d 100644 --- a/components/com_contact/models/rules/contactemail.php +++ b/components/com_contact/models/rules/contactemail.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/rules/contactemailmessage.php b/components/com_contact/models/rules/contactemailmessage.php index 43ba1e1c30d1d..d18e7eb7a3d80 100644 --- a/components/com_contact/models/rules/contactemailmessage.php +++ b/components/com_contact/models/rules/contactemailmessage.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/models/rules/contactemailsubject.php b/components/com_contact/models/rules/contactemailsubject.php index c34314aa5eedd..9737cb11abdd2 100644 --- a/components/com_contact/models/rules/contactemailsubject.php +++ b/components/com_contact/models/rules/contactemailsubject.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/router.php b/components/com_contact/router.php index 759b2b7d28128..1bdbabde7563a 100644 --- a/components/com_contact/router.php +++ b/components/com_contact/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/categories/tmpl/default.php b/components/com_contact/views/categories/tmpl/default.php index 00e3ec7d2715a..b2bd5f384e2b5 100644 --- a/components/com_contact/views/categories/tmpl/default.php +++ b/components/com_contact/views/categories/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/categories/tmpl/default_items.php b/components/com_contact/views/categories/tmpl/default_items.php index c7ff5a0444608..12a916b9d6b8e 100644 --- a/components/com_contact/views/categories/tmpl/default_items.php +++ b/components/com_contact/views/categories/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/categories/view.html.php b/components/com_contact/views/categories/view.html.php index a14c5b615ef8e..b0f4e037b74f6 100644 --- a/components/com_contact/views/categories/view.html.php +++ b/components/com_contact/views/categories/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/category/tmpl/default.php b/components/com_contact/views/category/tmpl/default.php index bd5a9324d86f9..2f5d2cf1ab8b6 100644 --- a/components/com_contact/views/category/tmpl/default.php +++ b/components/com_contact/views/category/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/category/tmpl/default_children.php b/components/com_contact/views/category/tmpl/default_children.php index 77538a3ba8e58..1278bc6660e8f 100644 --- a/components/com_contact/views/category/tmpl/default_children.php +++ b/components/com_contact/views/category/tmpl/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/category/tmpl/default_items.php b/components/com_contact/views/category/tmpl/default_items.php index 99ccbe3df71be..61e31091df66e 100644 --- a/components/com_contact/views/category/tmpl/default_items.php +++ b/components/com_contact/views/category/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/category/view.feed.php b/components/com_contact/views/category/view.feed.php index f12a96b289768..e04fc5406faa4 100644 --- a/components/com_contact/views/category/view.feed.php +++ b/components/com_contact/views/category/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/category/view.html.php b/components/com_contact/views/category/view.html.php index 790420c359d27..0ccc65636ba06 100644 --- a/components/com_contact/views/category/view.html.php +++ b/components/com_contact/views/category/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default.php b/components/com_contact/views/contact/tmpl/default.php index d3c5103a07753..4e1fec501ba33 100644 --- a/components/com_contact/views/contact/tmpl/default.php +++ b/components/com_contact/views/contact/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_address.php b/components/com_contact/views/contact/tmpl/default_address.php index 60ced8bf319c2..66a4143345e86 100644 --- a/components/com_contact/views/contact/tmpl/default_address.php +++ b/components/com_contact/views/contact/tmpl/default_address.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_articles.php b/components/com_contact/views/contact/tmpl/default_articles.php index 25a0ea6d848ed..20d6e6783caeb 100644 --- a/components/com_contact/views/contact/tmpl/default_articles.php +++ b/components/com_contact/views/contact/tmpl/default_articles.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_form.php b/components/com_contact/views/contact/tmpl/default_form.php index 73a48ab28dcfa..5949750943075 100644 --- a/components/com_contact/views/contact/tmpl/default_form.php +++ b/components/com_contact/views/contact/tmpl/default_form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_links.php b/components/com_contact/views/contact/tmpl/default_links.php index e38530ed09204..a757434f65d51 100644 --- a/components/com_contact/views/contact/tmpl/default_links.php +++ b/components/com_contact/views/contact/tmpl/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_profile.php b/components/com_contact/views/contact/tmpl/default_profile.php index d8d87c19d8d3b..b67c4607eb16f 100644 --- a/components/com_contact/views/contact/tmpl/default_profile.php +++ b/components/com_contact/views/contact/tmpl/default_profile.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/tmpl/default_user_custom_fields.php b/components/com_contact/views/contact/tmpl/default_user_custom_fields.php index 6c7476543e7bc..f259ecb652249 100644 --- a/components/com_contact/views/contact/tmpl/default_user_custom_fields.php +++ b/components/com_contact/views/contact/tmpl/default_user_custom_fields.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/view.html.php b/components/com_contact/views/contact/view.html.php index 53711853e1702..4ad6a873a558e 100644 --- a/components/com_contact/views/contact/view.html.php +++ b/components/com_contact/views/contact/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/contact/view.vcf.php b/components/com_contact/views/contact/view.vcf.php index b25c66b14d921..f34cb3967e64b 100644 --- a/components/com_contact/views/contact/view.vcf.php +++ b/components/com_contact/views/contact/view.vcf.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/featured/tmpl/default.php b/components/com_contact/views/featured/tmpl/default.php index 335c6703d4b7b..786be2a6e0096 100644 --- a/components/com_contact/views/featured/tmpl/default.php +++ b/components/com_contact/views/featured/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/featured/tmpl/default_items.php b/components/com_contact/views/featured/tmpl/default_items.php index b948c479bbfc0..73201c9d48ef4 100644 --- a/components/com_contact/views/featured/tmpl/default_items.php +++ b/components/com_contact/views/featured/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contact/views/featured/view.html.php b/components/com_contact/views/featured/view.html.php index 8d8859d60e83a..33903ddf80a05 100644 --- a/components/com_contact/views/featured/view.html.php +++ b/components/com_contact/views/featured/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/content.php b/components/com_content/content.php index 89196cdecc087..f0cd8505b95c0 100644 --- a/components/com_content/content.php +++ b/components/com_content/content.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/controller.php b/components/com_content/controller.php index 411ea1c83dd17..71480a7679789 100644 --- a/components/com_content/controller.php +++ b/components/com_content/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/controllers/article.php b/components/com_content/controllers/article.php index f4d6455934321..1f415a9e6d3f1 100644 --- a/components/com_content/controllers/article.php +++ b/components/com_content/controllers/article.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/association.php b/components/com_content/helpers/association.php index b48bb2947bb5c..462dc0593fcb9 100644 --- a/components/com_content/helpers/association.php +++ b/components/com_content/helpers/association.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/category.php b/components/com_content/helpers/category.php index 24983bf982031..cbd05b128899b 100644 --- a/components/com_content/helpers/category.php +++ b/components/com_content/helpers/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/icon.php b/components/com_content/helpers/icon.php index cadcc20afd556..e3b730003f467 100644 --- a/components/com_content/helpers/icon.php +++ b/components/com_content/helpers/icon.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/legacyrouter.php b/components/com_content/helpers/legacyrouter.php index e624cc4ba1cde..5b2dc90e03907 100644 --- a/components/com_content/helpers/legacyrouter.php +++ b/components/com_content/helpers/legacyrouter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/query.php b/components/com_content/helpers/query.php index ac8bc387c203b..7b44c48cd5d59 100644 --- a/components/com_content/helpers/query.php +++ b/components/com_content/helpers/query.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/helpers/route.php b/components/com_content/helpers/route.php index a8d7011a2c707..d8e2077184eb3 100644 --- a/components/com_content/helpers/route.php +++ b/components/com_content/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/archive.php b/components/com_content/models/archive.php index 810a5d4e439e1..bb4431caa87c0 100644 --- a/components/com_content/models/archive.php +++ b/components/com_content/models/archive.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/article.php b/components/com_content/models/article.php index ecaf2a1733d94..5d2895edb3a68 100644 --- a/components/com_content/models/article.php +++ b/components/com_content/models/article.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/articles.php b/components/com_content/models/articles.php index 6c6f3047bafcb..a68f6a6abb6ef 100644 --- a/components/com_content/models/articles.php +++ b/components/com_content/models/articles.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/categories.php b/components/com_content/models/categories.php index d5209aa96d662..ab222cd3ee705 100644 --- a/components/com_content/models/categories.php +++ b/components/com_content/models/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/category.php b/components/com_content/models/category.php index b5dc4d69dff55..351d5265457e8 100644 --- a/components/com_content/models/category.php +++ b/components/com_content/models/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/featured.php b/components/com_content/models/featured.php index 8b5a7cd9defea..46e1104a33623 100644 --- a/components/com_content/models/featured.php +++ b/components/com_content/models/featured.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/models/form.php b/components/com_content/models/form.php index f7f91124e2333..bbe4a911f2752 100644 --- a/components/com_content/models/form.php +++ b/components/com_content/models/form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/router.php b/components/com_content/router.php index 2a78eb9019cde..840486e51fdd3 100644 --- a/components/com_content/router.php +++ b/components/com_content/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/archive/tmpl/default.php b/components/com_content/views/archive/tmpl/default.php index c7ff53cdcfa2c..e46eae1bffce7 100644 --- a/components/com_content/views/archive/tmpl/default.php +++ b/components/com_content/views/archive/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/archive/tmpl/default_items.php b/components/com_content/views/archive/tmpl/default_items.php index 926ddf662b1d4..12579f8b3b81d 100644 --- a/components/com_content/views/archive/tmpl/default_items.php +++ b/components/com_content/views/archive/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/archive/view.html.php b/components/com_content/views/archive/view.html.php index 3dcccc30aff21..0171db6e07e42 100644 --- a/components/com_content/views/archive/view.html.php +++ b/components/com_content/views/archive/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/article/tmpl/default.php b/components/com_content/views/article/tmpl/default.php index 278ddedd51e17..7ec0ee414cd1b 100644 --- a/components/com_content/views/article/tmpl/default.php +++ b/components/com_content/views/article/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/article/tmpl/default_links.php b/components/com_content/views/article/tmpl/default_links.php index 7fd5fe433de4c..484613ed0eea4 100644 --- a/components/com_content/views/article/tmpl/default_links.php +++ b/components/com_content/views/article/tmpl/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/article/view.html.php b/components/com_content/views/article/view.html.php index ce60169161683..1f51e206d3e88 100644 --- a/components/com_content/views/article/view.html.php +++ b/components/com_content/views/article/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/categories/tmpl/default.php b/components/com_content/views/categories/tmpl/default.php index 9e4113d2daa0d..2a7555b25541f 100644 --- a/components/com_content/views/categories/tmpl/default.php +++ b/components/com_content/views/categories/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/categories/tmpl/default_items.php b/components/com_content/views/categories/tmpl/default_items.php index 4df4e232693b6..e7b71f84b53e3 100644 --- a/components/com_content/views/categories/tmpl/default_items.php +++ b/components/com_content/views/categories/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/categories/view.html.php b/components/com_content/views/categories/view.html.php index 78b6bd75d4d3f..4818815d5da88 100644 --- a/components/com_content/views/categories/view.html.php +++ b/components/com_content/views/categories/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/blog.php b/components/com_content/views/category/tmpl/blog.php index 45f05a90fb596..afd372786e86c 100644 --- a/components/com_content/views/category/tmpl/blog.php +++ b/components/com_content/views/category/tmpl/blog.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/blog_children.php b/components/com_content/views/category/tmpl/blog_children.php index 75446aed15592..972b53154e989 100644 --- a/components/com_content/views/category/tmpl/blog_children.php +++ b/components/com_content/views/category/tmpl/blog_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/blog_item.php b/components/com_content/views/category/tmpl/blog_item.php index 06d640b1204c1..d63b2d93929e8 100644 --- a/components/com_content/views/category/tmpl/blog_item.php +++ b/components/com_content/views/category/tmpl/blog_item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/blog_links.php b/components/com_content/views/category/tmpl/blog_links.php index e98b8c0bf7d95..3b7eb27af621b 100644 --- a/components/com_content/views/category/tmpl/blog_links.php +++ b/components/com_content/views/category/tmpl/blog_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/default.php b/components/com_content/views/category/tmpl/default.php index 1d3e4ff62b35d..5aff5371a11dd 100644 --- a/components/com_content/views/category/tmpl/default.php +++ b/components/com_content/views/category/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/default_articles.php b/components/com_content/views/category/tmpl/default_articles.php index 311a90ff5fa9d..be0222ed11610 100644 --- a/components/com_content/views/category/tmpl/default_articles.php +++ b/components/com_content/views/category/tmpl/default_articles.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/tmpl/default_children.php b/components/com_content/views/category/tmpl/default_children.php index 4784922fc96be..b7aaf2dd1b0a5 100644 --- a/components/com_content/views/category/tmpl/default_children.php +++ b/components/com_content/views/category/tmpl/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/view.feed.php b/components/com_content/views/category/view.feed.php index 0a157a8ab49c0..60eb8eecdbb67 100644 --- a/components/com_content/views/category/view.feed.php +++ b/components/com_content/views/category/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/category/view.html.php b/components/com_content/views/category/view.html.php index 08cc5946dce19..7a2beb9400adc 100644 --- a/components/com_content/views/category/view.html.php +++ b/components/com_content/views/category/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/featured/tmpl/default.php b/components/com_content/views/featured/tmpl/default.php index ea5340acc2894..7be0cb5a5e04c 100644 --- a/components/com_content/views/featured/tmpl/default.php +++ b/components/com_content/views/featured/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/featured/tmpl/default_item.php b/components/com_content/views/featured/tmpl/default_item.php index 6e9cedb1ae343..b5642c8786f8f 100644 --- a/components/com_content/views/featured/tmpl/default_item.php +++ b/components/com_content/views/featured/tmpl/default_item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/featured/tmpl/default_links.php b/components/com_content/views/featured/tmpl/default_links.php index 01d27fbb292b7..129437c0d0ca6 100644 --- a/components/com_content/views/featured/tmpl/default_links.php +++ b/components/com_content/views/featured/tmpl/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/featured/view.feed.php b/components/com_content/views/featured/view.feed.php index 3da20a0bd86f3..613730143f023 100644 --- a/components/com_content/views/featured/view.feed.php +++ b/components/com_content/views/featured/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/featured/view.html.php b/components/com_content/views/featured/view.html.php index 111a199dc4f84..ac82b66dba8b8 100644 --- a/components/com_content/views/featured/view.html.php +++ b/components/com_content/views/featured/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/form/tmpl/edit.php b/components/com_content/views/form/tmpl/edit.php index ccbc1f40ccf66..485dc82a8b846 100644 --- a/components/com_content/views/form/tmpl/edit.php +++ b/components/com_content/views/form/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_content/views/form/view.html.php b/components/com_content/views/form/view.html.php index 944db4ea81309..267f4c4a29a86 100644 --- a/components/com_content/views/form/view.html.php +++ b/components/com_content/views/form/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_contenthistory/contenthistory.php b/components/com_contenthistory/contenthistory.php index 64e2a0ba23c31..7f167cc26a783 100644 --- a/components/com_contenthistory/contenthistory.php +++ b/components/com_contenthistory/contenthistory.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contenthistory * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_fields/controller.php b/components/com_fields/controller.php index 55e9127f60369..fc1caa8d8f690 100644 --- a/components/com_fields/controller.php +++ b/components/com_fields/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_fields/fields.php b/components/com_fields/fields.php index 05ef88d454afa..ae431965a35d6 100644 --- a/components/com_fields/fields.php +++ b/components/com_fields/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_fields/layouts/field/render.php b/components/com_fields/layouts/field/render.php index a8be3eda4158e..9c8d91170ed9e 100644 --- a/components/com_fields/layouts/field/render.php +++ b/components/com_fields/layouts/field/render.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_fields/layouts/fields/render.php b/components/com_fields/layouts/fields/render.php index 647178ac15032..37c4153ed19c0 100644 --- a/components/com_fields/layouts/fields/render.php +++ b/components/com_fields/layouts/fields/render.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/components/com_finder/controller.php b/components/com_finder/controller.php index 062264c4c26b0..d8b483fc5c6eb 100644 --- a/components/com_finder/controller.php +++ b/components/com_finder/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/controllers/suggestions.json.php b/components/com_finder/controllers/suggestions.json.php index a8f4871eabdd3..69a2e759b935b 100644 --- a/components/com_finder/controllers/suggestions.json.php +++ b/components/com_finder/controllers/suggestions.json.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/finder.php b/components/com_finder/finder.php index a57f1309baa18..5c91779b2bc96 100644 --- a/components/com_finder/finder.php +++ b/components/com_finder/finder.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/helpers/html/filter.php b/components/com_finder/helpers/html/filter.php index 5f6e653f68639..8ac87b7c2f955 100644 --- a/components/com_finder/helpers/html/filter.php +++ b/components/com_finder/helpers/html/filter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/helpers/html/query.php b/components/com_finder/helpers/html/query.php index 693a549a914f5..831b4f0c7c0cd 100644 --- a/components/com_finder/helpers/html/query.php +++ b/components/com_finder/helpers/html/query.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/helpers/route.php b/components/com_finder/helpers/route.php index 093bd7aa81e97..ab5a2297a4c12 100644 --- a/components/com_finder/helpers/route.php +++ b/components/com_finder/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/models/search.php b/components/com_finder/models/search.php index 0bcd47df71c76..67eb9351f9ec1 100644 --- a/components/com_finder/models/search.php +++ b/components/com_finder/models/search.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/models/suggestions.php b/components/com_finder/models/suggestions.php index b8a560a58c1b4..0f85d99ca4f1f 100644 --- a/components/com_finder/models/suggestions.php +++ b/components/com_finder/models/suggestions.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/router.php b/components/com_finder/router.php index 2c0e8dbaa4dcf..712dd11a8de21 100644 --- a/components/com_finder/router.php +++ b/components/com_finder/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/tmpl/default.php b/components/com_finder/views/search/tmpl/default.php index 5062a04df8ae1..90edaa964eece 100644 --- a/components/com_finder/views/search/tmpl/default.php +++ b/components/com_finder/views/search/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/tmpl/default_form.php b/components/com_finder/views/search/tmpl/default_form.php index 8c3d8b831b733..ba307c39b5cd3 100644 --- a/components/com_finder/views/search/tmpl/default_form.php +++ b/components/com_finder/views/search/tmpl/default_form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/tmpl/default_result.php b/components/com_finder/views/search/tmpl/default_result.php index 494f2d4f0af13..f765b9dcddffb 100644 --- a/components/com_finder/views/search/tmpl/default_result.php +++ b/components/com_finder/views/search/tmpl/default_result.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/tmpl/default_results.php b/components/com_finder/views/search/tmpl/default_results.php index 98075e6fc4f61..0b97f5d2f206d 100644 --- a/components/com_finder/views/search/tmpl/default_results.php +++ b/components/com_finder/views/search/tmpl/default_results.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/view.feed.php b/components/com_finder/views/search/view.feed.php index 915ab45cbbcd5..1efb8c99660e1 100644 --- a/components/com_finder/views/search/view.feed.php +++ b/components/com_finder/views/search/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/view.html.php b/components/com_finder/views/search/view.html.php index 6ebcee000b918..c33e2e3689695 100644 --- a/components/com_finder/views/search/view.html.php +++ b/components/com_finder/views/search/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_finder/views/search/view.opensearch.php b/components/com_finder/views/search/view.opensearch.php index 7d4c1b17eb806..f3efa3655bbbb 100644 --- a/components/com_finder/views/search/view.opensearch.php +++ b/components/com_finder/views/search/view.opensearch.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/controller.php b/components/com_mailto/controller.php index e85afdd2ea595..a06218c815a94 100644 --- a/components/com_mailto/controller.php +++ b/components/com_mailto/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/helpers/mailto.php b/components/com_mailto/helpers/mailto.php index 207a3c38c287a..d511dbe5cb276 100644 --- a/components/com_mailto/helpers/mailto.php +++ b/components/com_mailto/helpers/mailto.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/mailto.php b/components/com_mailto/mailto.php index 14fc6139b05bb..ab3ba02d310d7 100644 --- a/components/com_mailto/mailto.php +++ b/components/com_mailto/mailto.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/mailto.xml b/components/com_mailto/mailto.xml index d136db24022d3..fb11424fcf872 100644 --- a/components/com_mailto/mailto.xml +++ b/components/com_mailto/mailto.xml @@ -3,7 +3,7 @@ <name>com_mailto</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved. </copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved. </copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/components/com_mailto/views/mailto/tmpl/default.php b/components/com_mailto/views/mailto/tmpl/default.php index ad7fec8a184dd..dce72c893fc78 100644 --- a/components/com_mailto/views/mailto/tmpl/default.php +++ b/components/com_mailto/views/mailto/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/views/mailto/view.html.php b/components/com_mailto/views/mailto/view.html.php index 219fb2766cdca..893a3faa956be 100644 --- a/components/com_mailto/views/mailto/view.html.php +++ b/components/com_mailto/views/mailto/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/views/sent/tmpl/default.php b/components/com_mailto/views/sent/tmpl/default.php index 8649148ad079f..54ed86d08748e 100644 --- a/components/com_mailto/views/sent/tmpl/default.php +++ b/components/com_mailto/views/sent/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_mailto/views/sent/view.html.php b/components/com_mailto/views/sent/view.html.php index 9bde325911ebc..f97420868fb85 100644 --- a/components/com_mailto/views/sent/view.html.php +++ b/components/com_mailto/views/sent/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_mailto * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_media/media.php b/components/com_media/media.php index eb2c489e29f9d..a1d4840b72319 100644 --- a/components/com_media/media.php +++ b/components/com_media/media.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_menus/controller.php b/components/com_menus/controller.php index 4538e3d4820c6..75cc962c8af75 100644 --- a/components/com_menus/controller.php +++ b/components/com_menus/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_menus/menus.php b/components/com_menus/menus.php index 59878c1905e4f..ce21b69173934 100644 --- a/components/com_menus/menus.php +++ b/components/com_menus/menus.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_menus * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_modules/controller.php b/components/com_modules/controller.php index bed7a0a8e79cb..f4f3fd49d601e 100644 --- a/components/com_modules/controller.php +++ b/components/com_modules/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_modules/modules.php b/components/com_modules/modules.php index 86c74da4c9d02..f5dc59a396327 100644 --- a/components/com_modules/modules.php +++ b/components/com_modules/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_modules * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/controller.php b/components/com_newsfeeds/controller.php index 29d5c11c59a9d..5623a97189247 100644 --- a/components/com_newsfeeds/controller.php +++ b/components/com_newsfeeds/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/helpers/association.php b/components/com_newsfeeds/helpers/association.php index f1e57f3018506..4f9197b7f763b 100644 --- a/components/com_newsfeeds/helpers/association.php +++ b/components/com_newsfeeds/helpers/association.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/helpers/category.php b/components/com_newsfeeds/helpers/category.php index b5cf976ff999a..2ab8ba3e64fac 100644 --- a/components/com_newsfeeds/helpers/category.php +++ b/components/com_newsfeeds/helpers/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/helpers/legacyrouter.php b/components/com_newsfeeds/helpers/legacyrouter.php index 2967895031ae5..d649f133fac75 100644 --- a/components/com_newsfeeds/helpers/legacyrouter.php +++ b/components/com_newsfeeds/helpers/legacyrouter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/helpers/route.php b/components/com_newsfeeds/helpers/route.php index 154c89ab800c1..854fdbd684f0c 100644 --- a/components/com_newsfeeds/helpers/route.php +++ b/components/com_newsfeeds/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/models/categories.php b/components/com_newsfeeds/models/categories.php index 4d40f1ffc7d2b..eb7043cf128fd 100644 --- a/components/com_newsfeeds/models/categories.php +++ b/components/com_newsfeeds/models/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/models/category.php b/components/com_newsfeeds/models/category.php index da00a8d1a6cf7..5b11a33d95932 100644 --- a/components/com_newsfeeds/models/category.php +++ b/components/com_newsfeeds/models/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/models/newsfeed.php b/components/com_newsfeeds/models/newsfeed.php index a4a0efddd477b..0c469ac1ca3f5 100644 --- a/components/com_newsfeeds/models/newsfeed.php +++ b/components/com_newsfeeds/models/newsfeed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/newsfeeds.php b/components/com_newsfeeds/newsfeeds.php index a16c449a36752..d9a18893d2793 100644 --- a/components/com_newsfeeds/newsfeeds.php +++ b/components/com_newsfeeds/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/router.php b/components/com_newsfeeds/router.php index 65afb97ff9620..fb310db6c987d 100644 --- a/components/com_newsfeeds/router.php +++ b/components/com_newsfeeds/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/categories/tmpl/default.php b/components/com_newsfeeds/views/categories/tmpl/default.php index 1bc33cdf834ef..76b142fe27c96 100644 --- a/components/com_newsfeeds/views/categories/tmpl/default.php +++ b/components/com_newsfeeds/views/categories/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/categories/tmpl/default_items.php b/components/com_newsfeeds/views/categories/tmpl/default_items.php index 387b152042415..7e53aadf7b318 100644 --- a/components/com_newsfeeds/views/categories/tmpl/default_items.php +++ b/components/com_newsfeeds/views/categories/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/categories/view.html.php b/components/com_newsfeeds/views/categories/view.html.php index 0597a1662e9ec..d743086095526 100644 --- a/components/com_newsfeeds/views/categories/view.html.php +++ b/components/com_newsfeeds/views/categories/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/category/tmpl/default.php b/components/com_newsfeeds/views/category/tmpl/default.php index cfbce91ba219c..679246c1e02e3 100644 --- a/components/com_newsfeeds/views/category/tmpl/default.php +++ b/components/com_newsfeeds/views/category/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/category/tmpl/default_children.php b/components/com_newsfeeds/views/category/tmpl/default_children.php index f8bec6ef57fcf..0b4bfcdaaf855 100644 --- a/components/com_newsfeeds/views/category/tmpl/default_children.php +++ b/components/com_newsfeeds/views/category/tmpl/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/category/tmpl/default_items.php b/components/com_newsfeeds/views/category/tmpl/default_items.php index e6a7cde7daca8..a67accdbbd34d 100644 --- a/components/com_newsfeeds/views/category/tmpl/default_items.php +++ b/components/com_newsfeeds/views/category/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/category/view.html.php b/components/com_newsfeeds/views/category/view.html.php index fe49682ea2855..c5299e0f58b3f 100644 --- a/components/com_newsfeeds/views/category/view.html.php +++ b/components/com_newsfeeds/views/category/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/newsfeed/tmpl/default.php b/components/com_newsfeeds/views/newsfeed/tmpl/default.php index e5497efbe1657..5e816f6b7dd44 100644 --- a/components/com_newsfeeds/views/newsfeed/tmpl/default.php +++ b/components/com_newsfeeds/views/newsfeed/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_newsfeeds/views/newsfeed/view.html.php b/components/com_newsfeeds/views/newsfeed/view.html.php index 1b5f545bd9e38..c926736dbae71 100644 --- a/components/com_newsfeeds/views/newsfeed/view.html.php +++ b/components/com_newsfeeds/views/newsfeed/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/controller.php b/components/com_search/controller.php index 407b22f4484aa..c441014c9b8f4 100644 --- a/components/com_search/controller.php +++ b/components/com_search/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/models/search.php b/components/com_search/models/search.php index d2c03342dbe49..6df6e0e4af213 100644 --- a/components/com_search/models/search.php +++ b/components/com_search/models/search.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/router.php b/components/com_search/router.php index 2f4d88aa31cd5..b3860af7bee65 100644 --- a/components/com_search/router.php +++ b/components/com_search/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/search.php b/components/com_search/search.php index b303ccefb68db..7e638a206e4f9 100644 --- a/components/com_search/search.php +++ b/components/com_search/search.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/views/search/tmpl/default.php b/components/com_search/views/search/tmpl/default.php index d7266b0076735..8ebdd06caccec 100644 --- a/components/com_search/views/search/tmpl/default.php +++ b/components/com_search/views/search/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/views/search/tmpl/default_error.php b/components/com_search/views/search/tmpl/default_error.php index 9fa2eed4d7784..f082aabe4f992 100644 --- a/components/com_search/views/search/tmpl/default_error.php +++ b/components/com_search/views/search/tmpl/default_error.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/views/search/tmpl/default_form.php b/components/com_search/views/search/tmpl/default_form.php index 91bd27c38bac3..b43c5cf504dd4 100644 --- a/components/com_search/views/search/tmpl/default_form.php +++ b/components/com_search/views/search/tmpl/default_form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/views/search/tmpl/default_results.php b/components/com_search/views/search/tmpl/default_results.php index 037f8e9fade16..57749cae6808f 100644 --- a/components/com_search/views/search/tmpl/default_results.php +++ b/components/com_search/views/search/tmpl/default_results.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_search/views/search/view.html.php b/components/com_search/views/search/view.html.php index a69fe65968f22..19b443dfa61e2 100644 --- a/components/com_search/views/search/view.html.php +++ b/components/com_search/views/search/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -212,7 +212,7 @@ public function display($tpl = null) * * @return mixed A string. * - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ public function highLight($string, $needle, $searchWords) { diff --git a/components/com_search/views/search/view.opensearch.php b/components/com_search/views/search/view.opensearch.php index 606303e28f4df..45431ab7a37d8 100644 --- a/components/com_search/views/search/view.opensearch.php +++ b/components/com_search/views/search/view.opensearch.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/controller.php b/components/com_tags/controller.php index fa476608f517b..7ae2474709545 100644 --- a/components/com_tags/controller.php +++ b/components/com_tags/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/controllers/tags.php b/components/com_tags/controllers/tags.php index 33b7198f1c17d..effd2fd57e2cc 100644 --- a/components/com_tags/controllers/tags.php +++ b/components/com_tags/controllers/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/helpers/route.php b/components/com_tags/helpers/route.php index 209082e573384..6ccda760186dd 100644 --- a/components/com_tags/helpers/route.php +++ b/components/com_tags/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/models/tag.php b/components/com_tags/models/tag.php index c65a958b3cf40..9eecc42e93036 100644 --- a/components/com_tags/models/tag.php +++ b/components/com_tags/models/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/models/tags.php b/components/com_tags/models/tags.php index cc72f7a2377d3..21a43aeb7b3bd 100644 --- a/components/com_tags/models/tags.php +++ b/components/com_tags/models/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/router.php b/components/com_tags/router.php index 3f151b4b14278..02557a709732d 100644 --- a/components/com_tags/router.php +++ b/components/com_tags/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/tags.php b/components/com_tags/tags.php index 01babcd96c214..40603dc43ae48 100644 --- a/components/com_tags/tags.php +++ b/components/com_tags/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/tmpl/default.php b/components/com_tags/views/tag/tmpl/default.php index 8e5026162bc4d..3030f65d1fb82 100644 --- a/components/com_tags/views/tag/tmpl/default.php +++ b/components/com_tags/views/tag/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/tmpl/default_items.php b/components/com_tags/views/tag/tmpl/default_items.php index 60d7cdd972661..0726dab0446ec 100644 --- a/components/com_tags/views/tag/tmpl/default_items.php +++ b/components/com_tags/views/tag/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/tmpl/list.php b/components/com_tags/views/tag/tmpl/list.php index bfe7e2f615097..98354b8457c5e 100644 --- a/components/com_tags/views/tag/tmpl/list.php +++ b/components/com_tags/views/tag/tmpl/list.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/tmpl/list_items.php b/components/com_tags/views/tag/tmpl/list_items.php index b7333152262f5..9dd6cff4b9554 100644 --- a/components/com_tags/views/tag/tmpl/list_items.php +++ b/components/com_tags/views/tag/tmpl/list_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/view.feed.php b/components/com_tags/views/tag/view.feed.php index 83f30b977fa9d..c6f75dd96834b 100644 --- a/components/com_tags/views/tag/view.feed.php +++ b/components/com_tags/views/tag/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tag/view.html.php b/components/com_tags/views/tag/view.html.php index 66e3140d3babb..b25af2a71f6cf 100644 --- a/components/com_tags/views/tag/view.html.php +++ b/components/com_tags/views/tag/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tags/tmpl/default.php b/components/com_tags/views/tags/tmpl/default.php index e458fc2a1cf9d..bb0a47daef97e 100644 --- a/components/com_tags/views/tags/tmpl/default.php +++ b/components/com_tags/views/tags/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tags/tmpl/default_items.php b/components/com_tags/views/tags/tmpl/default_items.php index c01115bc56fde..b1c132d0aa7bd 100644 --- a/components/com_tags/views/tags/tmpl/default_items.php +++ b/components/com_tags/views/tags/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tags/view.feed.php b/components/com_tags/views/tags/view.feed.php index 9515ba01cbb37..5001b61e8b717 100644 --- a/components/com_tags/views/tags/view.feed.php +++ b/components/com_tags/views/tags/view.feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_tags/views/tags/view.html.php b/components/com_tags/views/tags/view.html.php index 78a56b44cf46f..4d89eac1399aa 100644 --- a/components/com_tags/views/tags/view.html.php +++ b/components/com_tags/views/tags/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controller.php b/components/com_users/controller.php index 6d03f19ae15f0..efd7965f20529 100644 --- a/components/com_users/controller.php +++ b/components/com_users/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/profile.json.php b/components/com_users/controllers/profile.json.php index ea8441263c516..fc29aa1f2c9bb 100644 --- a/components/com_users/controllers/profile.json.php +++ b/components/com_users/controllers/profile.json.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/profile.php b/components/com_users/controllers/profile.php index ecacadde9d05e..594ee0b404ac6 100644 --- a/components/com_users/controllers/profile.php +++ b/components/com_users/controllers/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/profile_base_json.php b/components/com_users/controllers/profile_base_json.php index c99e6e0cea2c5..f1b5f9ad182c7 100644 --- a/components/com_users/controllers/profile_base_json.php +++ b/components/com_users/controllers/profile_base_json.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/registration.php b/components/com_users/controllers/registration.php index f5580d6738cda..e3c9493329fda 100644 --- a/components/com_users/controllers/registration.php +++ b/components/com_users/controllers/registration.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/remind.php b/components/com_users/controllers/remind.php index 71cc321cae28d..740c468a851c7 100644 --- a/components/com_users/controllers/remind.php +++ b/components/com_users/controllers/remind.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/reset.php b/components/com_users/controllers/reset.php index 10f023585c545..081be66644460 100644 --- a/components/com_users/controllers/reset.php +++ b/components/com_users/controllers/reset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/controllers/user.php b/components/com_users/controllers/user.php index 0912f4b664c09..8770f0a450ad5 100644 --- a/components/com_users/controllers/user.php +++ b/components/com_users/controllers/user.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/helpers/html/users.php b/components/com_users/helpers/html/users.php index 29adb3e3c4117..6dbe47730cd9d 100644 --- a/components/com_users/helpers/html/users.php +++ b/components/com_users/helpers/html/users.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/helpers/legacyrouter.php b/components/com_users/helpers/legacyrouter.php index 2b2eae411bacf..18f89b30d572e 100644 --- a/components/com_users/helpers/legacyrouter.php +++ b/components/com_users/helpers/legacyrouter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/helpers/route.php b/components/com_users/helpers/route.php index 89d46998914d2..3fe03220ce07c 100644 --- a/components/com_users/helpers/route.php +++ b/components/com_users/helpers/route.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/login.php b/components/com_users/models/login.php index f1755f0223ca7..19b923d2d9be5 100644 --- a/components/com_users/models/login.php +++ b/components/com_users/models/login.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/profile.php b/components/com_users/models/profile.php index 29ea0e7e6c5a9..a987b61e2c9df 100644 --- a/components/com_users/models/profile.php +++ b/components/com_users/models/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/registration.php b/components/com_users/models/registration.php index 4d49767a58738..69ee8503740ca 100644 --- a/components/com_users/models/registration.php +++ b/components/com_users/models/registration.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/remind.php b/components/com_users/models/remind.php index 56b717815dfc3..b0dfe86190b03 100644 --- a/components/com_users/models/remind.php +++ b/components/com_users/models/remind.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/reset.php b/components/com_users/models/reset.php index 5bac0c362132f..a67ab66eaee85 100644 --- a/components/com_users/models/reset.php +++ b/components/com_users/models/reset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/rules/loginuniquefield.php b/components/com_users/models/rules/loginuniquefield.php index 8d51b2fccbb6f..45b6b21ac0032 100644 --- a/components/com_users/models/rules/loginuniquefield.php +++ b/components/com_users/models/rules/loginuniquefield.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/models/rules/logoutuniquefield.php b/components/com_users/models/rules/logoutuniquefield.php index 079fb7ce6d1ad..6a9eaf44b7f3a 100644 --- a/components/com_users/models/rules/logoutuniquefield.php +++ b/components/com_users/models/rules/logoutuniquefield.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/router.php b/components/com_users/router.php index 5ed16fe5f3631..7e9e02d1ecc1e 100644 --- a/components/com_users/router.php +++ b/components/com_users/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/users.php b/components/com_users/users.php index 7560a498d982b..1213c3a4ef529 100644 --- a/components/com_users/users.php +++ b/components/com_users/users.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/login/tmpl/default.php b/components/com_users/views/login/tmpl/default.php index a15feebf0d155..7db00b2d018d5 100644 --- a/components/com_users/views/login/tmpl/default.php +++ b/components/com_users/views/login/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/login/tmpl/default_login.php b/components/com_users/views/login/tmpl/default_login.php index f13fb9921d014..be74f337679ed 100644 --- a/components/com_users/views/login/tmpl/default_login.php +++ b/components/com_users/views/login/tmpl/default_login.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/login/tmpl/default_logout.php b/components/com_users/views/login/tmpl/default_logout.php index 961b56a816766..afec2b4e4b51a 100644 --- a/components/com_users/views/login/tmpl/default_logout.php +++ b/components/com_users/views/login/tmpl/default_logout.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/login/view.html.php b/components/com_users/views/login/view.html.php index 5be7f9c8a2023..c7d071e2e2009 100644 --- a/components/com_users/views/login/view.html.php +++ b/components/com_users/views/login/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/tmpl/default.php b/components/com_users/views/profile/tmpl/default.php index 1da245593fbc4..7532151454a84 100644 --- a/components/com_users/views/profile/tmpl/default.php +++ b/components/com_users/views/profile/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/tmpl/default_core.php b/components/com_users/views/profile/tmpl/default_core.php index 0a1178322981e..2ffff33a1118a 100644 --- a/components/com_users/views/profile/tmpl/default_core.php +++ b/components/com_users/views/profile/tmpl/default_core.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/tmpl/default_custom.php b/components/com_users/views/profile/tmpl/default_custom.php index 169277793c4d2..7b369b7e28962 100644 --- a/components/com_users/views/profile/tmpl/default_custom.php +++ b/components/com_users/views/profile/tmpl/default_custom.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/tmpl/default_params.php b/components/com_users/views/profile/tmpl/default_params.php index c58b018a67882..cf11a1fe8b735 100644 --- a/components/com_users/views/profile/tmpl/default_params.php +++ b/components/com_users/views/profile/tmpl/default_params.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/tmpl/edit.php b/components/com_users/views/profile/tmpl/edit.php index 09c5705904831..b55734518450f 100644 --- a/components/com_users/views/profile/tmpl/edit.php +++ b/components/com_users/views/profile/tmpl/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/profile/view.html.php b/components/com_users/views/profile/view.html.php index 2177df69be93a..c8e71055d5811 100644 --- a/components/com_users/views/profile/view.html.php +++ b/components/com_users/views/profile/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/registration/tmpl/complete.php b/components/com_users/views/registration/tmpl/complete.php index 7537f245505ac..b1a761f4e9101 100644 --- a/components/com_users/views/registration/tmpl/complete.php +++ b/components/com_users/views/registration/tmpl/complete.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/registration/tmpl/default.php b/components/com_users/views/registration/tmpl/default.php index 97558f43ce30f..12ce2c87d203f 100644 --- a/components/com_users/views/registration/tmpl/default.php +++ b/components/com_users/views/registration/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/registration/view.html.php b/components/com_users/views/registration/view.html.php index b41c6570f817b..42c4ac7325c40 100644 --- a/components/com_users/views/registration/view.html.php +++ b/components/com_users/views/registration/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/remind/tmpl/default.php b/components/com_users/views/remind/tmpl/default.php index 9dbcc9cde1e11..7a98814539fe2 100644 --- a/components/com_users/views/remind/tmpl/default.php +++ b/components/com_users/views/remind/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/remind/view.html.php b/components/com_users/views/remind/view.html.php index 1c15c6978054f..1bc199243b150 100644 --- a/components/com_users/views/remind/view.html.php +++ b/components/com_users/views/remind/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/reset/tmpl/complete.php b/components/com_users/views/reset/tmpl/complete.php index 8dd794d08f61d..57729e886f552 100644 --- a/components/com_users/views/reset/tmpl/complete.php +++ b/components/com_users/views/reset/tmpl/complete.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/reset/tmpl/confirm.php b/components/com_users/views/reset/tmpl/confirm.php index 562dfb5b95ff1..14abd9de0b15d 100644 --- a/components/com_users/views/reset/tmpl/confirm.php +++ b/components/com_users/views/reset/tmpl/confirm.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/reset/tmpl/default.php b/components/com_users/views/reset/tmpl/default.php index 694d3a4ee7a90..895f50eaa7b3a 100644 --- a/components/com_users/views/reset/tmpl/default.php +++ b/components/com_users/views/reset/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_users/views/reset/view.html.php b/components/com_users/views/reset/view.html.php index e42fd994ec2f9..9b08990c18955 100644 --- a/components/com_users/views/reset/view.html.php +++ b/components/com_users/views/reset/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_users * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/controller.php b/components/com_wrapper/controller.php index 66040d57e7f79..02c6b39b41bc7 100644 --- a/components/com_wrapper/controller.php +++ b/components/com_wrapper/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/router.php b/components/com_wrapper/router.php index 82ff3386bc74b..51c26fe3da394 100644 --- a/components/com_wrapper/router.php +++ b/components/com_wrapper/router.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/views/wrapper/tmpl/default.php b/components/com_wrapper/views/wrapper/tmpl/default.php index dc68fab62ba67..e6703af18a0d1 100644 --- a/components/com_wrapper/views/wrapper/tmpl/default.php +++ b/components/com_wrapper/views/wrapper/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/views/wrapper/view.html.php b/components/com_wrapper/views/wrapper/view.html.php index 492ddf358ceec..52b577d98d7db 100644 --- a/components/com_wrapper/views/wrapper/view.html.php +++ b/components/com_wrapper/views/wrapper/view.html.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/wrapper.php b/components/com_wrapper/wrapper.php index 741c8a8fb5c4c..a30f1cd4a6386 100644 --- a/components/com_wrapper/wrapper.php +++ b/components/com_wrapper/wrapper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/components/com_wrapper/wrapper.xml b/components/com_wrapper/wrapper.xml index 4b31d31d9cce2..61bbe98793b2b 100644 --- a/components/com_wrapper/wrapper.xml +++ b/components/com_wrapper/wrapper.xml @@ -3,7 +3,7 @@ <name>com_wrapper</name> <author>Joomla! Project</author> <creationDate>April 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved. + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved. </copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> diff --git a/htaccess.txt b/htaccess.txt index f5e951045edff..1b078ee2e4d3a 100644 --- a/htaccess.txt +++ b/htaccess.txt @@ -1,6 +1,6 @@ ## # @package Joomla -# @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +# @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. # @license GNU General Public License version 2 or later; see LICENSE.txt ## diff --git a/includes/defines.php b/includes/defines.php index 31f23bd47cc05..98348005c83d4 100644 --- a/includes/defines.php +++ b/includes/defines.php @@ -2,7 +2,7 @@ /** * @package Joomla.Site * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/includes/framework.php b/includes/framework.php index e19f6661ebda0..2d594d58d1e55 100644 --- a/includes/framework.php +++ b/includes/framework.php @@ -2,7 +2,7 @@ /** * @package Joomla.Site * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/index.php b/index.php index fd812d433c6d8..89839322f4064 100644 --- a/index.php +++ b/index.php @@ -2,7 +2,7 @@ /** * @package Joomla.Site * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/COPYRIGHT b/installation/COPYRIGHT index 078efda880b2c..9dbdfd48c3e8b 100644 --- a/installation/COPYRIGHT +++ b/installation/COPYRIGHT @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/CREDITS b/installation/CREDITS index 2a05219dd4e89..3a09c4bd55c9d 100644 --- a/installation/CREDITS +++ b/installation/CREDITS @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/INSTALL b/installation/INSTALL index c66a837f0672b..47c05888e2e39 100644 --- a/installation/INSTALL +++ b/installation/INSTALL @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/LICENSES b/installation/LICENSES index 9284f6100bab8..cee6a493c585f 100644 --- a/installation/LICENSES +++ b/installation/LICENSES @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/application/bootstrap.php b/installation/application/bootstrap.php index 4e4b96603b562..7ac8c6c8e04a8 100644 --- a/installation/application/bootstrap.php +++ b/installation/application/bootstrap.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/application/defines.php b/installation/application/defines.php index 34ac0615763c8..8dc2beca32fcb 100644 --- a/installation/application/defines.php +++ b/installation/application/defines.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/application/framework.php b/installation/application/framework.php index 75c62ec71b558..1f2a1a41cfdea 100644 --- a/installation/application/framework.php +++ b/installation/application/framework.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/application/router.php b/installation/application/router.php index 95a1f4bd4d639..efd35cf1d66d1 100644 --- a/installation/application/router.php +++ b/installation/application/router.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/application/web.php b/installation/application/web.php index 9d03e1fede39a..4d2c1f1a1ad16 100644 --- a/installation/application/web.php +++ b/installation/application/web.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/configuration.php-dist b/installation/configuration.php-dist index aed52b7cd773b..6f3940e2ff814 100644 --- a/installation/configuration.php-dist +++ b/installation/configuration.php-dist @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * ------------------------------------------------------------------------- diff --git a/installation/controller/database.php b/installation/controller/database.php index 549dcba799afb..8aa7df321fb28 100644 --- a/installation/controller/database.php +++ b/installation/controller/database.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/default.php b/installation/controller/default.php index dbd72792dfed9..256c32405aa81 100644 --- a/installation/controller/default.php +++ b/installation/controller/default.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/detectftproot.php b/installation/controller/detectftproot.php index e80f47379ed83..ead6bda36ddfb 100644 --- a/installation/controller/detectftproot.php +++ b/installation/controller/detectftproot.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/ftp.php b/installation/controller/ftp.php index 48580dbb10519..742e7b6145e4e 100644 --- a/installation/controller/ftp.php +++ b/installation/controller/ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/config.php b/installation/controller/install/config.php index 6a48a0888e161..23612385a5577 100644 --- a/installation/controller/install/config.php +++ b/installation/controller/install/config.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/database.php b/installation/controller/install/database.php index ed0a5dc68f161..e39497085f55d 100644 --- a/installation/controller/install/database.php +++ b/installation/controller/install/database.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/database_backup.php b/installation/controller/install/database_backup.php index 7ea24a3958111..c32ead14cfa1f 100644 --- a/installation/controller/install/database_backup.php +++ b/installation/controller/install/database_backup.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/database_remove.php b/installation/controller/install/database_remove.php index 3330224c4fe9d..2d1ca4c00cd32 100644 --- a/installation/controller/install/database_remove.php +++ b/installation/controller/install/database_remove.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/email.php b/installation/controller/install/email.php index 196b5c22077fc..4f95230d4dfe9 100644 --- a/installation/controller/install/email.php +++ b/installation/controller/install/email.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/languages.php b/installation/controller/install/languages.php index 2bdc11a96541b..dac5e13631047 100644 --- a/installation/controller/install/languages.php +++ b/installation/controller/install/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/install/sample.php b/installation/controller/install/sample.php index 8b9d64cda7e2d..908b50af0d286 100644 --- a/installation/controller/install/sample.php +++ b/installation/controller/install/sample.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/preinstall.php b/installation/controller/preinstall.php index b0550cc199cfb..abf8e1f7a94d8 100644 --- a/installation/controller/preinstall.php +++ b/installation/controller/preinstall.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/removefolder.php b/installation/controller/removefolder.php index 8c6fbb7173ace..50b877feaa8b8 100644 --- a/installation/controller/removefolder.php +++ b/installation/controller/removefolder.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/setdefaultlanguage.php b/installation/controller/setdefaultlanguage.php index bfc9f654cc914..ffa3995349e43 100644 --- a/installation/controller/setdefaultlanguage.php +++ b/installation/controller/setdefaultlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/setlanguage.php b/installation/controller/setlanguage.php index 279dc6b48bf2d..21892695ad97d 100644 --- a/installation/controller/setlanguage.php +++ b/installation/controller/setlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/site.php b/installation/controller/site.php index b99822a563577..44a48569b39b1 100644 --- a/installation/controller/site.php +++ b/installation/controller/site.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/summary.php b/installation/controller/summary.php index debd9f27d67ec..5513fcb86e8d8 100644 --- a/installation/controller/summary.php +++ b/installation/controller/summary.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/controller/verifyftpsettings.php b/installation/controller/verifyftpsettings.php index 5520567c31ed8..fbe2d4d11ab98 100644 --- a/installation/controller/verifyftpsettings.php +++ b/installation/controller/verifyftpsettings.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/form/field/language.php b/installation/form/field/language.php index 73db6dbadf0f4..f6e29614a62e3 100644 --- a/installation/form/field/language.php +++ b/installation/form/field/language.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/form/field/prefix.php b/installation/form/field/prefix.php index 7ebad1e7ad7a2..87b43b3dca947 100644 --- a/installation/form/field/prefix.php +++ b/installation/form/field/prefix.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/form/field/sample.php b/installation/form/field/sample.php index b446d56d82881..1f16ccf6c4329 100644 --- a/installation/form/field/sample.php +++ b/installation/form/field/sample.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/form/rule/prefix.php b/installation/form/rule/prefix.php index bad33f3c0a297..23b750449cac8 100644 --- a/installation/form/rule/prefix.php +++ b/installation/form/rule/prefix.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/helper/database.php b/installation/helper/database.php index 2aba4697b7cb6..251f2fd7c0838 100644 --- a/installation/helper/database.php +++ b/installation/helper/database.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/html/helper.php b/installation/html/helper.php index 27e40b14fd038..9dab7b6227185 100644 --- a/installation/html/helper.php +++ b/installation/html/helper.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/index.php b/installation/index.php index 4665723e49639..9b70ae2c731c9 100644 --- a/installation/index.php +++ b/installation/index.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/language/af-ZA/af-ZA.ini b/installation/language/af-ZA/af-ZA.ini index 0b1b909574897..50d2d41d27e63 100644 --- a/installation/language/af-ZA/af-ZA.ini +++ b/installation/language/af-ZA/af-ZA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/af-ZA/af-ZA.xml b/installation/language/af-ZA/af-ZA.xml index c40da631bdd80..badde882d1e7a 100644 --- a/installation/language/af-ZA/af-ZA.xml +++ b/installation/language/af-ZA/af-ZA.xml @@ -4,7 +4,7 @@ <version>3.8.0</version> <creationDate>2017-09-05</creationDate> <author>Joomla4Africa Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>af-ZA.ini</filename> diff --git a/installation/language/ar-AA/ar-AA.ini b/installation/language/ar-AA/ar-AA.ini index a3930da9883f9..1677b29939c4a 100644 --- a/installation/language/ar-AA/ar-AA.ini +++ b/installation/language/ar-AA/ar-AA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 - No BOM diff --git a/installation/language/ar-AA/ar-AA.xml b/installation/language/ar-AA/ar-AA.xml index e1d1a1bb91920..6a80009acbac9 100644 --- a/installation/language/ar-AA/ar-AA.xml +++ b/installation/language/ar-AA/ar-AA.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Joomla! Arabic Unitag Translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ar-AA.ini</filename> diff --git a/installation/language/be-BY/be-BY.ini b/installation/language/be-BY/be-BY.ini index 2d2e365c04b1d..3e3cb61691f14 100644 --- a/installation/language/be-BY/be-BY.ini +++ b/installation/language/be-BY/be-BY.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/be-BY/be-BY.xml b/installation/language/be-BY/be-BY.xml index fa2c2b2778900..829a01a11adbb 100644 --- a/installation/language/be-BY/be-BY.xml +++ b/installation/language/be-BY/be-BY.xml @@ -6,7 +6,7 @@ <version>3.4.4</version> <creationDate>August 2015</creationDate> <author>Dennis Hermatski</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>be-BY.ini</filename> diff --git a/installation/language/bg-BG/bg-BG.ini b/installation/language/bg-BG/bg-BG.ini index 5287e5c5ce864..94f203550dddd 100644 --- a/installation/language/bg-BG/bg-BG.ini +++ b/installation/language/bg-BG/bg-BG.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/bg-BG/bg-BG.xml b/installation/language/bg-BG/bg-BG.xml index 01d92e1deef47..2801c9078c72f 100644 --- a/installation/language/bg-BG/bg-BG.xml +++ b/installation/language/bg-BG/bg-BG.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>Септември 2017</creationDate> <author>Joomla! Bulgaria</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>bg-BG.ini</filename> diff --git a/installation/language/bn-BD/bn-BD.ini b/installation/language/bn-BD/bn-BD.ini index a347039e25313..0f9875e59d9d8 100644 --- a/installation/language/bn-BD/bn-BD.ini +++ b/installation/language/bn-BD/bn-BD.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/bn-BD/bn-BD.xml b/installation/language/bn-BD/bn-BD.xml index 2d391455d3675..d19e1af7f6c9a 100644 --- a/installation/language/bn-BD/bn-BD.xml +++ b/installation/language/bn-BD/bn-BD.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Ashikur Rahman</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>bn-BD.ini</filename> diff --git a/installation/language/bs-BA/bs-BA.ini b/installation/language/bs-BA/bs-BA.ini index c13c22c3ad97e..1b2a04d99b92a 100644 --- a/installation/language/bs-BA/bs-BA.ini +++ b/installation/language/bs-BA/bs-BA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/bs-BA/bs-BA.xml b/installation/language/bs-BA/bs-BA.xml index 3d569a9dc9427..791833b32eca3 100644 --- a/installation/language/bs-BA/bs-BA.xml +++ b/installation/language/bs-BA/bs-BA.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Bosnian Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>bs-BA.ini</filename> diff --git a/installation/language/ca-ES/ca-ES.ini b/installation/language/ca-ES/ca-ES.ini index ecce1963cdae1..6cd6f5d0b03db 100644 --- a/installation/language/ca-ES/ca-ES.ini +++ b/installation/language/ca-ES/ca-ES.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ca-ES/ca-ES.xml b/installation/language/ca-ES/ca-ES.xml index 0264449d0779c..5834db5256bb1 100644 --- a/installation/language/ca-ES/ca-ES.xml +++ b/installation/language/ca-ES/ca-ES.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Catmidia.cat</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ca-ES.ini</filename> diff --git a/installation/language/ckb-IQ/ckb-IQ.ini b/installation/language/ckb-IQ/ckb-IQ.ini index daf3b8fd79e32..37f4fb1332cc9 100644 --- a/installation/language/ckb-IQ/ckb-IQ.ini +++ b/installation/language/ckb-IQ/ckb-IQ.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ckb-IQ/ckb-IQ.xml b/installation/language/ckb-IQ/ckb-IQ.xml index 1b9b71ff8f650..5a42cde333aef 100644 --- a/installation/language/ckb-IQ/ckb-IQ.xml +++ b/installation/language/ckb-IQ/ckb-IQ.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>January 2011</creationDate> <author>Kurdish Soranî Translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ckb-IQ.ini</filename> diff --git a/installation/language/cs-CZ/cs-CZ.ini b/installation/language/cs-CZ/cs-CZ.ini index 39d8a0ff1c423..df6a3f1eb063c 100644 --- a/installation/language/cs-CZ/cs-CZ.ini +++ b/installation/language/cs-CZ/cs-CZ.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/cs-CZ/cs-CZ.xml b/installation/language/cs-CZ/cs-CZ.xml index 3f9d7bc1dc04b..051d87e4ae0f0 100644 --- a/installation/language/cs-CZ/cs-CZ.xml +++ b/installation/language/cs-CZ/cs-CZ.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Czech Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>cs-CZ.ini</filename> diff --git a/installation/language/cy-GB/cy-GB.ini b/installation/language/cy-GB/cy-GB.ini index d73cd480375e6..c19c7402c32ce 100644 --- a/installation/language/cy-GB/cy-GB.ini +++ b/installation/language/cy-GB/cy-GB.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/cy-GB/cy-GB.xml b/installation/language/cy-GB/cy-GB.xml index ff0ca56afb797..6fb2adde6f179 100644 --- a/installation/language/cy-GB/cy-GB.xml +++ b/installation/language/cy-GB/cy-GB.xml @@ -6,7 +6,7 @@ <version>3.8.2</version> <creationDate>October 2017</creationDate> <author>Welsh Translation Team : Joomla.cymru</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>cy-GB.ini</filename> diff --git a/installation/language/da-DK/da-DK.ini b/installation/language/da-DK/da-DK.ini index 658ff2f9268dc..c12124bcb4432 100644 --- a/installation/language/da-DK/da-DK.ini +++ b/installation/language/da-DK/da-DK.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/da-DK/da-DK.xml b/installation/language/da-DK/da-DK.xml index 1d26bc96a7a37..a5df9c06724b6 100644 --- a/installation/language/da-DK/da-DK.xml +++ b/installation/language/da-DK/da-DK.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Danish Translation Team (Transl.: Mikael Winther, Ronny Buelund, Ole Bang Ottosen)</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>da-DK.ini</filename> diff --git a/installation/language/de-AT/de-AT.ini b/installation/language/de-AT/de-AT.ini index 4fe8bc5071ab3..c899d5fa80b5a 100644 --- a/installation/language/de-AT/de-AT.ini +++ b/installation/language/de-AT/de-AT.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/de-AT/de-AT.xml b/installation/language/de-AT/de-AT.xml index 43f450949d2c7..97f0280b5f4bf 100644 --- a/installation/language/de-AT/de-AT.xml +++ b/installation/language/de-AT/de-AT.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>J!German</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>de-AT.ini</filename> diff --git a/installation/language/de-CH/de-CH.ini b/installation/language/de-CH/de-CH.ini index ae0ed10425911..6186a4aab2959 100644 --- a/installation/language/de-CH/de-CH.ini +++ b/installation/language/de-CH/de-CH.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/de-CH/de-CH.xml b/installation/language/de-CH/de-CH.xml index 6936841f2fe9f..b053314acaee6 100644 --- a/installation/language/de-CH/de-CH.xml +++ b/installation/language/de-CH/de-CH.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>J!German</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>de-CH.ini</filename> diff --git a/installation/language/de-DE/de-DE.ini b/installation/language/de-DE/de-DE.ini index d0c1cdb5d252f..f7ae0b2ada623 100644 --- a/installation/language/de-DE/de-DE.ini +++ b/installation/language/de-DE/de-DE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/de-DE/de-DE.xml b/installation/language/de-DE/de-DE.xml index 83bd11d79fb76..394314b9b9383 100644 --- a/installation/language/de-DE/de-DE.xml +++ b/installation/language/de-DE/de-DE.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>J!German</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>de-DE.ini</filename> diff --git a/installation/language/de-LI/de-LI.ini b/installation/language/de-LI/de-LI.ini index 1aa47ec021cb8..7b670e3801f7f 100644 --- a/installation/language/de-LI/de-LI.ini +++ b/installation/language/de-LI/de-LI.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/de-LI/de-LI.xml b/installation/language/de-LI/de-LI.xml index ed076de750c18..b0a2a0bc4be28 100644 --- a/installation/language/de-LI/de-LI.xml +++ b/installation/language/de-LI/de-LI.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>J!German</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>de-LI.ini</filename> diff --git a/installation/language/de-LU/de-LU.ini b/installation/language/de-LU/de-LU.ini index 01d7e934e5804..f8c86a486836a 100644 --- a/installation/language/de-LU/de-LU.ini +++ b/installation/language/de-LU/de-LU.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/de-LU/de-LU.xml b/installation/language/de-LU/de-LU.xml index 0f7f8b88722d7..8b07a73339a3a 100644 --- a/installation/language/de-LU/de-LU.xml +++ b/installation/language/de-LU/de-LU.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>J!German</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>de-LU.ini</filename> diff --git a/installation/language/dz-BT/dz-BT.ini b/installation/language/dz-BT/dz-BT.ini index 0e0d339a1c517..104906c7c91ea 100644 --- a/installation/language/dz-BT/dz-BT.ini +++ b/installation/language/dz-BT/dz-BT.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/dz-BT/dz-BT.xml b/installation/language/dz-BT/dz-BT.xml index db17696fda1be..a898f32a982d9 100644 --- a/installation/language/dz-BT/dz-BT.xml +++ b/installation/language/dz-BT/dz-BT.xml @@ -6,7 +6,7 @@ <version>3.6.2</version> <creationDate>August 2016</creationDate> <author>Dzongkha Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>dz-BT.ini</filename> diff --git a/installation/language/el-GR/el-GR.ini b/installation/language/el-GR/el-GR.ini index d962d7864a196..9c817e6131a03 100644 --- a/installation/language/el-GR/el-GR.ini +++ b/installation/language/el-GR/el-GR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-AU/en-AU.ini b/installation/language/en-AU/en-AU.ini index f386b7791569c..255b93672f4dc 100644 --- a/installation/language/en-AU/en-AU.ini +++ b/installation/language/en-AU/en-AU.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-AU/en-AU.xml b/installation/language/en-AU/en-AU.xml index 9d1dd72d9c09c..52faef06745ef 100644 --- a/installation/language/en-AU/en-AU.xml +++ b/installation/language/en-AU/en-AU.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>en-AU.ini</filename> diff --git a/installation/language/en-CA/en-CA.ini b/installation/language/en-CA/en-CA.ini index f9121be5f00c7..ffe8adca70028 100644 --- a/installation/language/en-CA/en-CA.ini +++ b/installation/language/en-CA/en-CA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-CA/en-CA.xml b/installation/language/en-CA/en-CA.xml index 531321af51cf5..305196bd069fb 100644 --- a/installation/language/en-CA/en-CA.xml +++ b/installation/language/en-CA/en-CA.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>en-CA.ini</filename> diff --git a/installation/language/en-GB/en-GB.ini b/installation/language/en-GB/en-GB.ini index 8b76f46e4cf6e..4d57bd828ea70 100644 --- a/installation/language/en-GB/en-GB.ini +++ b/installation/language/en-GB/en-GB.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 7e1c76cb730e0..5a002d2abd4a5 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,9 +4,9 @@ client="installation"> <name>English (United Kingdom)</name> <version>3.8.4</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>en-GB.ini</filename> diff --git a/installation/language/en-NZ/en-NZ.ini b/installation/language/en-NZ/en-NZ.ini index a4440ccc821d9..b29c601041d3a 100644 --- a/installation/language/en-NZ/en-NZ.ini +++ b/installation/language/en-NZ/en-NZ.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-NZ/en-NZ.xml b/installation/language/en-NZ/en-NZ.xml index 3a50a1be8b281..8098c10a9a5a3 100644 --- a/installation/language/en-NZ/en-NZ.xml +++ b/installation/language/en-NZ/en-NZ.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>en-NZ.ini</filename> diff --git a/installation/language/en-US/en-US.ini b/installation/language/en-US/en-US.ini index fb2dfcfde3231..495eeb07befa3 100644 --- a/installation/language/en-US/en-US.ini +++ b/installation/language/en-US/en-US.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/en-US/en-US.xml b/installation/language/en-US/en-US.xml index 403bab957bb6e..03f3f3f16ea82 100644 --- a/installation/language/en-US/en-US.xml +++ b/installation/language/en-US/en-US.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>en-US.ini</filename> diff --git a/installation/language/eo-XX/eo-XX.ini b/installation/language/eo-XX/eo-XX.ini index 76dcc098a3cda..3b2e050a9aba0 100644 --- a/installation/language/eo-XX/eo-XX.ini +++ b/installation/language/eo-XX/eo-XX.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/eo-XX/eo-XX.xml b/installation/language/eo-XX/eo-XX.xml index 61b690df3f628..1f65625ec2559 100644 --- a/installation/language/eo-XX/eo-XX.xml +++ b/installation/language/eo-XX/eo-XX.xml @@ -6,7 +6,7 @@ <version>3.5.0</version> <creationDate>Aŭgusto 2015</creationDate> <author>EsperantoSverige, Svedio</author> - <copyright>Kopirajto (C) 2005 - 2017 Open Source Matters. Ĉiuj rajtoj rezervitaj.</copyright> + <copyright>Kopirajto (C) 2005 - 2018 Open Source Matters. Ĉiuj rajtoj rezervitaj.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>eo-XX.ini</filename> diff --git a/installation/language/es-CO/es-CO.ini b/installation/language/es-CO/es-CO.ini index f0c1b0e038eaf..c5a5226ea3d4b 100644 --- a/installation/language/es-CO/es-CO.ini +++ b/installation/language/es-CO/es-CO.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/es-CO/es-CO.xml b/installation/language/es-CO/es-CO.xml index a342b40fe64b7..d473d3f876c59 100644 --- a/installation/language/es-CO/es-CO.xml +++ b/installation/language/es-CO/es-CO.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>Septiembre 2017</creationDate> <author>jugbogota.org</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>es-CO.ini</filename> diff --git a/installation/language/es-ES/es-ES.ini b/installation/language/es-ES/es-ES.ini index ac550ce3405a0..b7e98146f0005 100644 --- a/installation/language/es-ES/es-ES.ini +++ b/installation/language/es-ES/es-ES.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/es-ES/es-ES.xml b/installation/language/es-ES/es-ES.xml index 27d4bf3276f70..9a644ce55b767 100644 --- a/installation/language/es-ES/es-ES.xml +++ b/installation/language/es-ES/es-ES.xml @@ -6,7 +6,7 @@ <version>3.6.3</version> <creationDate>2016-09-23</creationDate> <author>Spanish Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>es-ES.ini</filename> diff --git a/installation/language/et-EE/et-EE.ini b/installation/language/et-EE/et-EE.ini index 603a72432d0f2..1af173b5952f8 100644 --- a/installation/language/et-EE/et-EE.ini +++ b/installation/language/et-EE/et-EE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/et-EE/et-EE.xml b/installation/language/et-EE/et-EE.xml index bc5717ee3b462..0a57ca0a82d38 100644 --- a/installation/language/et-EE/et-EE.xml +++ b/installation/language/et-EE/et-EE.xml @@ -6,7 +6,7 @@ <version>3.6.3</version> <creationDate>2016-09-16</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>et-EE.ini</filename> diff --git a/installation/language/eu-ES/eu-ES.ini b/installation/language/eu-ES/eu-ES.ini index 3444c58ec85a0..e7b49b00bacf3 100644 --- a/installation/language/eu-ES/eu-ES.ini +++ b/installation/language/eu-ES/eu-ES.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/eu-ES/eu-ES.xml b/installation/language/eu-ES/eu-ES.xml index e2c2d32904102..09c551b3e91eb 100644 --- a/installation/language/eu-ES/eu-ES.xml +++ b/installation/language/eu-ES/eu-ES.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Basque Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>eu-ES.ini</filename> diff --git a/installation/language/fa-IR/fa-IR.ini b/installation/language/fa-IR/fa-IR.ini index 5ff07a047d080..104e608a57ded 100644 --- a/installation/language/fa-IR/fa-IR.ini +++ b/installation/language/fa-IR/fa-IR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; Copyright (C) Translation 2010 - 2017 Joomla Farsi www.JoomlaFarsi.com. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/fa-IR/fa-IR.xml b/installation/language/fa-IR/fa-IR.xml index 0306ad4f57b66..7942764437e7d 100644 --- a/installation/language/fa-IR/fa-IR.xml +++ b/installation/language/fa-IR/fa-IR.xml @@ -6,7 +6,7 @@ <version>3.8.1</version> <creationDate>Aug 2017</creationDate> <author>JoomlaFarsi.Com Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>fa-IR.ini</filename> diff --git a/installation/language/fi-FI/fi-FI.ini b/installation/language/fi-FI/fi-FI.ini index f00ffa96f59de..533d52070bef1 100644 --- a/installation/language/fi-FI/fi-FI.ini +++ b/installation/language/fi-FI/fi-FI.ini @@ -1,6 +1,6 @@ ; $Id: fi_FI.ini ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/fi-FI/fi-FI.xml b/installation/language/fi-FI/fi-FI.xml index 58131d6793b38..17388b1fea998 100644 --- a/installation/language/fi-FI/fi-FI.xml +++ b/installation/language/fi-FI/fi-FI.xml @@ -6,7 +6,7 @@ <version>3.6.1</version> <creationDate>July 2016</creationDate> <author>Sami Haaranen</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>fi-FI.ini</filename> diff --git a/installation/language/fr-CA/fr-CA.ini b/installation/language/fr-CA/fr-CA.ini index 30e65aa9451ba..20356d1264cc9 100644 --- a/installation/language/fr-CA/fr-CA.ini +++ b/installation/language/fr-CA/fr-CA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/fr-CA/fr-CA.xml b/installation/language/fr-CA/fr-CA.xml index 369abc3bc6795..5ae2e4e6f9988 100644 --- a/installation/language/fr-CA/fr-CA.xml +++ b/installation/language/fr-CA/fr-CA.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>October 2016</creationDate> <author>Martin Lamothe</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>fr-CA.ini</filename> diff --git a/installation/language/fr-FR/fr-FR.ini b/installation/language/fr-FR/fr-FR.ini index acdfbebab616d..d712d4548a7f8 100644 --- a/installation/language/fr-FR/fr-FR.ini +++ b/installation/language/fr-FR/fr-FR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/fr-FR/fr-FR.xml b/installation/language/fr-FR/fr-FR.xml index 4a1a441f2d178..8fa8d399fa815 100644 --- a/installation/language/fr-FR/fr-FR.xml +++ b/installation/language/fr-FR/fr-FR.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Joomla.fr</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>fr-FR.ini</filename> diff --git a/installation/language/ga-IE/ga-IE.ini b/installation/language/ga-IE/ga-IE.ini index 7969d594a2e22..064234f406654 100644 --- a/installation/language/ga-IE/ga-IE.ini +++ b/installation/language/ga-IE/ga-IE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ga-IE/ga-IE.xml b/installation/language/ga-IE/ga-IE.xml index fca7c3fa89435..f6dd1e3b148c8 100644 --- a/installation/language/ga-IE/ga-IE.xml +++ b/installation/language/ga-IE/ga-IE.xml @@ -4,7 +4,7 @@ <version>3.8.0</version> <creationDate>2017-08-31</creationDate> <author>Irish translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ga-IE.ini</filename> diff --git a/installation/language/gl-ES/gl-ES.ini b/installation/language/gl-ES/gl-ES.ini index 40dc1b0095c28..6172546001f00 100644 --- a/installation/language/gl-ES/gl-ES.ini +++ b/installation/language/gl-ES/gl-ES.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/gl-ES/gl-ES.xml b/installation/language/gl-ES/gl-ES.xml index 75bd7257f0042..afa78c411ef50 100644 --- a/installation/language/gl-ES/gl-ES.xml +++ b/installation/language/gl-ES/gl-ES.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>July 2014</creationDate> <author>damufo - trasno.net</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>gl-ES.ini</filename> diff --git a/installation/language/he-IL/he-IL.ini b/installation/language/he-IL/he-IL.ini index 40ae5b36e0e62..b521879e0e76c 100644 --- a/installation/language/he-IL/he-IL.ini +++ b/installation/language/he-IL/he-IL.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/he-IL/he-IL.xml b/installation/language/he-IL/he-IL.xml index fca1c2b208d5d..5acc4d37cc939 100644 --- a/installation/language/he-IL/he-IL.xml +++ b/installation/language/he-IL/he-IL.xml @@ -6,7 +6,7 @@ <version>3.6.1</version> <creationDate>יולי 2016</creationDate> <author>Joomla Israeli Community</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>he-IL.ini</filename> diff --git a/installation/language/hi-IN/hi-IN.ini b/installation/language/hi-IN/hi-IN.ini index ef7c0581967ec..e9f89cd75996e 100644 --- a/installation/language/hi-IN/hi-IN.ini +++ b/installation/language/hi-IN/hi-IN.ini @@ -1,5 +1,5 @@ ; @author Joomla! Project -; @copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; @copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; @license GNU General Public License version 2 or later; see LICENSE.txt ; @note Client Installation ; @note All ini files need to be saved as UTF-8 - No BOM diff --git a/installation/language/hi-IN/hi-IN.xml b/installation/language/hi-IN/hi-IN.xml index dd1e7f1e2d0a7..9838c6d1a44b0 100644 --- a/installation/language/hi-IN/hi-IN.xml +++ b/installation/language/hi-IN/hi-IN.xml @@ -7,7 +7,7 @@ <version>3.2.0</version> <creationDate>2014-12-11</creationDate> <author>Hindi Translation Team - BhavyaSoft.com</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <metadata> <name>Hindi-हिंदी (India)</name> diff --git a/installation/language/hr-HR/hr-HR.ini b/installation/language/hr-HR/hr-HR.ini index a584e286d7c1a..42021d3d95d4e 100644 --- a/installation/language/hr-HR/hr-HR.ini +++ b/installation/language/hr-HR/hr-HR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/hr-HR/hr-HR.xml b/installation/language/hr-HR/hr-HR.xml index 14a9188d1c8dd..29f3d035a8dea 100644 --- a/installation/language/hr-HR/hr-HR.xml +++ b/installation/language/hr-HR/hr-HR.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Croatian Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>hr-HR.ini</filename> diff --git a/installation/language/hu-HU/hu-HU.ini b/installation/language/hu-HU/hu-HU.ini index 08a84809f0fca..afc1a73ebd44e 100644 --- a/installation/language/hu-HU/hu-HU.ini +++ b/installation/language/hu-HU/hu-HU.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/hu-HU/hu-HU.xml b/installation/language/hu-HU/hu-HU.xml index 1731cf7f11ab3..558a553d1bac1 100644 --- a/installation/language/hu-HU/hu-HU.xml +++ b/installation/language/hu-HU/hu-HU.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>January 2017</creationDate> <author>Joomla! Magyarország</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>hu-HU.ini</filename> diff --git a/installation/language/hy-AM/hy-AM.ini b/installation/language/hy-AM/hy-AM.ini index fff0057fe1a10..d588d8bfa2fcb 100644 --- a/installation/language/hy-AM/hy-AM.ini +++ b/installation/language/hy-AM/hy-AM.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note ։ All ini files need to be saved as UTF-8 diff --git a/installation/language/hy-AM/hy-AM.xml b/installation/language/hy-AM/hy-AM.xml index 89bded5aa406d..8caf9b11dcbfa 100644 --- a/installation/language/hy-AM/hy-AM.xml +++ b/installation/language/hy-AM/hy-AM.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>2017-07-12</creationDate> <author>Andrey Aleksanyants</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>hy-AM.ini</filename> diff --git a/installation/language/id-ID/id-ID.ini b/installation/language/id-ID/id-ID.ini index 7797b33b3eadf..2fb9b9af8a70a 100644 --- a/installation/language/id-ID/id-ID.ini +++ b/installation/language/id-ID/id-ID.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/id-ID/id-ID.xml b/installation/language/id-ID/id-ID.xml index 324317ecb3774..c2f9cdfb11a69 100644 --- a/installation/language/id-ID/id-ID.xml +++ b/installation/language/id-ID/id-ID.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>January 2013</creationDate> <author>Tim Hanacaraka Joomla Indonesia</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>id-ID.ini</filename> diff --git a/installation/language/it-IT/it-IT.ini b/installation/language/it-IT/it-IT.ini index 14f566fb3b911..a32464095b7b0 100644 --- a/installation/language/it-IT/it-IT.ini +++ b/installation/language/it-IT/it-IT.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/it-IT/it-IT.xml b/installation/language/it-IT/it-IT.xml index d8b44bdfe8298..2fdfa39f0495f 100644 --- a/installation/language/it-IT/it-IT.xml +++ b/installation/language/it-IT/it-IT.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Italian Translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>it-IT.ini</filename> diff --git a/installation/language/ja-JP/ja-JP.ini b/installation/language/ja-JP/ja-JP.ini index 5c77aae7a4455..f10ea90586fd2 100644 --- a/installation/language/ja-JP/ja-JP.ini +++ b/installation/language/ja-JP/ja-JP.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ja-JP/ja-JP.xml b/installation/language/ja-JP/ja-JP.xml index 18bd481e479c0..eab218a746184 100644 --- a/installation/language/ja-JP/ja-JP.xml +++ b/installation/language/ja-JP/ja-JP.xml @@ -4,7 +4,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Joomla.jp</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ja-JP.ini</filename> diff --git a/installation/language/ka-GE/ka-GE.ini b/installation/language/ka-GE/ka-GE.ini index 8376b56c0d00e..bc614983b765a 100644 --- a/installation/language/ka-GE/ka-GE.ini +++ b/installation/language/ka-GE/ka-GE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ka-GE/ka-GE.xml b/installation/language/ka-GE/ka-GE.xml index 1be3403c8f108..78c4a19a9e1f3 100644 --- a/installation/language/ka-GE/ka-GE.xml +++ b/installation/language/ka-GE/ka-GE.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Georgian Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ka-GE.ini</filename> diff --git a/installation/language/km-KH/km-KH.ini b/installation/language/km-KH/km-KH.ini index 0f91ea2d60e0e..9ce20d2459c3d 100644 --- a/installation/language/km-KH/km-KH.ini +++ b/installation/language/km-KH/km-KH.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 ; Stepbar diff --git a/installation/language/km-KH/km-KH.xml b/installation/language/km-KH/km-KH.xml index 8928c1dda7e1c..5efbb25e3831e 100644 --- a/installation/language/km-KH/km-KH.xml +++ b/installation/language/km-KH/km-KH.xml @@ -4,7 +4,7 @@ <version>3.5.0</version> <creationDate>August 2015</creationDate> <author>Khmer Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>km-KH.ini</filename> diff --git a/installation/language/ko-KR/ko-KR.ini b/installation/language/ko-KR/ko-KR.ini index b43594a4d22c3..08a529ff9f18f 100644 --- a/installation/language/ko-KR/ko-KR.ini +++ b/installation/language/ko-KR/ko-KR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ko-KR/ko-KR.xml b/installation/language/ko-KR/ko-KR.xml index de7fb47445065..00ff08ddb3688 100644 --- a/installation/language/ko-KR/ko-KR.xml +++ b/installation/language/ko-KR/ko-KR.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Korean translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ko-KR.ini</filename> diff --git a/installation/language/lv-LV/lv-LV.ini b/installation/language/lv-LV/lv-LV.ini index 75e266cd167c3..2aa3592061beb 100644 --- a/installation/language/lv-LV/lv-LV.ini +++ b/installation/language/lv-LV/lv-LV.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/lv-LV/lv-LV.xml b/installation/language/lv-LV/lv-LV.xml index a3c66a2135e6f..d1c243e448a77 100644 --- a/installation/language/lv-LV/lv-LV.xml +++ b/installation/language/lv-LV/lv-LV.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Latvian Joomla translation team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>lv-LV.ini</filename> diff --git a/installation/language/mk-MK/mk-MK.ini b/installation/language/mk-MK/mk-MK.ini index 6255624e9bd77..6f7c0bc7c4063 100644 --- a/installation/language/mk-MK/mk-MK.ini +++ b/installation/language/mk-MK/mk-MK.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/mk-MK/mk-MK.xml b/installation/language/mk-MK/mk-MK.xml index 3b9a3b321660a..ff086e48d8e08 100644 --- a/installation/language/mk-MK/mk-MK.xml +++ b/installation/language/mk-MK/mk-MK.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Macedonian Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>mk-MK.ini</filename> diff --git a/installation/language/ms-MY/ms-MY.ini b/installation/language/ms-MY/ms-MY.ini index 622f27b4820b9..5faa5a2635c70 100644 --- a/installation/language/ms-MY/ms-MY.ini +++ b/installation/language/ms-MY/ms-MY.ini @@ -1,6 +1,6 @@ ; translator : MU DOT MY (http://mu.my) ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ms-MY/ms-MY.xml b/installation/language/ms-MY/ms-MY.xml index c80d7ecbc6311..16d9debe9df33 100644 --- a/installation/language/ms-MY/ms-MY.xml +++ b/installation/language/ms-MY/ms-MY.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>2013-10-01</creationDate> <author>MU DOT MY</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ms-MY.ini</filename> diff --git a/installation/language/nb-NO/nb-NO.ini b/installation/language/nb-NO/nb-NO.ini index f2988801cf025..5173250a0e09a 100644 --- a/installation/language/nb-NO/nb-NO.ini +++ b/installation/language/nb-NO/nb-NO.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/nb-NO/nb-NO.xml b/installation/language/nb-NO/nb-NO.xml index 0b1928811f906..59ee71c97792c 100644 --- a/installation/language/nb-NO/nb-NO.xml +++ b/installation/language/nb-NO/nb-NO.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>nb-NO.ini</filename> diff --git a/installation/language/nl-NL/nl-NL.ini b/installation/language/nl-NL/nl-NL.ini index 46dbeccc9229f..6220768955908 100644 --- a/installation/language/nl-NL/nl-NL.ini +++ b/installation/language/nl-NL/nl-NL.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/nl-NL/nl-NL.xml b/installation/language/nl-NL/nl-NL.xml index c80c2ade08252..17b40d1e4e80b 100644 --- a/installation/language/nl-NL/nl-NL.xml +++ b/installation/language/nl-NL/nl-NL.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Dutch Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>nl-NL.ini</filename> diff --git a/installation/language/nn-NO/nn-NO.ini b/installation/language/nn-NO/nn-NO.ini index b6daefda15632..d03853420ed21 100644 --- a/installation/language/nn-NO/nn-NO.ini +++ b/installation/language/nn-NO/nn-NO.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/nn-NO/nn-NO.xml b/installation/language/nn-NO/nn-NO.xml index 6a7f0f08cc440..086b7d1004ccc 100644 --- a/installation/language/nn-NO/nn-NO.xml +++ b/installation/language/nn-NO/nn-NO.xml @@ -6,7 +6,7 @@ <version>3.6.1</version> <creationDate>2016-07-24</creationDate> <author>Norsk Joomla and Skolelinux</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>nn-NO.ini</filename> diff --git a/installation/language/pl-PL/pl-PL.ini b/installation/language/pl-PL/pl-PL.ini index c1c26e3e0b60e..3f3412ee9148c 100644 --- a/installation/language/pl-PL/pl-PL.ini +++ b/installation/language/pl-PL/pl-PL.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/pl-PL/pl-PL.xml b/installation/language/pl-PL/pl-PL.xml index c9cd401fb0368..f865ce4b2919f 100644 --- a/installation/language/pl-PL/pl-PL.xml +++ b/installation/language/pl-PL/pl-PL.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>August 2017</creationDate> <author>Polskie Centrum Joomla!</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>pl-PL.ini</filename> diff --git a/installation/language/prs-AF/prs-AF.ini b/installation/language/prs-AF/prs-AF.ini index 2ef11c8b8966e..ede428a3414f4 100644 --- a/installation/language/prs-AF/prs-AF.ini +++ b/installation/language/prs-AF/prs-AF.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 - No BOM diff --git a/installation/language/prs-AF/prs-AF.xml b/installation/language/prs-AF/prs-AF.xml index 92e3c15356b18..db4f277a9b15e 100644 --- a/installation/language/prs-AF/prs-AF.xml +++ b/installation/language/prs-AF/prs-AF.xml @@ -6,7 +6,7 @@ <version>3.4.2</version> <creationDate>2015-04-21</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>prs-AF.ini</filename> diff --git a/installation/language/pt-BR/pt-BR.ini b/installation/language/pt-BR/pt-BR.ini index 65280e77a68ab..d40ebda16138c 100644 --- a/installation/language/pt-BR/pt-BR.ini +++ b/installation/language/pt-BR/pt-BR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/pt-BR/pt-BR.xml b/installation/language/pt-BR/pt-BR.xml index 62aa3116d28d5..bc4324fd1c88c 100644 --- a/installation/language/pt-BR/pt-BR.xml +++ b/installation/language/pt-BR/pt-BR.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>August 2017</creationDate> <author>Equipe de Tradução pt-BR (Português do Brasil)</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>pt-BR.ini</filename> diff --git a/installation/language/pt-PT/pt-PT.ini b/installation/language/pt-PT/pt-PT.ini index 14185c9e36ed5..c390bf8da49ed 100644 --- a/installation/language/pt-PT/pt-PT.ini +++ b/installation/language/pt-PT/pt-PT.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/pt-PT/pt-PT.xml b/installation/language/pt-PT/pt-PT.xml index 45b96e5a6ff14..75ca6cbfa655b 100644 --- a/installation/language/pt-PT/pt-PT.xml +++ b/installation/language/pt-PT/pt-PT.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>2017-02-04</creationDate> <author>Projeto Joomla!</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>pt-PT.ini</filename> diff --git a/installation/language/ro-RO/ro-RO.ini b/installation/language/ro-RO/ro-RO.ini index 09f739e01de24..7f30b871fd9bb 100644 --- a/installation/language/ro-RO/ro-RO.ini +++ b/installation/language/ro-RO/ro-RO.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ro-RO/ro-RO.xml b/installation/language/ro-RO/ro-RO.xml index 7f9a1891b4dd3..0aac91d9d0524 100644 --- a/installation/language/ro-RO/ro-RO.xml +++ b/installation/language/ro-RO/ro-RO.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>01-05-2017</creationDate> <author>Horia Negura - Quanta</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ro-RO.ini</filename> diff --git a/installation/language/ru-RU/ru-RU.ini b/installation/language/ru-RU/ru-RU.ini index 5b9ed08dd2e84..0767654cf4a47 100644 --- a/installation/language/ru-RU/ru-RU.ini +++ b/installation/language/ru-RU/ru-RU.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ru-RU/ru-RU.xml b/installation/language/ru-RU/ru-RU.xml index 52d3cbaced274..ddb4a6caabfe9 100644 --- a/installation/language/ru-RU/ru-RU.xml +++ b/installation/language/ru-RU/ru-RU.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>2012-09-27</creationDate> <author>Joomlaportal.ru</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ru-RU.ini</filename> diff --git a/installation/language/si-LK/si-LK.ini b/installation/language/si-LK/si-LK.ini index 84ba00a20205a..7e4ffa589bf95 100644 --- a/installation/language/si-LK/si-LK.ini +++ b/installation/language/si-LK/si-LK.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/si-LK/si-LK.xml b/installation/language/si-LK/si-LK.xml index 8ab6c037d0ecb..4de48315b60cd 100644 --- a/installation/language/si-LK/si-LK.xml +++ b/installation/language/si-LK/si-LK.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>July 2014</creationDate> <author>Denuwan Wijewardena (Sri Lanka)</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>si-LK.ini</filename> diff --git a/installation/language/sk-SK/sk-SK.ini b/installation/language/sk-SK/sk-SK.ini index d022c5f026765..6c5a56292d254 100644 --- a/installation/language/sk-SK/sk-SK.ini +++ b/installation/language/sk-SK/sk-SK.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sk-SK/sk-SK.xml b/installation/language/sk-SK/sk-SK.xml index bbcbad4870fa8..9504475d60afe 100644 --- a/installation/language/sk-SK/sk-SK.xml +++ b/installation/language/sk-SK/sk-SK.xml @@ -6,7 +6,7 @@ <version>3.7.4</version> <creationDate>July 2017</creationDate> <author>Slovak translation team : Peter Michnica</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sk-SK.ini</filename> diff --git a/installation/language/sl-SI/sl-SI.ini b/installation/language/sl-SI/sl-SI.ini index 6ba9d4eb133b4..b1f2ef819c095 100644 --- a/installation/language/sl-SI/sl-SI.ini +++ b/installation/language/sl-SI/sl-SI.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sl-SI/sl-SI.xml b/installation/language/sl-SI/sl-SI.xml index efec28d43491d..e854768eb1cb7 100644 --- a/installation/language/sl-SI/sl-SI.xml +++ b/installation/language/sl-SI/sl-SI.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Slovenian Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sl-SI.ini</filename> diff --git a/installation/language/sr-RS/sr-RS.ini b/installation/language/sr-RS/sr-RS.ini index f575211f50618..bece5ff356c1c 100644 --- a/installation/language/sr-RS/sr-RS.ini +++ b/installation/language/sr-RS/sr-RS.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sr-RS/sr-RS.xml b/installation/language/sr-RS/sr-RS.xml index 051a0efc34176..dd560f01c7052 100644 --- a/installation/language/sr-RS/sr-RS.xml +++ b/installation/language/sr-RS/sr-RS.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>joomla-serbia.com</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sr-RS.ini</filename> diff --git a/installation/language/sr-YU/sr-YU.ini b/installation/language/sr-YU/sr-YU.ini index 6500a3ac20d96..6ce74ea50dc0e 100644 --- a/installation/language/sr-YU/sr-YU.ini +++ b/installation/language/sr-YU/sr-YU.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sr-YU/sr-YU.xml b/installation/language/sr-YU/sr-YU.xml index a77e0967fae8e..786ac821b6404 100644 --- a/installation/language/sr-YU/sr-YU.xml +++ b/installation/language/sr-YU/sr-YU.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>joomla-serbia.com</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sr-YU.ini</filename> diff --git a/installation/language/srp-ME/srp-ME.ini b/installation/language/srp-ME/srp-ME.ini index 7767f9ee503ff..3055c8cfda9c4 100644 --- a/installation/language/srp-ME/srp-ME.ini +++ b/installation/language/srp-ME/srp-ME.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/srp-ME/srp-ME.xml b/installation/language/srp-ME/srp-ME.xml index fd5f0db6df1d2..d7cfda687495b 100644 --- a/installation/language/srp-ME/srp-ME.xml +++ b/installation/language/srp-ME/srp-ME.xml @@ -6,7 +6,7 @@ <version>3.2.0</version> <creationDate>03-10-2013</creationDate> <author>Tolja</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>srp-ME.ini</filename> diff --git a/installation/language/sv-SE/sv-SE.ini b/installation/language/sv-SE/sv-SE.ini index e432732260a83..2438cec384d62 100644 --- a/installation/language/sv-SE/sv-SE.ini +++ b/installation/language/sv-SE/sv-SE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sv-SE/sv-SE.xml b/installation/language/sv-SE/sv-SE.xml index ae0621d976baa..ff985a558e667 100644 --- a/installation/language/sv-SE/sv-SE.xml +++ b/installation/language/sv-SE/sv-SE.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sv-SE.ini</filename> diff --git a/installation/language/sw-KE/sw-KE.ini b/installation/language/sw-KE/sw-KE.ini index e69b2394a70fa..e23354490edb8 100644 --- a/installation/language/sw-KE/sw-KE.ini +++ b/installation/language/sw-KE/sw-KE.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. +; Copyright (C) 2005 - 2018 Open Source Matters. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/sw-KE/sw-KE.xml b/installation/language/sw-KE/sw-KE.xml index 08c0b1b424244..126ca3b9a1194 100644 --- a/installation/language/sw-KE/sw-KE.xml +++ b/installation/language/sw-KE/sw-KE.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Hassan Abdalla</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sw-KE.ini</filename> diff --git a/installation/language/sy-IQ/sy-IQ.ini b/installation/language/sy-IQ/sy-IQ.ini index 54ad57efbd46f..7702de6cf64ea 100644 --- a/installation/language/sy-IQ/sy-IQ.ini +++ b/installation/language/sy-IQ/sy-IQ.ini @@ -1,4 +1,4 @@ -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt see LICENSE.php ; Note : All ini files need to be saved as UTF-8 - No BOM diff --git a/installation/language/sy-IQ/sy-IQ.xml b/installation/language/sy-IQ/sy-IQ.xml index 308bfe58ebf3f..92c57984002c1 100644 --- a/installation/language/sy-IQ/sy-IQ.xml +++ b/installation/language/sy-IQ/sy-IQ.xml @@ -6,7 +6,7 @@ <version>3.5.0</version> <creationDate>2012-09-25</creationDate> <author>East Syriac Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>sy-IQ.ini</filename> diff --git a/installation/language/ta-IN/ta-IN.ini b/installation/language/ta-IN/ta-IN.ini index 434ff3ea20630..0aff51475c1f0 100644 --- a/installation/language/ta-IN/ta-IN.ini +++ b/installation/language/ta-IN/ta-IN.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ta-IN/ta-IN.xml b/installation/language/ta-IN/ta-IN.xml index ebac89dc3ee62..7ff9a5badd4fb 100644 --- a/installation/language/ta-IN/ta-IN.xml +++ b/installation/language/ta-IN/ta-IN.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Ilagnayeru 'MIG' Manickam, Elango Samy Manim</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>Tamil (India) language installation pack for Joomla</description> <files> diff --git a/installation/language/th-TH/th-TH.ini b/installation/language/th-TH/th-TH.ini index b4357e901142d..0ce83d2fd6861 100644 --- a/installation/language/th-TH/th-TH.ini +++ b/installation/language/th-TH/th-TH.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/th-TH/th-TH.xml b/installation/language/th-TH/th-TH.xml index 0245fdef26354..901d912b9e1b1 100644 --- a/installation/language/th-TH/th-TH.xml +++ b/installation/language/th-TH/th-TH.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>September 2017</creationDate> <author>Thai Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>th-TH.ini</filename> diff --git a/installation/language/tk-TM/tk-TM.ini b/installation/language/tk-TM/tk-TM.ini index 6222929bd76ab..41db4c7f7c150 100644 --- a/installation/language/tk-TM/tk-TM.ini +++ b/installation/language/tk-TM/tk-TM.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/tk-TM/tk-TM.xml b/installation/language/tk-TM/tk-TM.xml index 8ed1b90b83838..f14ff77944e0a 100644 --- a/installation/language/tk-TM/tk-TM.xml +++ b/installation/language/tk-TM/tk-TM.xml @@ -6,7 +6,7 @@ <version>3.6.3</version> <creationDate>August 2016</creationDate> <author>Shohrat Permanov</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>tk-TM.ini</filename> diff --git a/installation/language/tr-TR/tr-TR.ini b/installation/language/tr-TR/tr-TR.ini index 5315498a457c5..b5123d598e40d 100644 --- a/installation/language/tr-TR/tr-TR.ini +++ b/installation/language/tr-TR/tr-TR.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/tr-TR/tr-TR.xml b/installation/language/tr-TR/tr-TR.xml index 4d5f5dea914fb..25d46475319de 100644 --- a/installation/language/tr-TR/tr-TR.xml +++ b/installation/language/tr-TR/tr-TR.xml @@ -6,7 +6,7 @@ <version>3.7.3</version> <creationDate>May 2017</creationDate> <author>Ümit Kenan Gönüllü</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>tr-TR.ini</filename> diff --git a/installation/language/ug-CN/ug-CN.ini b/installation/language/ug-CN/ug-CN.ini index 8e219a5fbec93..c030c10385fb1 100644 --- a/installation/language/ug-CN/ug-CN.ini +++ b/installation/language/ug-CN/ug-CN.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/ug-CN/ug-CN.xml b/installation/language/ug-CN/ug-CN.xml index 06b1a1eee6df5..22a1203a36c50 100644 --- a/installation/language/ug-CN/ug-CN.xml +++ b/installation/language/ug-CN/ug-CN.xml @@ -4,7 +4,7 @@ <version>3.5.0</version> <creationDate>2012.10.28</creationDate> <author>Joomla! Uyghur Translation Team</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>ug-CN.ini</filename> diff --git a/installation/language/uk-UA/uk-UA.ini b/installation/language/uk-UA/uk-UA.ini index bd267fdcc9216..96ec8025059a5 100644 --- a/installation/language/uk-UA/uk-UA.ini +++ b/installation/language/uk-UA/uk-UA.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/uk-UA/uk-UA.xml b/installation/language/uk-UA/uk-UA.xml index 0c9f190906e07..be7d91ed1410f 100644 --- a/installation/language/uk-UA/uk-UA.xml +++ b/installation/language/uk-UA/uk-UA.xml @@ -5,7 +5,7 @@ <version>3.7.0</version> <creationDate>27.04.2017</creationDate> <author>Joomla! Ukraine</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>[Name of language] [site, administrator or installation] language for Joomla</description> <metadata> diff --git a/installation/language/vi-VN/vi-VN.ini b/installation/language/vi-VN/vi-VN.ini index 457d3e85354db..d3a2abd75650a 100644 --- a/installation/language/vi-VN/vi-VN.ini +++ b/installation/language/vi-VN/vi-VN.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/vi-VN/vi-VN.xml b/installation/language/vi-VN/vi-VN.xml index 4e9ccf733f637..caa2dcc11d3fa 100644 --- a/installation/language/vi-VN/vi-VN.xml +++ b/installation/language/vi-VN/vi-VN.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>January 2017</creationDate> <author>Joomla! Project</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>vi-VN.ini</filename> diff --git a/installation/language/zh-CN/zh-CN.ini b/installation/language/zh-CN/zh-CN.ini index 904ae7771f447..2a5ef5600dd2a 100644 --- a/installation/language/zh-CN/zh-CN.ini +++ b/installation/language/zh-CN/zh-CN.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/zh-CN/zh-CN.xml b/installation/language/zh-CN/zh-CN.xml index 9d5bf33614e0e..335dd0f0320f6 100644 --- a/installation/language/zh-CN/zh-CN.xml +++ b/installation/language/zh-CN/zh-CN.xml @@ -6,7 +6,7 @@ <version>3.7.0</version> <creationDate>2017年3月</creationDate> <author>Joomla! 中文社区 www.ijoomla.cn</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>zh-CN.ini</filename> diff --git a/installation/language/zh-TW/zh-TW.ini b/installation/language/zh-TW/zh-TW.ini index cf0c0547c81b3..ef1b2ccf1ff9d 100644 --- a/installation/language/zh-TW/zh-TW.ini +++ b/installation/language/zh-TW/zh-TW.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt ; Note : All ini files need to be saved as UTF-8 diff --git a/installation/language/zh-TW/zh-TW.xml b/installation/language/zh-TW/zh-TW.xml index ed52c2cc0364f..63022ae3b947b 100644 --- a/installation/language/zh-TW/zh-TW.xml +++ b/installation/language/zh-TW/zh-TW.xml @@ -6,7 +6,7 @@ <version>3.8.0</version> <creationDate>August 2017</creationDate> <author>Joomla! Taiwan</author> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>zh-TW.ini</filename> diff --git a/installation/model/configuration.php b/installation/model/configuration.php index ab57f7bfa1f02..c31a544911a76 100644 --- a/installation/model/configuration.php +++ b/installation/model/configuration.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/model/database.php b/installation/model/database.php index ce33cc231dd21..22a90ca811eda 100644 --- a/installation/model/database.php +++ b/installation/model/database.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/model/ftp.php b/installation/model/ftp.php index 5559080945549..44af989665cf2 100644 --- a/installation/model/ftp.php +++ b/installation/model/ftp.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/model/languages.php b/installation/model/languages.php index c4ec1ebede03d..2af62f392cb75 100644 --- a/installation/model/languages.php +++ b/installation/model/languages.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/model/setup.php b/installation/model/setup.php index 0089d22e3d6e5..a07b29d87e4ac 100644 --- a/installation/model/setup.php +++ b/installation/model/setup.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/response/json.php b/installation/response/json.php index 48efafd0d28aa..35f28b6120f9c 100644 --- a/installation/response/json.php +++ b/installation/response/json.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage Response * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/template/body.php b/installation/template/body.php index f18080ddeae03..46734af36a7aa 100644 --- a/installation/template/body.php +++ b/installation/template/body.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/template/css/template.css b/installation/template/css/template.css index f42762f6893e2..5112b73157930 100644 --- a/installation/template/css/template.css +++ b/installation/template/css/template.css @@ -1,7 +1,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ .container{ diff --git a/installation/template/css/template_rtl.css b/installation/template/css/template_rtl.css index df489e61ef0f4..8713c84a16934 100644 --- a/installation/template/css/template_rtl.css +++ b/installation/template/css/template_rtl.css @@ -1,7 +1,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/template/index.php b/installation/template/index.php index 8d9817aa09121..d8192e18816c9 100644 --- a/installation/template/index.php +++ b/installation/template/index.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/template/js/installation.js b/installation/template/js/installation.js index 2969819a480c1..b29eb0bc56900 100644 --- a/installation/template/js/installation.js +++ b/installation/template/js/installation.js @@ -1,7 +1,7 @@ /** * @package Joomla.Installation * @subpackage JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/complete/html.php b/installation/view/complete/html.php index 00fd8c2802062..4cc14d866b9ed 100644 --- a/installation/view/complete/html.php +++ b/installation/view/complete/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/complete/tmpl/default.php b/installation/view/complete/tmpl/default.php index bbf8f21e6102d..0ed4bb5291c07 100644 --- a/installation/view/complete/tmpl/default.php +++ b/installation/view/complete/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/database/tmpl/default.php b/installation/view/database/tmpl/default.php index 320e0dc704218..7bd5f2d50d17f 100644 --- a/installation/view/database/tmpl/default.php +++ b/installation/view/database/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/default.php b/installation/view/default.php index a5953f95c4a0a..3f8477ea95897 100644 --- a/installation/view/default.php +++ b/installation/view/default.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/defaultlanguage/html.php b/installation/view/defaultlanguage/html.php index 61ebaa65dab38..e68c73c5104a4 100644 --- a/installation/view/defaultlanguage/html.php +++ b/installation/view/defaultlanguage/html.php @@ -4,7 +4,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/defaultlanguage/tmpl/default.php b/installation/view/defaultlanguage/tmpl/default.php index fb8aec842ea99..a0fdfa8e72019 100644 --- a/installation/view/defaultlanguage/tmpl/default.php +++ b/installation/view/defaultlanguage/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/ftp/tmpl/default.php b/installation/view/ftp/tmpl/default.php index ee40a803ebeb9..f0cafd5f55225 100644 --- a/installation/view/ftp/tmpl/default.php +++ b/installation/view/ftp/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/install/html.php b/installation/view/install/html.php index 0bfe089a702f8..137f61597230a 100644 --- a/installation/view/install/html.php +++ b/installation/view/install/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/install/tmpl/default.php b/installation/view/install/tmpl/default.php index f672a051e2a2d..56a4ff2f71f7e 100644 --- a/installation/view/install/tmpl/default.php +++ b/installation/view/install/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/languages/html.php b/installation/view/languages/html.php index 4e5d345fc6af3..137c36a336752 100644 --- a/installation/view/languages/html.php +++ b/installation/view/languages/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/languages/tmpl/default.php b/installation/view/languages/tmpl/default.php index 762a84a19c20e..34573653fe6c6 100644 --- a/installation/view/languages/tmpl/default.php +++ b/installation/view/languages/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/preinstall/html.php b/installation/view/preinstall/html.php index faad53cf8f3c8..0a43cf9438573 100644 --- a/installation/view/preinstall/html.php +++ b/installation/view/preinstall/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/preinstall/tmpl/default.php b/installation/view/preinstall/tmpl/default.php index 4812f87f29135..25d59ce46f65f 100644 --- a/installation/view/preinstall/tmpl/default.php +++ b/installation/view/preinstall/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/remove/html.php b/installation/view/remove/html.php index 7c74441be7747..1bc844380ced5 100644 --- a/installation/view/remove/html.php +++ b/installation/view/remove/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/remove/tmpl/default.php b/installation/view/remove/tmpl/default.php index 47f5b62ac3f34..587e2c98c2f8f 100644 --- a/installation/view/remove/tmpl/default.php +++ b/installation/view/remove/tmpl/default.php @@ -2,7 +2,7 @@ /** * @package Joomla.Installation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/site/tmpl/default.php b/installation/view/site/tmpl/default.php index 726cf18af8e68..41d06394e67b4 100644 --- a/installation/view/site/tmpl/default.php +++ b/installation/view/site/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/summary/html.php b/installation/view/summary/html.php index 5bb936345acf4..d7835d241e720 100644 --- a/installation/view/summary/html.php +++ b/installation/view/summary/html.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/installation/view/summary/tmpl/default.php b/installation/view/summary/tmpl/default.php index 8b7e9382caded..429eb9b5ab03a 100644 --- a/installation/view/summary/tmpl/default.php +++ b/installation/view/summary/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Installation * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/language/en-GB/en-GB.com_ajax.ini b/language/en-GB/en-GB.com_ajax.ini index 8bb5ea675bda6..cef5ced392ffa 100644 --- a/language/en-GB/en-GB.com_ajax.ini +++ b/language/en-GB/en-GB.com_ajax.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_config.ini b/language/en-GB/en-GB.com_config.ini index b9f0455649b5d..6c1b3dbbb6eca 100644 --- a/language/en-GB/en-GB.com_config.ini +++ b/language/en-GB/en-GB.com_config.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_contact.ini b/language/en-GB/en-GB.com_contact.ini index b5b514fcbaa4d..ddcbcd751d2fb 100644 --- a/language/en-GB/en-GB.com_contact.ini +++ b/language/en-GB/en-GB.com_contact.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_content.ini b/language/en-GB/en-GB.com_content.ini index b1aba3f684b46..8a37f4a86c924 100644 --- a/language/en-GB/en-GB.com_content.ini +++ b/language/en-GB/en-GB.com_content.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_finder.ini b/language/en-GB/en-GB.com_finder.ini index 3f84b6b10036f..66344b09708d0 100644 --- a/language/en-GB/en-GB.com_finder.ini +++ b/language/en-GB/en-GB.com_finder.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_mailto.ini b/language/en-GB/en-GB.com_mailto.ini index 5db481508fb25..bfa35c9789b9e 100644 --- a/language/en-GB/en-GB.com_mailto.ini +++ b/language/en-GB/en-GB.com_mailto.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_media.ini b/language/en-GB/en-GB.com_media.ini index ddc9372c4d066..d3ab9378a93ae 100644 --- a/language/en-GB/en-GB.com_media.ini +++ b/language/en-GB/en-GB.com_media.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_messages.ini b/language/en-GB/en-GB.com_messages.ini index 27c9885e7d215..5af88cb28186f 100644 --- a/language/en-GB/en-GB.com_messages.ini +++ b/language/en-GB/en-GB.com_messages.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_newsfeeds.ini b/language/en-GB/en-GB.com_newsfeeds.ini index 7636aa50d2c85..b9c5648f2711e 100644 --- a/language/en-GB/en-GB.com_newsfeeds.ini +++ b/language/en-GB/en-GB.com_newsfeeds.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_search.ini b/language/en-GB/en-GB.com_search.ini index 4c738a0907675..19e0f6a44e199 100644 --- a/language/en-GB/en-GB.com_search.ini +++ b/language/en-GB/en-GB.com_search.ini @@ -1,5 +1,5 @@ ; author Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; license GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_tags.ini b/language/en-GB/en-GB.com_tags.ini index 3286736fd9f8c..991ec9714ca5e 100644 --- a/language/en-GB/en-GB.com_tags.ini +++ b/language/en-GB/en-GB.com_tags.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_users.ini b/language/en-GB/en-GB.com_users.ini index d567219ba8930..7a61c1566e322 100644 --- a/language/en-GB/en-GB.com_users.ini +++ b/language/en-GB/en-GB.com_users.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_weblinks.ini b/language/en-GB/en-GB.com_weblinks.ini index c43069447233b..2812ff131e27a 100644 --- a/language/en-GB/en-GB.com_weblinks.ini +++ b/language/en-GB/en-GB.com_weblinks.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.com_wrapper.ini b/language/en-GB/en-GB.com_wrapper.ini index a25903056cc15..ed97c10a8416a 100644 --- a/language/en-GB/en-GB.com_wrapper.ini +++ b/language/en-GB/en-GB.com_wrapper.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.files_joomla.sys.ini b/language/en-GB/en-GB.files_joomla.sys.ini index b06c5d1d4802a..6b7e2df79f6d9 100644 --- a/language/en-GB/en-GB.files_joomla.sys.ini +++ b/language/en-GB/en-GB.files_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.finder_cli.ini b/language/en-GB/en-GB.finder_cli.ini index 78a7c67cd6690..8d632a9e6b262 100644 --- a/language/en-GB/en-GB.finder_cli.ini +++ b/language/en-GB/en-GB.finder_cli.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index ac0e200c8410a..e56856874ab4b 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_fof.sys.ini b/language/en-GB/en-GB.lib_fof.sys.ini index 83a6f664f0534..e93164107d376 100644 --- a/language/en-GB/en-GB.lib_fof.sys.ini +++ b/language/en-GB/en-GB.lib_fof.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_idna_convert.sys.ini b/language/en-GB/en-GB.lib_idna_convert.sys.ini index d629badf5b5cb..47393806da55f 100644 --- a/language/en-GB/en-GB.lib_idna_convert.sys.ini +++ b/language/en-GB/en-GB.lib_idna_convert.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_joomla.ini b/language/en-GB/en-GB.lib_joomla.ini index 0dcf85838b851..d98639f06e1dd 100644 --- a/language/en-GB/en-GB.lib_joomla.ini +++ b/language/en-GB/en-GB.lib_joomla.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_joomla.sys.ini b/language/en-GB/en-GB.lib_joomla.sys.ini index dfb41e85d9d47..3d7e4b367ee32 100644 --- a/language/en-GB/en-GB.lib_joomla.sys.ini +++ b/language/en-GB/en-GB.lib_joomla.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_phpass.sys.ini b/language/en-GB/en-GB.lib_phpass.sys.ini index 5547bdee2b6e8..bdf731fd913d5 100644 --- a/language/en-GB/en-GB.lib_phpass.sys.ini +++ b/language/en-GB/en-GB.lib_phpass.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_phputf8.sys.ini b/language/en-GB/en-GB.lib_phputf8.sys.ini index bb423fbaae249..dab396435bf3a 100644 --- a/language/en-GB/en-GB.lib_phputf8.sys.ini +++ b/language/en-GB/en-GB.lib_phputf8.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.lib_simplepie.sys.ini b/language/en-GB/en-GB.lib_simplepie.sys.ini index 7a405d48c1c03..fc43f3e284e2f 100644 --- a/language/en-GB/en-GB.lib_simplepie.sys.ini +++ b/language/en-GB/en-GB.lib_simplepie.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.localise.php b/language/en-GB/en-GB.localise.php index 6d4e391d3db5f..db62e563de244 100644 --- a/language/en-GB/en-GB.localise.php +++ b/language/en-GB/en-GB.localise.php @@ -2,7 +2,7 @@ /** * @package Joomla.Language * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/language/en-GB/en-GB.mod_articles_archive.ini b/language/en-GB/en-GB.mod_articles_archive.ini index 779217c61efd3..9e382f9480e41 100644 --- a/language/en-GB/en-GB.mod_articles_archive.ini +++ b/language/en-GB/en-GB.mod_articles_archive.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_archive.sys.ini b/language/en-GB/en-GB.mod_articles_archive.sys.ini index 23be5f2e93729..693c1bfb6fea9 100644 --- a/language/en-GB/en-GB.mod_articles_archive.sys.ini +++ b/language/en-GB/en-GB.mod_articles_archive.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_categories.ini b/language/en-GB/en-GB.mod_articles_categories.ini index 9e8b78e34d084..4c5074c8ebdd7 100644 --- a/language/en-GB/en-GB.mod_articles_categories.ini +++ b/language/en-GB/en-GB.mod_articles_categories.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_categories.sys.ini b/language/en-GB/en-GB.mod_articles_categories.sys.ini index 87017e372f7bc..bd7f4d690742b 100644 --- a/language/en-GB/en-GB.mod_articles_categories.sys.ini +++ b/language/en-GB/en-GB.mod_articles_categories.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_category.ini b/language/en-GB/en-GB.mod_articles_category.ini index 3fdffb91ad1b9..2ddc21f71e06b 100644 --- a/language/en-GB/en-GB.mod_articles_category.ini +++ b/language/en-GB/en-GB.mod_articles_category.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_category.sys.ini b/language/en-GB/en-GB.mod_articles_category.sys.ini index 380f2c7dcaa4a..76eafefde24c9 100644 --- a/language/en-GB/en-GB.mod_articles_category.sys.ini +++ b/language/en-GB/en-GB.mod_articles_category.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_latest.ini b/language/en-GB/en-GB.mod_articles_latest.ini index 9618506752903..2e7e161d37c14 100644 --- a/language/en-GB/en-GB.mod_articles_latest.ini +++ b/language/en-GB/en-GB.mod_articles_latest.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_latest.sys.ini b/language/en-GB/en-GB.mod_articles_latest.sys.ini index c592aac298c04..3a4fdfdfa1acd 100644 --- a/language/en-GB/en-GB.mod_articles_latest.sys.ini +++ b/language/en-GB/en-GB.mod_articles_latest.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_news.ini b/language/en-GB/en-GB.mod_articles_news.ini index 6da0aa53ae1a3..747156f840a05 100644 --- a/language/en-GB/en-GB.mod_articles_news.ini +++ b/language/en-GB/en-GB.mod_articles_news.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_news.sys.ini b/language/en-GB/en-GB.mod_articles_news.sys.ini index 028ea3f9e4c0b..a45c494a3660d 100644 --- a/language/en-GB/en-GB.mod_articles_news.sys.ini +++ b/language/en-GB/en-GB.mod_articles_news.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_popular.ini b/language/en-GB/en-GB.mod_articles_popular.ini index b991b0c01690d..e622948011c80 100644 --- a/language/en-GB/en-GB.mod_articles_popular.ini +++ b/language/en-GB/en-GB.mod_articles_popular.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_articles_popular.sys.ini b/language/en-GB/en-GB.mod_articles_popular.sys.ini index 604eb50293cf8..ca99edcfd84ed 100644 --- a/language/en-GB/en-GB.mod_articles_popular.sys.ini +++ b/language/en-GB/en-GB.mod_articles_popular.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_banners.ini b/language/en-GB/en-GB.mod_banners.ini index 3be9267e295ec..cede78b99beb8 100644 --- a/language/en-GB/en-GB.mod_banners.ini +++ b/language/en-GB/en-GB.mod_banners.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_banners.sys.ini b/language/en-GB/en-GB.mod_banners.sys.ini index db768ad3cc4f5..25962c84e55b3 100644 --- a/language/en-GB/en-GB.mod_banners.sys.ini +++ b/language/en-GB/en-GB.mod_banners.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_breadcrumbs.ini b/language/en-GB/en-GB.mod_breadcrumbs.ini index dcf556db86add..c1bc261bd9c13 100644 --- a/language/en-GB/en-GB.mod_breadcrumbs.ini +++ b/language/en-GB/en-GB.mod_breadcrumbs.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_breadcrumbs.sys.ini b/language/en-GB/en-GB.mod_breadcrumbs.sys.ini index bd4b4341ce762..5020bc62a5388 100644 --- a/language/en-GB/en-GB.mod_breadcrumbs.sys.ini +++ b/language/en-GB/en-GB.mod_breadcrumbs.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_custom.ini b/language/en-GB/en-GB.mod_custom.ini index 4a0e69181619d..b66148d66a05b 100644 --- a/language/en-GB/en-GB.mod_custom.ini +++ b/language/en-GB/en-GB.mod_custom.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_custom.sys.ini b/language/en-GB/en-GB.mod_custom.sys.ini index ee3efa1b329de..311fe1dc591f1 100644 --- a/language/en-GB/en-GB.mod_custom.sys.ini +++ b/language/en-GB/en-GB.mod_custom.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_feed.ini b/language/en-GB/en-GB.mod_feed.ini index 448ea4ca6e054..0d1daf0ea76e5 100644 --- a/language/en-GB/en-GB.mod_feed.ini +++ b/language/en-GB/en-GB.mod_feed.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_feed.sys.ini b/language/en-GB/en-GB.mod_feed.sys.ini index dddf6358f619a..56b6f497f327e 100644 --- a/language/en-GB/en-GB.mod_feed.sys.ini +++ b/language/en-GB/en-GB.mod_feed.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_finder.ini b/language/en-GB/en-GB.mod_finder.ini index 85d0d60cdaae2..4f01c256f0278 100644 --- a/language/en-GB/en-GB.mod_finder.ini +++ b/language/en-GB/en-GB.mod_finder.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_finder.sys.ini b/language/en-GB/en-GB.mod_finder.sys.ini index 77e1e4081c2ae..67a48ebbcaa8c 100644 --- a/language/en-GB/en-GB.mod_finder.sys.ini +++ b/language/en-GB/en-GB.mod_finder.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_footer.ini b/language/en-GB/en-GB.mod_footer.ini index 585743db4166d..5bd6ccc3d6e94 100644 --- a/language/en-GB/en-GB.mod_footer.ini +++ b/language/en-GB/en-GB.mod_footer.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 ; Note : %date% will be auto replaced by current year !Don't translate diff --git a/language/en-GB/en-GB.mod_footer.sys.ini b/language/en-GB/en-GB.mod_footer.sys.ini index f3dfa84a1d3dd..e28e2c8c8c7d5 100644 --- a/language/en-GB/en-GB.mod_footer.sys.ini +++ b/language/en-GB/en-GB.mod_footer.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 ; Note : %date% will be auto replaced by current year !Don't translate diff --git a/language/en-GB/en-GB.mod_languages.ini b/language/en-GB/en-GB.mod_languages.ini index 2bc7dc874baf0..ff3a33fdb3b5c 100644 --- a/language/en-GB/en-GB.mod_languages.ini +++ b/language/en-GB/en-GB.mod_languages.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_languages.sys.ini b/language/en-GB/en-GB.mod_languages.sys.ini index 3bfbee2a8b1d4..0482dd091963e 100644 --- a/language/en-GB/en-GB.mod_languages.sys.ini +++ b/language/en-GB/en-GB.mod_languages.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_login.ini b/language/en-GB/en-GB.mod_login.ini index 352b1daf945e9..e4dc1c8013cdc 100644 --- a/language/en-GB/en-GB.mod_login.ini +++ b/language/en-GB/en-GB.mod_login.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_login.sys.ini b/language/en-GB/en-GB.mod_login.sys.ini index e13b452493eaa..8e346b3c001da 100644 --- a/language/en-GB/en-GB.mod_login.sys.ini +++ b/language/en-GB/en-GB.mod_login.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_menu.ini b/language/en-GB/en-GB.mod_menu.ini index 3d12574e7db88..3cac4c4234bbe 100644 --- a/language/en-GB/en-GB.mod_menu.ini +++ b/language/en-GB/en-GB.mod_menu.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_menu.sys.ini b/language/en-GB/en-GB.mod_menu.sys.ini index 49f0a12e6b79f..95c8f32bd0816 100644 --- a/language/en-GB/en-GB.mod_menu.sys.ini +++ b/language/en-GB/en-GB.mod_menu.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_random_image.ini b/language/en-GB/en-GB.mod_random_image.ini index 11dc845b28365..3854cd861c7e6 100644 --- a/language/en-GB/en-GB.mod_random_image.ini +++ b/language/en-GB/en-GB.mod_random_image.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_random_image.sys.ini b/language/en-GB/en-GB.mod_random_image.sys.ini index 78c27ed404705..e8214ed84b3f7 100644 --- a/language/en-GB/en-GB.mod_random_image.sys.ini +++ b/language/en-GB/en-GB.mod_random_image.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_related_items.ini b/language/en-GB/en-GB.mod_related_items.ini index 9f93253b3ed3f..3c5f8db918311 100644 --- a/language/en-GB/en-GB.mod_related_items.ini +++ b/language/en-GB/en-GB.mod_related_items.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_related_items.sys.ini b/language/en-GB/en-GB.mod_related_items.sys.ini index 3812945e1527e..c6b52757b02c3 100644 --- a/language/en-GB/en-GB.mod_related_items.sys.ini +++ b/language/en-GB/en-GB.mod_related_items.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_search.ini b/language/en-GB/en-GB.mod_search.ini index b3f631c89dc72..cecc71c8b344b 100644 --- a/language/en-GB/en-GB.mod_search.ini +++ b/language/en-GB/en-GB.mod_search.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_search.sys.ini b/language/en-GB/en-GB.mod_search.sys.ini index d421e65c494f3..8fd6ad7aab70f 100644 --- a/language/en-GB/en-GB.mod_search.sys.ini +++ b/language/en-GB/en-GB.mod_search.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_stats.ini b/language/en-GB/en-GB.mod_stats.ini index 6ae6512536e45..b349f8042f22e 100644 --- a/language/en-GB/en-GB.mod_stats.ini +++ b/language/en-GB/en-GB.mod_stats.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_stats.sys.ini b/language/en-GB/en-GB.mod_stats.sys.ini index 291aab271fcb8..48954c3bbcce5 100644 --- a/language/en-GB/en-GB.mod_stats.sys.ini +++ b/language/en-GB/en-GB.mod_stats.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_syndicate.ini b/language/en-GB/en-GB.mod_syndicate.ini index 851f3cd0de579..9906943d2e07e 100644 --- a/language/en-GB/en-GB.mod_syndicate.ini +++ b/language/en-GB/en-GB.mod_syndicate.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_syndicate.sys.ini b/language/en-GB/en-GB.mod_syndicate.sys.ini index 1dfd1cf9d9367..e9b935b96c943 100644 --- a/language/en-GB/en-GB.mod_syndicate.sys.ini +++ b/language/en-GB/en-GB.mod_syndicate.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_tags_popular.ini b/language/en-GB/en-GB.mod_tags_popular.ini index b62fb6979ac1f..82cf303c39d55 100644 --- a/language/en-GB/en-GB.mod_tags_popular.ini +++ b/language/en-GB/en-GB.mod_tags_popular.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_tags_popular.sys.ini b/language/en-GB/en-GB.mod_tags_popular.sys.ini index 3b41b4ff729a8..587e31b00c357 100644 --- a/language/en-GB/en-GB.mod_tags_popular.sys.ini +++ b/language/en-GB/en-GB.mod_tags_popular.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_tags_similar.ini b/language/en-GB/en-GB.mod_tags_similar.ini index 4c921e4622943..2d4e04ce9255e 100644 --- a/language/en-GB/en-GB.mod_tags_similar.ini +++ b/language/en-GB/en-GB.mod_tags_similar.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_tags_similar.sys.ini b/language/en-GB/en-GB.mod_tags_similar.sys.ini index 6aa9a858a8934..8500b87fdee8e 100644 --- a/language/en-GB/en-GB.mod_tags_similar.sys.ini +++ b/language/en-GB/en-GB.mod_tags_similar.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_users_latest.ini b/language/en-GB/en-GB.mod_users_latest.ini index 7f4fae2629917..a36b3db95d810 100644 --- a/language/en-GB/en-GB.mod_users_latest.ini +++ b/language/en-GB/en-GB.mod_users_latest.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_users_latest.sys.ini b/language/en-GB/en-GB.mod_users_latest.sys.ini index f13c9dded38de..9546568bf62cb 100644 --- a/language/en-GB/en-GB.mod_users_latest.sys.ini +++ b/language/en-GB/en-GB.mod_users_latest.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_weblinks.ini b/language/en-GB/en-GB.mod_weblinks.ini index 6749b21dc213f..6690d7e4e5278 100644 --- a/language/en-GB/en-GB.mod_weblinks.ini +++ b/language/en-GB/en-GB.mod_weblinks.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_weblinks.sys.ini b/language/en-GB/en-GB.mod_weblinks.sys.ini index 1914b06474af5..b4bb589bb17e5 100644 --- a/language/en-GB/en-GB.mod_weblinks.sys.ini +++ b/language/en-GB/en-GB.mod_weblinks.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_whosonline.ini b/language/en-GB/en-GB.mod_whosonline.ini index 3ec0f2f454214..6ab575cb31f9f 100644 --- a/language/en-GB/en-GB.mod_whosonline.ini +++ b/language/en-GB/en-GB.mod_whosonline.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_whosonline.sys.ini b/language/en-GB/en-GB.mod_whosonline.sys.ini index 8e34f78e013a3..f205a3b73a0e5 100644 --- a/language/en-GB/en-GB.mod_whosonline.sys.ini +++ b/language/en-GB/en-GB.mod_whosonline.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_wrapper.ini b/language/en-GB/en-GB.mod_wrapper.ini index 66e32bdbe1ce8..103d9cb8f47ce 100644 --- a/language/en-GB/en-GB.mod_wrapper.ini +++ b/language/en-GB/en-GB.mod_wrapper.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.mod_wrapper.sys.ini b/language/en-GB/en-GB.mod_wrapper.sys.ini index 4b4ea98af65b8..1e293bf23d023 100644 --- a/language/en-GB/en-GB.mod_wrapper.sys.ini +++ b/language/en-GB/en-GB.mod_wrapper.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.tpl_beez3.ini b/language/en-GB/en-GB.tpl_beez3.ini index d99f2b884d2a0..6791e034191b5 100644 --- a/language/en-GB/en-GB.tpl_beez3.ini +++ b/language/en-GB/en-GB.tpl_beez3.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.tpl_beez3.sys.ini b/language/en-GB/en-GB.tpl_beez3.sys.ini index dfd0297f205d9..2df22d3920ba5 100644 --- a/language/en-GB/en-GB.tpl_beez3.sys.ini +++ b/language/en-GB/en-GB.tpl_beez3.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.tpl_protostar.ini b/language/en-GB/en-GB.tpl_protostar.ini index dc26ce514cce9..8aafa52fd7fcc 100644 --- a/language/en-GB/en-GB.tpl_protostar.ini +++ b/language/en-GB/en-GB.tpl_protostar.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.tpl_protostar.sys.ini b/language/en-GB/en-GB.tpl_protostar.sys.ini index 3794835115d2b..767ee10971d2d 100644 --- a/language/en-GB/en-GB.tpl_protostar.sys.ini +++ b/language/en-GB/en-GB.tpl_protostar.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 14dfee5b897a0..9963287a49779 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,11 +2,11 @@ <metafile version="3.8" client="site"> <name>English (en-GB)</name> <version>3.8.4</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description><![CDATA[en-GB site language]]></description> <metadata> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 6b4ffcf04cbd1..b4c40fb5ca199 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,11 +3,11 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.4</version> - <creationDate>December 2017</creationDate> + <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>en-GB site language</description> <files> diff --git a/layouts/joomla/content/associations.php b/layouts/joomla/content/associations.php index 87c9556337e2e..37e6278f2ef2a 100644 --- a/layouts/joomla/content/associations.php +++ b/layouts/joomla/content/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/blog_style_default_item_title.php b/layouts/joomla/content/blog_style_default_item_title.php index 67fc5bad2e4ce..80a9e7c6da73b 100644 --- a/layouts/joomla/content/blog_style_default_item_title.php +++ b/layouts/joomla/content/blog_style_default_item_title.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/blog_style_default_links.php b/layouts/joomla/content/blog_style_default_links.php index 8e1ed773fba21..249ca028ed144 100644 --- a/layouts/joomla/content/blog_style_default_links.php +++ b/layouts/joomla/content/blog_style_default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/categories_default.php b/layouts/joomla/content/categories_default.php index 1a906c9b0cd02..7a6e1dabc24fc 100644 --- a/layouts/joomla/content/categories_default.php +++ b/layouts/joomla/content/categories_default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/categories_default_items.php b/layouts/joomla/content/categories_default_items.php index e0b0b1c2dc1fc..cede03f5afc6e 100644 --- a/layouts/joomla/content/categories_default_items.php +++ b/layouts/joomla/content/categories_default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/category_default.php b/layouts/joomla/content/category_default.php index fc4004c4d9dad..c4c0ca050b186 100644 --- a/layouts/joomla/content/category_default.php +++ b/layouts/joomla/content/category_default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/full_image.php b/layouts/joomla/content/full_image.php index cdcada29c0a44..58f436db98368 100644 --- a/layouts/joomla/content/full_image.php +++ b/layouts/joomla/content/full_image.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons.php b/layouts/joomla/content/icons.php index 38dac8b2a3015..a7e5d0dd3caf8 100644 --- a/layouts/joomla/content/icons.php +++ b/layouts/joomla/content/icons.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/create.php b/layouts/joomla/content/icons/create.php index 690f4b6700440..81b845516099f 100644 --- a/layouts/joomla/content/icons/create.php +++ b/layouts/joomla/content/icons/create.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/edit.php b/layouts/joomla/content/icons/edit.php index 17b885fc33198..2258f7548aa6a 100644 --- a/layouts/joomla/content/icons/edit.php +++ b/layouts/joomla/content/icons/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/edit_lock.php b/layouts/joomla/content/icons/edit_lock.php index ab651d3386581..8dcd8666319f9 100644 --- a/layouts/joomla/content/icons/edit_lock.php +++ b/layouts/joomla/content/icons/edit_lock.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/email.php b/layouts/joomla/content/icons/email.php index c96305e33a120..4190b0c2cd081 100644 --- a/layouts/joomla/content/icons/email.php +++ b/layouts/joomla/content/icons/email.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/print_popup.php b/layouts/joomla/content/icons/print_popup.php index 852b7c1dafea6..36edc29f308a8 100644 --- a/layouts/joomla/content/icons/print_popup.php +++ b/layouts/joomla/content/icons/print_popup.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/icons/print_screen.php b/layouts/joomla/content/icons/print_screen.php index 852b7c1dafea6..36edc29f308a8 100644 --- a/layouts/joomla/content/icons/print_screen.php +++ b/layouts/joomla/content/icons/print_screen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block.php b/layouts/joomla/content/info_block.php index 6aa3be1be6bfd..57c2d94bd82fe 100644 --- a/layouts/joomla/content/info_block.php +++ b/layouts/joomla/content/info_block.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/associations.php b/layouts/joomla/content/info_block/associations.php index 02da4986c7c7e..6bef59dde2ddb 100644 --- a/layouts/joomla/content/info_block/associations.php +++ b/layouts/joomla/content/info_block/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/author.php b/layouts/joomla/content/info_block/author.php index e047fbd7785ae..195688b474ba8 100644 --- a/layouts/joomla/content/info_block/author.php +++ b/layouts/joomla/content/info_block/author.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/block.php b/layouts/joomla/content/info_block/block.php index bbe8d9f538159..ec3f1c40ef06c 100644 --- a/layouts/joomla/content/info_block/block.php +++ b/layouts/joomla/content/info_block/block.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/category.php b/layouts/joomla/content/info_block/category.php index d54394ed309cc..2e9c05fa7d0c4 100644 --- a/layouts/joomla/content/info_block/category.php +++ b/layouts/joomla/content/info_block/category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/create_date.php b/layouts/joomla/content/info_block/create_date.php index 75d7ddd603599..906f74489c3df 100644 --- a/layouts/joomla/content/info_block/create_date.php +++ b/layouts/joomla/content/info_block/create_date.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/hits.php b/layouts/joomla/content/info_block/hits.php index a3fee5b140417..475ddfeeedecd 100644 --- a/layouts/joomla/content/info_block/hits.php +++ b/layouts/joomla/content/info_block/hits.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/modify_date.php b/layouts/joomla/content/info_block/modify_date.php index cebe139a3fff1..d16fb02120f36 100644 --- a/layouts/joomla/content/info_block/modify_date.php +++ b/layouts/joomla/content/info_block/modify_date.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/parent_category.php b/layouts/joomla/content/info_block/parent_category.php index 0407c161b8fe4..c9fe84626400a 100644 --- a/layouts/joomla/content/info_block/parent_category.php +++ b/layouts/joomla/content/info_block/parent_category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/info_block/publish_date.php b/layouts/joomla/content/info_block/publish_date.php index 70ed8a4ebee32..d8598f4d8681d 100644 --- a/layouts/joomla/content/info_block/publish_date.php +++ b/layouts/joomla/content/info_block/publish_date.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/intro_image.php b/layouts/joomla/content/intro_image.php index 072087425474d..97b4279e9f46e 100644 --- a/layouts/joomla/content/intro_image.php +++ b/layouts/joomla/content/intro_image.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/language.php b/layouts/joomla/content/language.php index 385636f426418..4035b44fbfd4e 100644 --- a/layouts/joomla/content/language.php +++ b/layouts/joomla/content/language.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/options_default.php b/layouts/joomla/content/options_default.php index 7874f71ae8f99..1abefa572cc66 100644 --- a/layouts/joomla/content/options_default.php +++ b/layouts/joomla/content/options_default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/readmore.php b/layouts/joomla/content/readmore.php index c12418fa5b9db..14c606f288c51 100644 --- a/layouts/joomla/content/readmore.php +++ b/layouts/joomla/content/readmore.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/tags.php b/layouts/joomla/content/tags.php index ef2a6e0016bd4..94a1053d512b0 100644 --- a/layouts/joomla/content/tags.php +++ b/layouts/joomla/content/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/content/text_filters.php b/layouts/joomla/content/text_filters.php index 51ea0a43ab5f3..7a47550774628 100644 --- a/layouts/joomla/content/text_filters.php +++ b/layouts/joomla/content/text_filters.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/associations.php b/layouts/joomla/edit/associations.php index f8f58d613d9bf..e3c9f5001c143 100644 --- a/layouts/joomla/edit/associations.php +++ b/layouts/joomla/edit/associations.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/details.php b/layouts/joomla/edit/details.php index d1aa23660ff8a..0b5da7b2d58ec 100644 --- a/layouts/joomla/edit/details.php +++ b/layouts/joomla/edit/details.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @deprecated 3.2 removed without replacement in 4.0 see global.php for an alternative diff --git a/layouts/joomla/edit/fieldset.php b/layouts/joomla/edit/fieldset.php index ab15211622b9c..be7ff371db42a 100644 --- a/layouts/joomla/edit/fieldset.php +++ b/layouts/joomla/edit/fieldset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/frontediting_modules.php b/layouts/joomla/edit/frontediting_modules.php index d9af2ec8ee15f..83b554e0b9002 100644 --- a/layouts/joomla/edit/frontediting_modules.php +++ b/layouts/joomla/edit/frontediting_modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/global.php b/layouts/joomla/edit/global.php index 2da99eea13616..7670550a9e5d0 100644 --- a/layouts/joomla/edit/global.php +++ b/layouts/joomla/edit/global.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/item_title.php b/layouts/joomla/edit/item_title.php index fc0d08029b3d3..c438f4dafd7bf 100644 --- a/layouts/joomla/edit/item_title.php +++ b/layouts/joomla/edit/item_title.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @deprecated 3.2 diff --git a/layouts/joomla/edit/metadata.php b/layouts/joomla/edit/metadata.php index 2def10f460afa..5115d7c559eec 100644 --- a/layouts/joomla/edit/metadata.php +++ b/layouts/joomla/edit/metadata.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/params.php b/layouts/joomla/edit/params.php index fdb9401ea7234..041c01e29c059 100644 --- a/layouts/joomla/edit/params.php +++ b/layouts/joomla/edit/params.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/publishingdata.php b/layouts/joomla/edit/publishingdata.php index d1b742a9e9c62..c64bcb3b73e1c 100644 --- a/layouts/joomla/edit/publishingdata.php +++ b/layouts/joomla/edit/publishingdata.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/edit/title_alias.php b/layouts/joomla/edit/title_alias.php index b549616ae4b80..703b629173b8d 100644 --- a/layouts/joomla/edit/title_alias.php +++ b/layouts/joomla/edit/title_alias.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/editors/buttons.php b/layouts/joomla/editors/buttons.php index 0156c770b635e..e8ca66de93ea2 100644 --- a/layouts/joomla/editors/buttons.php +++ b/layouts/joomla/editors/buttons.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/editors/buttons/button.php b/layouts/joomla/editors/buttons/button.php index c8186e7250717..3d7d6d06582db 100644 --- a/layouts/joomla/editors/buttons/button.php +++ b/layouts/joomla/editors/buttons/button.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/error/backtrace.php b/layouts/joomla/error/backtrace.php index 15bc0eac59f6f..53dda9ecd903a 100644 --- a/layouts/joomla/error/backtrace.php +++ b/layouts/joomla/error/backtrace.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/calendar.php b/layouts/joomla/form/field/calendar.php index 4ce9f1bfd2f78..0f3bde9d410ac 100644 --- a/layouts/joomla/form/field/calendar.php +++ b/layouts/joomla/form/field/calendar.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/checkboxes.php b/layouts/joomla/form/field/checkboxes.php index dfeee8eb4375c..4d562166f08ea 100644 --- a/layouts/joomla/form/field/checkboxes.php +++ b/layouts/joomla/form/field/checkboxes.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/color/advanced.php b/layouts/joomla/form/field/color/advanced.php index ec3164d40ece5..4be8a9d1f963b 100644 --- a/layouts/joomla/form/field/color/advanced.php +++ b/layouts/joomla/form/field/color/advanced.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/color/simple.php b/layouts/joomla/form/field/color/simple.php index a124c51fcb6d8..7af694b40297e 100644 --- a/layouts/joomla/form/field/color/simple.php +++ b/layouts/joomla/form/field/color/simple.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/combo.php b/layouts/joomla/form/field/combo.php index 637ad4ee8d96d..f409cbccee842 100644 --- a/layouts/joomla/form/field/combo.php +++ b/layouts/joomla/form/field/combo.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/contenthistory.php b/layouts/joomla/form/field/contenthistory.php index 2e2f73e307550..395b731dd6d2f 100644 --- a/layouts/joomla/form/field/contenthistory.php +++ b/layouts/joomla/form/field/contenthistory.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/email.php b/layouts/joomla/form/field/email.php index 249a700270bac..381c824519dce 100644 --- a/layouts/joomla/form/field/email.php +++ b/layouts/joomla/form/field/email.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/file.php b/layouts/joomla/form/field/file.php index 95379f3e090fc..ffa525a066054 100644 --- a/layouts/joomla/form/field/file.php +++ b/layouts/joomla/form/field/file.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/hidden.php b/layouts/joomla/form/field/hidden.php index 12c19014eacc0..81f9685474dfb 100644 --- a/layouts/joomla/form/field/hidden.php +++ b/layouts/joomla/form/field/hidden.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/media.php b/layouts/joomla/form/field/media.php index 81a31007604df..2d4f0bd52cf5b 100644 --- a/layouts/joomla/form/field/media.php +++ b/layouts/joomla/form/field/media.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/meter.php b/layouts/joomla/form/field/meter.php index 0c396def633eb..2892dd4344c00 100644 --- a/layouts/joomla/form/field/meter.php +++ b/layouts/joomla/form/field/meter.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/moduleorder.php b/layouts/joomla/form/field/moduleorder.php index a64a55eaac5cc..f113ba0928aeb 100644 --- a/layouts/joomla/form/field/moduleorder.php +++ b/layouts/joomla/form/field/moduleorder.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/number.php b/layouts/joomla/form/field/number.php index e3f05bc51cd54..b9e41d72386a4 100644 --- a/layouts/joomla/form/field/number.php +++ b/layouts/joomla/form/field/number.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/password.php b/layouts/joomla/form/field/password.php index 88d05acd7804b..f6489e40e2996 100644 --- a/layouts/joomla/form/field/password.php +++ b/layouts/joomla/form/field/password.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/radio.php b/layouts/joomla/form/field/radio.php index 040a02dd14fe0..c6b28d96a72b2 100644 --- a/layouts/joomla/form/field/radio.php +++ b/layouts/joomla/form/field/radio.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/range.php b/layouts/joomla/form/field/range.php index eb78798c108ad..e8781448639a3 100644 --- a/layouts/joomla/form/field/range.php +++ b/layouts/joomla/form/field/range.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/default.php b/layouts/joomla/form/field/subform/default.php index 65e9687693f2a..797e01444d53a 100644 --- a/layouts/joomla/form/field/subform/default.php +++ b/layouts/joomla/form/field/subform/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable-table.php b/layouts/joomla/form/field/subform/repeatable-table.php index 720471fccb840..cc2cf3bcacf5e 100644 --- a/layouts/joomla/form/field/subform/repeatable-table.php +++ b/layouts/joomla/form/field/subform/repeatable-table.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable-table/section-byfieldsets.php b/layouts/joomla/form/field/subform/repeatable-table/section-byfieldsets.php index 86eab901d0291..717e7c88556e8 100644 --- a/layouts/joomla/form/field/subform/repeatable-table/section-byfieldsets.php +++ b/layouts/joomla/form/field/subform/repeatable-table/section-byfieldsets.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable-table/section.php b/layouts/joomla/form/field/subform/repeatable-table/section.php index 32f002624dea4..2b0a3a0290244 100644 --- a/layouts/joomla/form/field/subform/repeatable-table/section.php +++ b/layouts/joomla/form/field/subform/repeatable-table/section.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable.php b/layouts/joomla/form/field/subform/repeatable.php index cf786c683f69d..72f5344f56b88 100644 --- a/layouts/joomla/form/field/subform/repeatable.php +++ b/layouts/joomla/form/field/subform/repeatable.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable/section-byfieldsets.php b/layouts/joomla/form/field/subform/repeatable/section-byfieldsets.php index d482fae88ee58..01b5d93e22d49 100644 --- a/layouts/joomla/form/field/subform/repeatable/section-byfieldsets.php +++ b/layouts/joomla/form/field/subform/repeatable/section-byfieldsets.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/subform/repeatable/section.php b/layouts/joomla/form/field/subform/repeatable/section.php index 0a1325545e1aa..2fb6e67b1fb6b 100644 --- a/layouts/joomla/form/field/subform/repeatable/section.php +++ b/layouts/joomla/form/field/subform/repeatable/section.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/tel.php b/layouts/joomla/form/field/tel.php index 5dafec7027fe2..3da061ac236c0 100644 --- a/layouts/joomla/form/field/tel.php +++ b/layouts/joomla/form/field/tel.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/text.php b/layouts/joomla/form/field/text.php index 21abb1ceff8c3..a5c4ac909be51 100644 --- a/layouts/joomla/form/field/text.php +++ b/layouts/joomla/form/field/text.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/textarea.php b/layouts/joomla/form/field/textarea.php index a2eddc68180f4..6073424be4590 100644 --- a/layouts/joomla/form/field/textarea.php +++ b/layouts/joomla/form/field/textarea.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/url.php b/layouts/joomla/form/field/url.php index c28186f4206d7..7771efcf5965e 100644 --- a/layouts/joomla/form/field/url.php +++ b/layouts/joomla/form/field/url.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/field/user.php b/layouts/joomla/form/field/user.php index 95e6e7c9e7afd..23f7504e0f024 100644 --- a/layouts/joomla/form/field/user.php +++ b/layouts/joomla/form/field/user.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/renderfield.php b/layouts/joomla/form/renderfield.php index cf2c1dc1e54cd..96e8c58d72629 100644 --- a/layouts/joomla/form/renderfield.php +++ b/layouts/joomla/form/renderfield.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/form/renderlabel.php b/layouts/joomla/form/renderlabel.php index fd189e45e2594..c5fb3636b42e2 100644 --- a/layouts/joomla/form/renderlabel.php +++ b/layouts/joomla/form/renderlabel.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/access.php b/layouts/joomla/html/batch/access.php index c1c9f006e5b3f..47b4bff9a2e51 100644 --- a/layouts/joomla/html/batch/access.php +++ b/layouts/joomla/html/batch/access.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/adminlanguage.php b/layouts/joomla/html/batch/adminlanguage.php index ebb1221fe084c..2c8c70fd44f44 100644 --- a/layouts/joomla/html/batch/adminlanguage.php +++ b/layouts/joomla/html/batch/adminlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/item.php b/layouts/joomla/html/batch/item.php index 28b9ff7e1bab3..fe7b4d8f8f9c1 100644 --- a/layouts/joomla/html/batch/item.php +++ b/layouts/joomla/html/batch/item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/language.php b/layouts/joomla/html/batch/language.php index a978ac0d77d2c..c4c237fdd13e1 100644 --- a/layouts/joomla/html/batch/language.php +++ b/layouts/joomla/html/batch/language.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/tag.php b/layouts/joomla/html/batch/tag.php index c4b04ad9c2001..ab3041736b3e6 100644 --- a/layouts/joomla/html/batch/tag.php +++ b/layouts/joomla/html/batch/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/batch/user.php b/layouts/joomla/html/batch/user.php index add5f3cb8eabf..4ecaf0f69b7d5 100644 --- a/layouts/joomla/html/batch/user.php +++ b/layouts/joomla/html/batch/user.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/formbehavior/ajaxchosen.php b/layouts/joomla/html/formbehavior/ajaxchosen.php index 38ad4fcdcdbff..0bc50513a2b61 100644 --- a/layouts/joomla/html/formbehavior/ajaxchosen.php +++ b/layouts/joomla/html/formbehavior/ajaxchosen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/formbehavior/chosen.php b/layouts/joomla/html/formbehavior/chosen.php index 6c8aab16145c9..ed17e9429f444 100644 --- a/layouts/joomla/html/formbehavior/chosen.php +++ b/layouts/joomla/html/formbehavior/chosen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/sortablelist.php b/layouts/joomla/html/sortablelist.php index bfdbbe2416691..2cd4ca00de29d 100644 --- a/layouts/joomla/html/sortablelist.php +++ b/layouts/joomla/html/sortablelist.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/tag.php b/layouts/joomla/html/tag.php index d765a05a2f124..3c2a6d7735351 100644 --- a/layouts/joomla/html/tag.php +++ b/layouts/joomla/html/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/html/treeprefix.php b/layouts/joomla/html/treeprefix.php index d53c1e3d1abd4..80d97252fecc3 100644 --- a/layouts/joomla/html/treeprefix.php +++ b/layouts/joomla/html/treeprefix.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/groupclose.php b/layouts/joomla/links/groupclose.php index 15e8ee67e0f70..2490cda3b0046 100644 --- a/layouts/joomla/links/groupclose.php +++ b/layouts/joomla/links/groupclose.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/groupopen.php b/layouts/joomla/links/groupopen.php index 1515b90a29ac2..12ec4a4767f18 100644 --- a/layouts/joomla/links/groupopen.php +++ b/layouts/joomla/links/groupopen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/groupsclose.php b/layouts/joomla/links/groupsclose.php index 8d7b88b41a67b..5e84c660ab473 100644 --- a/layouts/joomla/links/groupsclose.php +++ b/layouts/joomla/links/groupsclose.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/groupseparator.php b/layouts/joomla/links/groupseparator.php index b99404977038d..1b6df93d162ba 100644 --- a/layouts/joomla/links/groupseparator.php +++ b/layouts/joomla/links/groupseparator.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/groupsopen.php b/layouts/joomla/links/groupsopen.php index 930d59eae6035..8aa839511ee20 100644 --- a/layouts/joomla/links/groupsopen.php +++ b/layouts/joomla/links/groupsopen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/links/link.php b/layouts/joomla/links/link.php index 9db8c3ff347e0..29f7717d594e0 100644 --- a/layouts/joomla/links/link.php +++ b/layouts/joomla/links/link.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/modal/body.php b/layouts/joomla/modal/body.php index c7c61addde473..df7af5d8af079 100644 --- a/layouts/joomla/modal/body.php +++ b/layouts/joomla/modal/body.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/modal/footer.php b/layouts/joomla/modal/footer.php index 1ec1aefcc842d..e1a9af022abf5 100644 --- a/layouts/joomla/modal/footer.php +++ b/layouts/joomla/modal/footer.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/modal/header.php b/layouts/joomla/modal/header.php index 4013f99e327bd..5cc8f02432b26 100644 --- a/layouts/joomla/modal/header.php +++ b/layouts/joomla/modal/header.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/modal/iframe.php b/layouts/joomla/modal/iframe.php index 89e25673f84e2..fc953050e687e 100644 --- a/layouts/joomla/modal/iframe.php +++ b/layouts/joomla/modal/iframe.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/modal/main.php b/layouts/joomla/modal/main.php index 951ba85c57b62..9b38f01ac8cf9 100644 --- a/layouts/joomla/modal/main.php +++ b/layouts/joomla/modal/main.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/pagination/link.php b/layouts/joomla/pagination/link.php index 2670107b53bd2..529569655fbb7 100644 --- a/layouts/joomla/pagination/link.php +++ b/layouts/joomla/pagination/link.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/pagination/links.php b/layouts/joomla/pagination/links.php index 27ba6ed158a85..06a6cd30aa4a7 100644 --- a/layouts/joomla/pagination/links.php +++ b/layouts/joomla/pagination/links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/pagination/list.php b/layouts/joomla/pagination/list.php index 5b789cb712389..b569140239023 100644 --- a/layouts/joomla/pagination/list.php +++ b/layouts/joomla/pagination/list.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/quickicons/icon.php b/layouts/joomla/quickicons/icon.php index 7930d2744495f..db9ce4b32c1ad 100644 --- a/layouts/joomla/quickicons/icon.php +++ b/layouts/joomla/quickicons/icon.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default.php b/layouts/joomla/searchtools/default.php index 90061c83fd1f5..0ba7bea44aaba 100644 --- a/layouts/joomla/searchtools/default.php +++ b/layouts/joomla/searchtools/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default/bar.php b/layouts/joomla/searchtools/default/bar.php index 115d5faaef9df..4855e401f8302 100644 --- a/layouts/joomla/searchtools/default/bar.php +++ b/layouts/joomla/searchtools/default/bar.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default/filters.php b/layouts/joomla/searchtools/default/filters.php index 9edd5be9d7a9d..918f047122bbc 100644 --- a/layouts/joomla/searchtools/default/filters.php +++ b/layouts/joomla/searchtools/default/filters.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default/list.php b/layouts/joomla/searchtools/default/list.php index d7964a91293a3..d188e1cea40ec 100644 --- a/layouts/joomla/searchtools/default/list.php +++ b/layouts/joomla/searchtools/default/list.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default/noitems.php b/layouts/joomla/searchtools/default/noitems.php index d5450306b4b8e..ea52dde1c6c00 100644 --- a/layouts/joomla/searchtools/default/noitems.php +++ b/layouts/joomla/searchtools/default/noitems.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/default/selector.php b/layouts/joomla/searchtools/default/selector.php index 85f525a77d264..8ff36d1d0f6ca 100644 --- a/layouts/joomla/searchtools/default/selector.php +++ b/layouts/joomla/searchtools/default/selector.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/searchtools/grid/sort.php b/layouts/joomla/searchtools/grid/sort.php index 9296526ee4ec5..b427302b4d105 100644 --- a/layouts/joomla/searchtools/grid/sort.php +++ b/layouts/joomla/searchtools/grid/sort.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/sidebars/submenu.php b/layouts/joomla/sidebars/submenu.php index 574ffd52f5be5..e9a4f5bcfe78d 100644 --- a/layouts/joomla/sidebars/submenu.php +++ b/layouts/joomla/sidebars/submenu.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/sidebars/toggle.php b/layouts/joomla/sidebars/toggle.php index a3d7be44d72cb..4a7b64f707cf2 100644 --- a/layouts/joomla/sidebars/toggle.php +++ b/layouts/joomla/sidebars/toggle.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/system/message.php b/layouts/joomla/system/message.php index 018b0800aac0b..74feabf1adcb4 100644 --- a/layouts/joomla/system/message.php +++ b/layouts/joomla/system/message.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/tinymce/buttons.php b/layouts/joomla/tinymce/buttons.php index e35abcd168da0..3ffbaf9c0d78c 100644 --- a/layouts/joomla/tinymce/buttons.php +++ b/layouts/joomla/tinymce/buttons.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/tinymce/buttons/button.php b/layouts/joomla/tinymce/buttons/button.php index 9f697d72aab25..0de6f43f6f74c 100644 --- a/layouts/joomla/tinymce/buttons/button.php +++ b/layouts/joomla/tinymce/buttons/button.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/tinymce/textarea.php b/layouts/joomla/tinymce/textarea.php index c116c3a2f4118..d150cef02f079 100644 --- a/layouts/joomla/tinymce/textarea.php +++ b/layouts/joomla/tinymce/textarea.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/tinymce/togglebutton.php b/layouts/joomla/tinymce/togglebutton.php index 4517e6edca899..3a339bf386fe3 100644 --- a/layouts/joomla/tinymce/togglebutton.php +++ b/layouts/joomla/tinymce/togglebutton.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/base.php b/layouts/joomla/toolbar/base.php index 24a78d5d2ac7c..2158b36035422 100644 --- a/layouts/joomla/toolbar/base.php +++ b/layouts/joomla/toolbar/base.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/batch.php b/layouts/joomla/toolbar/batch.php index ac7f39e1c6833..c239d91fd0e4d 100644 --- a/layouts/joomla/toolbar/batch.php +++ b/layouts/joomla/toolbar/batch.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/confirm.php b/layouts/joomla/toolbar/confirm.php index 6cc072ad2d34a..71e70d64969cb 100644 --- a/layouts/joomla/toolbar/confirm.php +++ b/layouts/joomla/toolbar/confirm.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/containerclose.php b/layouts/joomla/toolbar/containerclose.php index 8d7b88b41a67b..5e84c660ab473 100644 --- a/layouts/joomla/toolbar/containerclose.php +++ b/layouts/joomla/toolbar/containerclose.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/containeropen.php b/layouts/joomla/toolbar/containeropen.php index c53013655dc6d..99277147beaf5 100644 --- a/layouts/joomla/toolbar/containeropen.php +++ b/layouts/joomla/toolbar/containeropen.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/help.php b/layouts/joomla/toolbar/help.php index 4a21b4e26ba78..7f79f63688227 100644 --- a/layouts/joomla/toolbar/help.php +++ b/layouts/joomla/toolbar/help.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/iconclass.php b/layouts/joomla/toolbar/iconclass.php index e421aa1a88999..aef3b44351789 100644 --- a/layouts/joomla/toolbar/iconclass.php +++ b/layouts/joomla/toolbar/iconclass.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/link.php b/layouts/joomla/toolbar/link.php index 9b825883283b4..a766647ba651f 100644 --- a/layouts/joomla/toolbar/link.php +++ b/layouts/joomla/toolbar/link.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/modal.php b/layouts/joomla/toolbar/modal.php index 13fda4c7b9477..96841ddcfdad8 100644 --- a/layouts/joomla/toolbar/modal.php +++ b/layouts/joomla/toolbar/modal.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/popup.php b/layouts/joomla/toolbar/popup.php index 562cb597d4c92..a3e654e82ed3e 100644 --- a/layouts/joomla/toolbar/popup.php +++ b/layouts/joomla/toolbar/popup.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/separator.php b/layouts/joomla/toolbar/separator.php index 215d58fc5e2b1..8d99a63ec9f3e 100644 --- a/layouts/joomla/toolbar/separator.php +++ b/layouts/joomla/toolbar/separator.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/slider.php b/layouts/joomla/toolbar/slider.php index ff4fbffac62bd..4189fbcb6671b 100644 --- a/layouts/joomla/toolbar/slider.php +++ b/layouts/joomla/toolbar/slider.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/standard.php b/layouts/joomla/toolbar/standard.php index 743d0fea8b1f5..3a267940d0359 100644 --- a/layouts/joomla/toolbar/standard.php +++ b/layouts/joomla/toolbar/standard.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/title.php b/layouts/joomla/toolbar/title.php index e297d69c23c13..283934c38730e 100644 --- a/layouts/joomla/toolbar/title.php +++ b/layouts/joomla/toolbar/title.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/joomla/toolbar/versions.php b/layouts/joomla/toolbar/versions.php index f6b2cd5711289..4590cd8133136 100644 --- a/layouts/joomla/toolbar/versions.php +++ b/layouts/joomla/toolbar/versions.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/addtab.php b/layouts/libraries/cms/html/bootstrap/addtab.php index fa9a2399b00a8..a7c5cd3e2c464 100644 --- a/layouts/libraries/cms/html/bootstrap/addtab.php +++ b/layouts/libraries/cms/html/bootstrap/addtab.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/addtabscript.php b/layouts/libraries/cms/html/bootstrap/addtabscript.php index 889e22cf7c3bb..4166d3a36bd29 100644 --- a/layouts/libraries/cms/html/bootstrap/addtabscript.php +++ b/layouts/libraries/cms/html/bootstrap/addtabscript.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/endtab.php b/layouts/libraries/cms/html/bootstrap/endtab.php index 3564d5919f9cc..6e0d076ad8539 100644 --- a/layouts/libraries/cms/html/bootstrap/endtab.php +++ b/layouts/libraries/cms/html/bootstrap/endtab.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/endtabset.php b/layouts/libraries/cms/html/bootstrap/endtabset.php index 3564d5919f9cc..6e0d076ad8539 100644 --- a/layouts/libraries/cms/html/bootstrap/endtabset.php +++ b/layouts/libraries/cms/html/bootstrap/endtabset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/starttabset.php b/layouts/libraries/cms/html/bootstrap/starttabset.php index 467fd6f154057..1a36ce200e20d 100644 --- a/layouts/libraries/cms/html/bootstrap/starttabset.php +++ b/layouts/libraries/cms/html/bootstrap/starttabset.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/libraries/cms/html/bootstrap/starttabsetscript.php b/layouts/libraries/cms/html/bootstrap/starttabsetscript.php index d2e32e935dfcf..109632f927fba 100644 --- a/layouts/libraries/cms/html/bootstrap/starttabsetscript.php +++ b/layouts/libraries/cms/html/bootstrap/starttabsetscript.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/plugins/editors/tinymce/field/tinymcebuilder.php b/layouts/plugins/editors/tinymce/field/tinymcebuilder.php index 758dc0056cdb9..25b7699527226 100644 --- a/layouts/plugins/editors/tinymce/field/tinymcebuilder.php +++ b/layouts/plugins/editors/tinymce/field/tinymcebuilder.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/plugins/editors/tinymce/field/tinymcebuilder/setoptions.php b/layouts/plugins/editors/tinymce/field/tinymcebuilder/setoptions.php index 9ac99031fd639..e3d28115dd3e8 100644 --- a/layouts/plugins/editors/tinymce/field/tinymcebuilder/setoptions.php +++ b/layouts/plugins/editors/tinymce/field/tinymcebuilder/setoptions.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/layouts/plugins/user/profile/fields/dob.php b/layouts/plugins/user/profile/fields/dob.php index c2df4ea84e1c5..0c8eb14785df2 100644 --- a/layouts/plugins/user/profile/fields/dob.php +++ b/layouts/plugins/user/profile/fields/dob.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/classmap.php b/libraries/classmap.php index cc9c2151cdbfd..a21e22eff27f6 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -2,7 +2,7 @@ /** * @package Joomla.Libraries * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms.php b/libraries/cms.php index c68bc3d96b3fe..f15e07b037ac3 100644 --- a/libraries/cms.php +++ b/libraries/cms.php @@ -2,7 +2,7 @@ /** * @package Joomla.Libraries * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/class/loader.php b/libraries/cms/class/loader.php index 20d63be9d74d0..e91ef9752828e 100644 --- a/libraries/cms/class/loader.php +++ b/libraries/cms/class/loader.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage Class * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/access.php b/libraries/cms/html/access.php index a44b1bf5d3e77..751ba4f156d45 100644 --- a/libraries/cms/html/access.php +++ b/libraries/cms/html/access.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/actionsdropdown.php b/libraries/cms/html/actionsdropdown.php index a6c0cc0911957..4c142f42671fb 100644 --- a/libraries/cms/html/actionsdropdown.php +++ b/libraries/cms/html/actionsdropdown.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/adminlanguage.php b/libraries/cms/html/adminlanguage.php index 24edeb7bded1a..2d50612d6a314 100644 --- a/libraries/cms/html/adminlanguage.php +++ b/libraries/cms/html/adminlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/batch.php b/libraries/cms/html/batch.php index ef1ffead48094..14e929660ae7c 100644 --- a/libraries/cms/html/batch.php +++ b/libraries/cms/html/batch.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/behavior.php b/libraries/cms/html/behavior.php index b783b3209022c..c987151a4098b 100644 --- a/libraries/cms/html/behavior.php +++ b/libraries/cms/html/behavior.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/bootstrap.php b/libraries/cms/html/bootstrap.php index c0ee58b4070d8..e6dcb69e953e0 100644 --- a/libraries/cms/html/bootstrap.php +++ b/libraries/cms/html/bootstrap.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/category.php b/libraries/cms/html/category.php index b66a3d7df9c9c..99c6e773e12c1 100644 --- a/libraries/cms/html/category.php +++ b/libraries/cms/html/category.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/content.php b/libraries/cms/html/content.php index 7a5563b3ef032..f3917aa1ed710 100644 --- a/libraries/cms/html/content.php +++ b/libraries/cms/html/content.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/contentlanguage.php b/libraries/cms/html/contentlanguage.php index e27c1a342df6a..5e629a26605e8 100644 --- a/libraries/cms/html/contentlanguage.php +++ b/libraries/cms/html/contentlanguage.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/date.php b/libraries/cms/html/date.php index 756ad768d2d6e..b16ce8e1dcafd 100644 --- a/libraries/cms/html/date.php +++ b/libraries/cms/html/date.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/debug.php b/libraries/cms/html/debug.php index 468bbf3003fb1..72cdb2e2029cb 100644 --- a/libraries/cms/html/debug.php +++ b/libraries/cms/html/debug.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/dropdown.php b/libraries/cms/html/dropdown.php index aa2adb89b6957..79db36789087c 100644 --- a/libraries/cms/html/dropdown.php +++ b/libraries/cms/html/dropdown.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/email.php b/libraries/cms/html/email.php index 76959fa29c28c..dfbb76be7f71e 100644 --- a/libraries/cms/html/email.php +++ b/libraries/cms/html/email.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/form.php b/libraries/cms/html/form.php index c1f62a818240f..cf40e583e9c81 100644 --- a/libraries/cms/html/form.php +++ b/libraries/cms/html/form.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/formbehavior.php b/libraries/cms/html/formbehavior.php index f29bc80c0c1bb..86d13cc680fff 100644 --- a/libraries/cms/html/formbehavior.php +++ b/libraries/cms/html/formbehavior.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/grid.php b/libraries/cms/html/grid.php index ffe86f28e7163..0702cd197d539 100644 --- a/libraries/cms/html/grid.php +++ b/libraries/cms/html/grid.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/icons.php b/libraries/cms/html/icons.php index 93d9c9880f247..6cee1d292043b 100644 --- a/libraries/cms/html/icons.php +++ b/libraries/cms/html/icons.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/jgrid.php b/libraries/cms/html/jgrid.php index d45b2f478970a..bf8ae118d9f7e 100644 --- a/libraries/cms/html/jgrid.php +++ b/libraries/cms/html/jgrid.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/jquery.php b/libraries/cms/html/jquery.php index bb4d706ddcf9a..a8333f8ddecfa 100644 --- a/libraries/cms/html/jquery.php +++ b/libraries/cms/html/jquery.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/language/en-GB/en-GB.jhtmldate.ini b/libraries/cms/html/language/en-GB/en-GB.jhtmldate.ini index e8ef4fe5ff7c3..6254ee9d1e4f2 100644 --- a/libraries/cms/html/language/en-GB/en-GB.jhtmldate.ini +++ b/libraries/cms/html/language/en-GB/en-GB.jhtmldate.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/libraries/cms/html/links.php b/libraries/cms/html/links.php index cd952fc1bdc41..77ac96637f8dd 100644 --- a/libraries/cms/html/links.php +++ b/libraries/cms/html/links.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/list.php b/libraries/cms/html/list.php index 8a55ded7f1bba..6c4a2ed1ac98b 100644 --- a/libraries/cms/html/list.php +++ b/libraries/cms/html/list.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/menu.php b/libraries/cms/html/menu.php index 5bd4d22de9a03..4a98c6472f65f 100644 --- a/libraries/cms/html/menu.php +++ b/libraries/cms/html/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/number.php b/libraries/cms/html/number.php index 7f902c52a9588..fb00b3ef4d949 100644 --- a/libraries/cms/html/number.php +++ b/libraries/cms/html/number.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/rules.php b/libraries/cms/html/rules.php index a2f4627b89c88..971ac4c7d74a1 100644 --- a/libraries/cms/html/rules.php +++ b/libraries/cms/html/rules.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/searchtools.php b/libraries/cms/html/searchtools.php index a40b209283c3e..cc272d6aca996 100644 --- a/libraries/cms/html/searchtools.php +++ b/libraries/cms/html/searchtools.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/select.php b/libraries/cms/html/select.php index 3cccd385b7d77..82799b1ccc67a 100644 --- a/libraries/cms/html/select.php +++ b/libraries/cms/html/select.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/sidebar.php b/libraries/cms/html/sidebar.php index 7aa136ab73b5c..e03d420f220e1 100644 --- a/libraries/cms/html/sidebar.php +++ b/libraries/cms/html/sidebar.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/sliders.php b/libraries/cms/html/sliders.php index 5e787ba89b842..a4e9924a5ec5b 100644 --- a/libraries/cms/html/sliders.php +++ b/libraries/cms/html/sliders.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/sortablelist.php b/libraries/cms/html/sortablelist.php index 48171a811a8fd..f47c9922bc4f9 100644 --- a/libraries/cms/html/sortablelist.php +++ b/libraries/cms/html/sortablelist.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/string.php b/libraries/cms/html/string.php index 5f375e4b861fe..bf5a38fe3dd41 100644 --- a/libraries/cms/html/string.php +++ b/libraries/cms/html/string.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/tabs.php b/libraries/cms/html/tabs.php index 19727861471f9..ea46e746ed96c 100644 --- a/libraries/cms/html/tabs.php +++ b/libraries/cms/html/tabs.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/tag.php b/libraries/cms/html/tag.php index b9ec4d7851c28..269d1cc945a89 100644 --- a/libraries/cms/html/tag.php +++ b/libraries/cms/html/tag.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/tel.php b/libraries/cms/html/tel.php index b397dd36d4120..e12047f06ff62 100644 --- a/libraries/cms/html/tel.php +++ b/libraries/cms/html/tel.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/html/user.php b/libraries/cms/html/user.php index 22112d4356e81..e071981099443 100644 --- a/libraries/cms/html/user.php +++ b/libraries/cms/html/user.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/less/formatter/joomla.php b/libraries/cms/less/formatter/joomla.php index e991c5d4809c2..52649d3a784fa 100644 --- a/libraries/cms/less/formatter/joomla.php +++ b/libraries/cms/less/formatter/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage Less * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/cms/less/less.php b/libraries/cms/less/less.php index 1c8a5864a3b03..7aff4560b30c1 100644 --- a/libraries/cms/less/less.php +++ b/libraries/cms/less/less.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage LESS * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/import.legacy.php b/libraries/import.legacy.php index 461d6140fe048..007101918705a 100644 --- a/libraries/import.legacy.php +++ b/libraries/import.legacy.php @@ -5,7 +5,7 @@ * * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/import.php b/libraries/import.php index 4fb5b34209f7a..730dd3c550fd4 100644 --- a/libraries/import.php +++ b/libraries/import.php @@ -5,7 +5,7 @@ * * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/joomla/application/web/router.php b/libraries/joomla/application/web/router.php index 50dabd9562880..9db709e04bab9 100644 --- a/libraries/joomla/application/web/router.php +++ b/libraries/joomla/application/web/router.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/application/web/router/base.php b/libraries/joomla/application/web/router/base.php index 919d91585696a..dfcd0e6d43d3f 100644 --- a/libraries/joomla/application/web/router/base.php +++ b/libraries/joomla/application/web/router/base.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/application/web/router/rest.php b/libraries/joomla/application/web/router/rest.php index 2c1f8ebc34c2a..a3a6150e53e65 100644 --- a/libraries/joomla/application/web/router/rest.php +++ b/libraries/joomla/application/web/router/rest.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/archive.php b/libraries/joomla/archive/archive.php index b2f2880e2701f..8bdecdd1d6004 100644 --- a/libraries/joomla/archive/archive.php +++ b/libraries/joomla/archive/archive.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/bzip2.php b/libraries/joomla/archive/bzip2.php index dff836442e483..b9e1d3952ea8a 100644 --- a/libraries/joomla/archive/bzip2.php +++ b/libraries/joomla/archive/bzip2.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/extractable.php b/libraries/joomla/archive/extractable.php index fdc5e55574b47..f3ffb8fbf4a4d 100644 --- a/libraries/joomla/archive/extractable.php +++ b/libraries/joomla/archive/extractable.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/gzip.php b/libraries/joomla/archive/gzip.php index b38d8a9404dce..9fe2dd96a1d49 100644 --- a/libraries/joomla/archive/gzip.php +++ b/libraries/joomla/archive/gzip.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/tar.php b/libraries/joomla/archive/tar.php index e825aa5343493..cb0007c2cd4fa 100644 --- a/libraries/joomla/archive/tar.php +++ b/libraries/joomla/archive/tar.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/wrapper/archive.php b/libraries/joomla/archive/wrapper/archive.php index d3331475f995b..9f3be9aafd6f5 100644 --- a/libraries/joomla/archive/wrapper/archive.php +++ b/libraries/joomla/archive/wrapper/archive.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/archive/zip.php b/libraries/joomla/archive/zip.php index e6afc51f5a30d..042b4fd7001b0 100644 --- a/libraries/joomla/archive/zip.php +++ b/libraries/joomla/archive/zip.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/base/adapter.php b/libraries/joomla/base/adapter.php index bf8b955362228..f03ca613197f2 100644 --- a/libraries/joomla/base/adapter.php +++ b/libraries/joomla/base/adapter.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/base/adapterinstance.php b/libraries/joomla/base/adapterinstance.php index 11189cdcede4f..54cd2e1cce176 100644 --- a/libraries/joomla/base/adapterinstance.php +++ b/libraries/joomla/base/adapterinstance.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/controller/base.php b/libraries/joomla/controller/base.php index 7ac68ab08c1e1..e087897a04802 100644 --- a/libraries/joomla/controller/base.php +++ b/libraries/joomla/controller/base.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/controller/controller.php b/libraries/joomla/controller/controller.php index d73871f03f725..ea44f1be17115 100644 --- a/libraries/joomla/controller/controller.php +++ b/libraries/joomla/controller/controller.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/database.php b/libraries/joomla/database/database.php index 63d351f4d773c..3f0030499311a 100644 --- a/libraries/joomla/database/database.php +++ b/libraries/joomla/database/database.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver.php b/libraries/joomla/database/driver.php index 769c0b8d0c588..f77101338011c 100644 --- a/libraries/joomla/database/driver.php +++ b/libraries/joomla/database/driver.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/mysql.php b/libraries/joomla/database/driver/mysql.php index af43ba4d44af1..c871efdfcffe4 100644 --- a/libraries/joomla/database/driver/mysql.php +++ b/libraries/joomla/database/driver/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/mysqli.php b/libraries/joomla/database/driver/mysqli.php index 36b975d3e90c1..e4876984b4b7d 100644 --- a/libraries/joomla/database/driver/mysqli.php +++ b/libraries/joomla/database/driver/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/oracle.php b/libraries/joomla/database/driver/oracle.php index 6e9babb89060b..70035c8a17e18 100644 --- a/libraries/joomla/database/driver/oracle.php +++ b/libraries/joomla/database/driver/oracle.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/pdo.php b/libraries/joomla/database/driver/pdo.php index 11c585c63ce3e..6f91f97c1fdbf 100644 --- a/libraries/joomla/database/driver/pdo.php +++ b/libraries/joomla/database/driver/pdo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/pdomysql.php b/libraries/joomla/database/driver/pdomysql.php index 2df375d9aae70..057dadbf55fda 100644 --- a/libraries/joomla/database/driver/pdomysql.php +++ b/libraries/joomla/database/driver/pdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/postgresql.php b/libraries/joomla/database/driver/postgresql.php index f5cfc5bd2c012..d47c5fdfc99b1 100644 --- a/libraries/joomla/database/driver/postgresql.php +++ b/libraries/joomla/database/driver/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/sqlazure.php b/libraries/joomla/database/driver/sqlazure.php index 925208b5de275..5bb7deca837b8 100644 --- a/libraries/joomla/database/driver/sqlazure.php +++ b/libraries/joomla/database/driver/sqlazure.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/sqlite.php b/libraries/joomla/database/driver/sqlite.php index 6fa12fdb81ced..b7319577b6657 100644 --- a/libraries/joomla/database/driver/sqlite.php +++ b/libraries/joomla/database/driver/sqlite.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/driver/sqlsrv.php b/libraries/joomla/database/driver/sqlsrv.php index 09fd95f41b348..74495279b6d93 100644 --- a/libraries/joomla/database/driver/sqlsrv.php +++ b/libraries/joomla/database/driver/sqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exception/connecting.php b/libraries/joomla/database/exception/connecting.php index 0e5a6dddbc948..9b0303b9ec246 100644 --- a/libraries/joomla/database/exception/connecting.php +++ b/libraries/joomla/database/exception/connecting.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exception/executing.php b/libraries/joomla/database/exception/executing.php index 59349d7279fa7..a79a366e0aa90 100644 --- a/libraries/joomla/database/exception/executing.php +++ b/libraries/joomla/database/exception/executing.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exception/unsupported.php b/libraries/joomla/database/exception/unsupported.php index 119d8470f3b06..7f8907f886eb2 100644 --- a/libraries/joomla/database/exception/unsupported.php +++ b/libraries/joomla/database/exception/unsupported.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exporter.php b/libraries/joomla/database/exporter.php index 957afe05950a6..08d49a264e4e3 100644 --- a/libraries/joomla/database/exporter.php +++ b/libraries/joomla/database/exporter.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exporter/mysql.php b/libraries/joomla/database/exporter/mysql.php index a707b76204156..a588a98d2741d 100644 --- a/libraries/joomla/database/exporter/mysql.php +++ b/libraries/joomla/database/exporter/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exporter/mysqli.php b/libraries/joomla/database/exporter/mysqli.php index e7c5a81da71ef..358ac6758d96a 100644 --- a/libraries/joomla/database/exporter/mysqli.php +++ b/libraries/joomla/database/exporter/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exporter/pdomysql.php b/libraries/joomla/database/exporter/pdomysql.php index be428b066d388..b902a213e5ed4 100644 --- a/libraries/joomla/database/exporter/pdomysql.php +++ b/libraries/joomla/database/exporter/pdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/exporter/postgresql.php b/libraries/joomla/database/exporter/postgresql.php index 563beea4a65c4..7bf5066b04bd1 100644 --- a/libraries/joomla/database/exporter/postgresql.php +++ b/libraries/joomla/database/exporter/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/factory.php b/libraries/joomla/database/factory.php index 85cfe6eceaa99..8f279ad063584 100644 --- a/libraries/joomla/database/factory.php +++ b/libraries/joomla/database/factory.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/importer.php b/libraries/joomla/database/importer.php index 6b798116c69b0..a5a5d7138b4de 100644 --- a/libraries/joomla/database/importer.php +++ b/libraries/joomla/database/importer.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/importer/mysql.php b/libraries/joomla/database/importer/mysql.php index 8d0c0ac90220c..d41d497bca170 100644 --- a/libraries/joomla/database/importer/mysql.php +++ b/libraries/joomla/database/importer/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/importer/mysqli.php b/libraries/joomla/database/importer/mysqli.php index 655ca14af5af9..6092153317bfe 100644 --- a/libraries/joomla/database/importer/mysqli.php +++ b/libraries/joomla/database/importer/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/importer/pdomysql.php b/libraries/joomla/database/importer/pdomysql.php index 74bb5e535546a..c65b35723f680 100644 --- a/libraries/joomla/database/importer/pdomysql.php +++ b/libraries/joomla/database/importer/pdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/importer/postgresql.php b/libraries/joomla/database/importer/postgresql.php index 1519d25dd9163..95815752876b5 100644 --- a/libraries/joomla/database/importer/postgresql.php +++ b/libraries/joomla/database/importer/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/interface.php b/libraries/joomla/database/interface.php index 431aad4998794..0917480937905 100644 --- a/libraries/joomla/database/interface.php +++ b/libraries/joomla/database/interface.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator.php b/libraries/joomla/database/iterator.php index a10716ad02099..2eecf54eab5e2 100644 --- a/libraries/joomla/database/iterator.php +++ b/libraries/joomla/database/iterator.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/mysql.php b/libraries/joomla/database/iterator/mysql.php index 8393197248303..1dc5b35874438 100644 --- a/libraries/joomla/database/iterator/mysql.php +++ b/libraries/joomla/database/iterator/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/mysqli.php b/libraries/joomla/database/iterator/mysqli.php index 7380bd11e98cd..0b316e7fcd423 100644 --- a/libraries/joomla/database/iterator/mysqli.php +++ b/libraries/joomla/database/iterator/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/oracle.php b/libraries/joomla/database/iterator/oracle.php index 9e9c1d274340c..cdaacd31382f9 100644 --- a/libraries/joomla/database/iterator/oracle.php +++ b/libraries/joomla/database/iterator/oracle.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/pdo.php b/libraries/joomla/database/iterator/pdo.php index bfb584410ec5d..0b9c6f91a0b54 100644 --- a/libraries/joomla/database/iterator/pdo.php +++ b/libraries/joomla/database/iterator/pdo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/pdomysql.php b/libraries/joomla/database/iterator/pdomysql.php index e79dfe68ab20a..a6c49fda89a85 100644 --- a/libraries/joomla/database/iterator/pdomysql.php +++ b/libraries/joomla/database/iterator/pdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/postgresql.php b/libraries/joomla/database/iterator/postgresql.php index a48e7cd91d9df..04a819e0520f2 100644 --- a/libraries/joomla/database/iterator/postgresql.php +++ b/libraries/joomla/database/iterator/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/sqlazure.php b/libraries/joomla/database/iterator/sqlazure.php index 71b0c16b1e4df..56983e2b3c989 100644 --- a/libraries/joomla/database/iterator/sqlazure.php +++ b/libraries/joomla/database/iterator/sqlazure.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/sqlite.php b/libraries/joomla/database/iterator/sqlite.php index 9710ce95da696..8073323445ee2 100644 --- a/libraries/joomla/database/iterator/sqlite.php +++ b/libraries/joomla/database/iterator/sqlite.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/iterator/sqlsrv.php b/libraries/joomla/database/iterator/sqlsrv.php index 068063028b1e8..a055447ab344c 100644 --- a/libraries/joomla/database/iterator/sqlsrv.php +++ b/libraries/joomla/database/iterator/sqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query.php b/libraries/joomla/database/query.php index 920f50acb3354..8b526ce029ea2 100644 --- a/libraries/joomla/database/query.php +++ b/libraries/joomla/database/query.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/element.php b/libraries/joomla/database/query/element.php index 4e22a8a320085..e5cbd84408cea 100644 --- a/libraries/joomla/database/query/element.php +++ b/libraries/joomla/database/query/element.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/limitable.php b/libraries/joomla/database/query/limitable.php index 7533855578533..03e40f95fe6b7 100644 --- a/libraries/joomla/database/query/limitable.php +++ b/libraries/joomla/database/query/limitable.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/mysql.php b/libraries/joomla/database/query/mysql.php index ec4cc815859dc..5b9fb1ff18dec 100644 --- a/libraries/joomla/database/query/mysql.php +++ b/libraries/joomla/database/query/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/mysqli.php b/libraries/joomla/database/query/mysqli.php index cd07eb1ffad2f..d6cae973e8721 100644 --- a/libraries/joomla/database/query/mysqli.php +++ b/libraries/joomla/database/query/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/oracle.php b/libraries/joomla/database/query/oracle.php index c05bc39e53f69..2dd5a6c02f501 100644 --- a/libraries/joomla/database/query/oracle.php +++ b/libraries/joomla/database/query/oracle.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/pdo.php b/libraries/joomla/database/query/pdo.php index 4cf66cce49c16..784db831f4e5c 100644 --- a/libraries/joomla/database/query/pdo.php +++ b/libraries/joomla/database/query/pdo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/pdomysql.php b/libraries/joomla/database/query/pdomysql.php index b5304617a2bf9..301e65468b255 100644 --- a/libraries/joomla/database/query/pdomysql.php +++ b/libraries/joomla/database/query/pdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/postgresql.php b/libraries/joomla/database/query/postgresql.php index bd54db4b94bb9..4d6e773e824ee 100644 --- a/libraries/joomla/database/query/postgresql.php +++ b/libraries/joomla/database/query/postgresql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/preparable.php b/libraries/joomla/database/query/preparable.php index 4da72c6f0f735..15f9c24f5359e 100644 --- a/libraries/joomla/database/query/preparable.php +++ b/libraries/joomla/database/query/preparable.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/sqlazure.php b/libraries/joomla/database/query/sqlazure.php index 116c5d15b06ba..d7fd351db656b 100644 --- a/libraries/joomla/database/query/sqlazure.php +++ b/libraries/joomla/database/query/sqlazure.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/sqlite.php b/libraries/joomla/database/query/sqlite.php index d95ff2e9d4c92..53b1bbf8da288 100644 --- a/libraries/joomla/database/query/sqlite.php +++ b/libraries/joomla/database/query/sqlite.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/database/query/sqlsrv.php b/libraries/joomla/database/query/sqlsrv.php index 440b6c514ae9a..2583ebc8ff8a3 100644 --- a/libraries/joomla/database/query/sqlsrv.php +++ b/libraries/joomla/database/query/sqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/event/dispatcher.php b/libraries/joomla/event/dispatcher.php index fb2c908a0fc8a..90c662c8a4611 100644 --- a/libraries/joomla/event/dispatcher.php +++ b/libraries/joomla/event/dispatcher.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/event/event.php b/libraries/joomla/event/event.php index f3d1f3ecb85ea..e5ab0c5c0589d 100644 --- a/libraries/joomla/event/event.php +++ b/libraries/joomla/event/event.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/album.php b/libraries/joomla/facebook/album.php index 90c5621723417..e8f72186eb943 100644 --- a/libraries/joomla/facebook/album.php +++ b/libraries/joomla/facebook/album.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/checkin.php b/libraries/joomla/facebook/checkin.php index 25317f0d995d4..77c95f67a4911 100644 --- a/libraries/joomla/facebook/checkin.php +++ b/libraries/joomla/facebook/checkin.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/comment.php b/libraries/joomla/facebook/comment.php index 45c95275c2a3f..3cb320cf48ad5 100644 --- a/libraries/joomla/facebook/comment.php +++ b/libraries/joomla/facebook/comment.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/event.php b/libraries/joomla/facebook/event.php index a4b68a46d2fd4..949a23cadcd22 100644 --- a/libraries/joomla/facebook/event.php +++ b/libraries/joomla/facebook/event.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/facebook.php b/libraries/joomla/facebook/facebook.php index 9aebaeeac26b4..2daa8c49e79f5 100644 --- a/libraries/joomla/facebook/facebook.php +++ b/libraries/joomla/facebook/facebook.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/group.php b/libraries/joomla/facebook/group.php index 99dc4e871b0dc..00b057f505df0 100644 --- a/libraries/joomla/facebook/group.php +++ b/libraries/joomla/facebook/group.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/link.php b/libraries/joomla/facebook/link.php index d3f40a5c233f5..a6c749ba58390 100644 --- a/libraries/joomla/facebook/link.php +++ b/libraries/joomla/facebook/link.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/note.php b/libraries/joomla/facebook/note.php index 68ea080569a9e..9862b11b85824 100644 --- a/libraries/joomla/facebook/note.php +++ b/libraries/joomla/facebook/note.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/oauth.php b/libraries/joomla/facebook/oauth.php index ea4860b1c87c6..edd74067dd6af 100644 --- a/libraries/joomla/facebook/oauth.php +++ b/libraries/joomla/facebook/oauth.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/object.php b/libraries/joomla/facebook/object.php index f5a95cbc503f4..951e6c36d0eec 100644 --- a/libraries/joomla/facebook/object.php +++ b/libraries/joomla/facebook/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/photo.php b/libraries/joomla/facebook/photo.php index ea374a64757e5..3ce983e8f8a90 100644 --- a/libraries/joomla/facebook/photo.php +++ b/libraries/joomla/facebook/photo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/post.php b/libraries/joomla/facebook/post.php index 3302cbe79d97c..fead728046bc3 100644 --- a/libraries/joomla/facebook/post.php +++ b/libraries/joomla/facebook/post.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/status.php b/libraries/joomla/facebook/status.php index 2b083de8f68bc..7e377ad6e010f 100644 --- a/libraries/joomla/facebook/status.php +++ b/libraries/joomla/facebook/status.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/user.php b/libraries/joomla/facebook/user.php index c4e78a7f96f01..ed64f9f474d71 100644 --- a/libraries/joomla/facebook/user.php +++ b/libraries/joomla/facebook/user.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/facebook/video.php b/libraries/joomla/facebook/video.php index 4eccbff8d05ce..c00c8c3648c38 100644 --- a/libraries/joomla/facebook/video.php +++ b/libraries/joomla/facebook/video.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/file.php b/libraries/joomla/filesystem/file.php index 01e728bbb4fb4..b161cde050f35 100644 --- a/libraries/joomla/filesystem/file.php +++ b/libraries/joomla/filesystem/file.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/folder.php b/libraries/joomla/filesystem/folder.php index 178f0eb4d58e0..81ddc8e5a9ef9 100644 --- a/libraries/joomla/filesystem/folder.php +++ b/libraries/joomla/filesystem/folder.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/helper.php b/libraries/joomla/filesystem/helper.php index 35ad7bc095692..c66bce33c0d75 100644 --- a/libraries/joomla/filesystem/helper.php +++ b/libraries/joomla/filesystem/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/meta/language/en-GB/en-GB.lib_joomla_filesystem_patcher.ini b/libraries/joomla/filesystem/meta/language/en-GB/en-GB.lib_joomla_filesystem_patcher.ini index 4e8dce14e8e8a..a78e0e3247894 100644 --- a/libraries/joomla/filesystem/meta/language/en-GB/en-GB.lib_joomla_filesystem_patcher.ini +++ b/libraries/joomla/filesystem/meta/language/en-GB/en-GB.lib_joomla_filesystem_patcher.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/libraries/joomla/filesystem/patcher.php b/libraries/joomla/filesystem/patcher.php index 4ef55638f3692..cd3138a2ac1a7 100644 --- a/libraries/joomla/filesystem/patcher.php +++ b/libraries/joomla/filesystem/patcher.php @@ -4,7 +4,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/path.php b/libraries/joomla/filesystem/path.php index d39368ce062d7..3985c41255ef6 100644 --- a/libraries/joomla/filesystem/path.php +++ b/libraries/joomla/filesystem/path.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/stream.php b/libraries/joomla/filesystem/stream.php index 8a5dd48f36a08..44712f56e777e 100644 --- a/libraries/joomla/filesystem/stream.php +++ b/libraries/joomla/filesystem/stream.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/streams/string.php b/libraries/joomla/filesystem/streams/string.php index 3eaa9d22247f9..4c53a1a93e0ab 100644 --- a/libraries/joomla/filesystem/streams/string.php +++ b/libraries/joomla/filesystem/streams/string.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/support/stringcontroller.php b/libraries/joomla/filesystem/support/stringcontroller.php index 41566a6c7b9de..6e67e79690c57 100644 --- a/libraries/joomla/filesystem/support/stringcontroller.php +++ b/libraries/joomla/filesystem/support/stringcontroller.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/wrapper/file.php b/libraries/joomla/filesystem/wrapper/file.php index 60f947ed71a26..25b0ca9f41d98 100644 --- a/libraries/joomla/filesystem/wrapper/file.php +++ b/libraries/joomla/filesystem/wrapper/file.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Filesystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/wrapper/folder.php b/libraries/joomla/filesystem/wrapper/folder.php index 9479eed1c51b4..69272645a9508 100644 --- a/libraries/joomla/filesystem/wrapper/folder.php +++ b/libraries/joomla/filesystem/wrapper/folder.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Filesystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/filesystem/wrapper/path.php b/libraries/joomla/filesystem/wrapper/path.php index 417e26390fd2b..46801c2e175b9 100644 --- a/libraries/joomla/filesystem/wrapper/path.php +++ b/libraries/joomla/filesystem/wrapper/path.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Filesystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/accesslevel.php b/libraries/joomla/form/fields/accesslevel.php index 61eb61b3bc432..8683ef0ac351b 100644 --- a/libraries/joomla/form/fields/accesslevel.php +++ b/libraries/joomla/form/fields/accesslevel.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/aliastag.php b/libraries/joomla/form/fields/aliastag.php index 19deb8bfe8d7d..7f3b0f9d7b466 100644 --- a/libraries/joomla/form/fields/aliastag.php +++ b/libraries/joomla/form/fields/aliastag.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/cachehandler.php b/libraries/joomla/form/fields/cachehandler.php index d91973015004a..084f7b2aa2e14 100644 --- a/libraries/joomla/form/fields/cachehandler.php +++ b/libraries/joomla/form/fields/cachehandler.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/calendar.php b/libraries/joomla/form/fields/calendar.php index 28290c9e6aeeb..8ffb6d93b1eda 100644 --- a/libraries/joomla/form/fields/calendar.php +++ b/libraries/joomla/form/fields/calendar.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/checkbox.php b/libraries/joomla/form/fields/checkbox.php index a7f3f04240f01..e7ec021d95953 100644 --- a/libraries/joomla/form/fields/checkbox.php +++ b/libraries/joomla/form/fields/checkbox.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/checkboxes.php b/libraries/joomla/form/fields/checkboxes.php index 5b3c782bc791e..08de997b17195 100644 --- a/libraries/joomla/form/fields/checkboxes.php +++ b/libraries/joomla/form/fields/checkboxes.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/color.php b/libraries/joomla/form/fields/color.php index 92b1dacc62677..0d4ece2d00c29 100644 --- a/libraries/joomla/form/fields/color.php +++ b/libraries/joomla/form/fields/color.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/combo.php b/libraries/joomla/form/fields/combo.php index de3dd615a155f..20e53f5eb1db5 100644 --- a/libraries/joomla/form/fields/combo.php +++ b/libraries/joomla/form/fields/combo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/components.php b/libraries/joomla/form/fields/components.php index 2c3819edc26e1..9bf319b173f24 100644 --- a/libraries/joomla/form/fields/components.php +++ b/libraries/joomla/form/fields/components.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/databaseconnection.php b/libraries/joomla/form/fields/databaseconnection.php index 259217adda325..3187b851f7d56 100644 --- a/libraries/joomla/form/fields/databaseconnection.php +++ b/libraries/joomla/form/fields/databaseconnection.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/email.php b/libraries/joomla/form/fields/email.php index a1945e3380120..3c0daf2dd7c12 100644 --- a/libraries/joomla/form/fields/email.php +++ b/libraries/joomla/form/fields/email.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/file.php b/libraries/joomla/form/fields/file.php index 5a13cb25712d5..2ad5bcf793546 100644 --- a/libraries/joomla/form/fields/file.php +++ b/libraries/joomla/form/fields/file.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/filelist.php b/libraries/joomla/form/fields/filelist.php index a2b13f0e19098..da864d713db0e 100644 --- a/libraries/joomla/form/fields/filelist.php +++ b/libraries/joomla/form/fields/filelist.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/folderlist.php b/libraries/joomla/form/fields/folderlist.php index 9f29ad0805273..b4aaa57866397 100644 --- a/libraries/joomla/form/fields/folderlist.php +++ b/libraries/joomla/form/fields/folderlist.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/groupedlist.php b/libraries/joomla/form/fields/groupedlist.php index 43e2ef73d9220..5c47181663769 100644 --- a/libraries/joomla/form/fields/groupedlist.php +++ b/libraries/joomla/form/fields/groupedlist.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/hidden.php b/libraries/joomla/form/fields/hidden.php index 39b8d68c026ea..47160a59c0436 100644 --- a/libraries/joomla/form/fields/hidden.php +++ b/libraries/joomla/form/fields/hidden.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/imagelist.php b/libraries/joomla/form/fields/imagelist.php index 7df376dbb3abc..a99b8b8b1f01a 100644 --- a/libraries/joomla/form/fields/imagelist.php +++ b/libraries/joomla/form/fields/imagelist.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/integer.php b/libraries/joomla/form/fields/integer.php index 6738651b9663a..e6413406858db 100644 --- a/libraries/joomla/form/fields/integer.php +++ b/libraries/joomla/form/fields/integer.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/language.php b/libraries/joomla/form/fields/language.php index 983e06bbb9e13..f2edb9aa270d2 100644 --- a/libraries/joomla/form/fields/language.php +++ b/libraries/joomla/form/fields/language.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/list.php b/libraries/joomla/form/fields/list.php index 3976e414951ad..34f8ff60f0a1a 100644 --- a/libraries/joomla/form/fields/list.php +++ b/libraries/joomla/form/fields/list.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/meter.php b/libraries/joomla/form/fields/meter.php index 6c0a62513c5b0..0983de217bc3e 100644 --- a/libraries/joomla/form/fields/meter.php +++ b/libraries/joomla/form/fields/meter.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/note.php b/libraries/joomla/form/fields/note.php index 87f6e55f2f1c2..2b4f9c99d74a4 100644 --- a/libraries/joomla/form/fields/note.php +++ b/libraries/joomla/form/fields/note.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/number.php b/libraries/joomla/form/fields/number.php index 7119d9fcadef2..90b97aa882119 100644 --- a/libraries/joomla/form/fields/number.php +++ b/libraries/joomla/form/fields/number.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/password.php b/libraries/joomla/form/fields/password.php index 2b358e2234c8f..032dd7dbb7f82 100644 --- a/libraries/joomla/form/fields/password.php +++ b/libraries/joomla/form/fields/password.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/plugins.php b/libraries/joomla/form/fields/plugins.php index d1a68e2d7d0d8..422c289747a64 100644 --- a/libraries/joomla/form/fields/plugins.php +++ b/libraries/joomla/form/fields/plugins.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/predefinedlist.php b/libraries/joomla/form/fields/predefinedlist.php index eb5e5c95ef562..0979b18edb17e 100644 --- a/libraries/joomla/form/fields/predefinedlist.php +++ b/libraries/joomla/form/fields/predefinedlist.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/radio.php b/libraries/joomla/form/fields/radio.php index 24ee7130c1ede..781dc83c6d985 100644 --- a/libraries/joomla/form/fields/radio.php +++ b/libraries/joomla/form/fields/radio.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/range.php b/libraries/joomla/form/fields/range.php index 23d3b8b25527e..16bef80395334 100644 --- a/libraries/joomla/form/fields/range.php +++ b/libraries/joomla/form/fields/range.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/repeatable.php b/libraries/joomla/form/fields/repeatable.php index 0bed05904d97a..83e042640386b 100644 --- a/libraries/joomla/form/fields/repeatable.php +++ b/libraries/joomla/form/fields/repeatable.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/rules.php b/libraries/joomla/form/fields/rules.php index 3f0de73f4d494..11ce09c46f4dc 100644 --- a/libraries/joomla/form/fields/rules.php +++ b/libraries/joomla/form/fields/rules.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/sessionhandler.php b/libraries/joomla/form/fields/sessionhandler.php index 2268bc27a7e3b..3c644d36c3bd7 100644 --- a/libraries/joomla/form/fields/sessionhandler.php +++ b/libraries/joomla/form/fields/sessionhandler.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/spacer.php b/libraries/joomla/form/fields/spacer.php index 3df0523f9b830..5b9f1820ca098 100644 --- a/libraries/joomla/form/fields/spacer.php +++ b/libraries/joomla/form/fields/spacer.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/sql.php b/libraries/joomla/form/fields/sql.php index 3d3f26246f8fe..11d913315dae1 100644 --- a/libraries/joomla/form/fields/sql.php +++ b/libraries/joomla/form/fields/sql.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/subform.php b/libraries/joomla/form/fields/subform.php index 2f6db74cfb5de..988fb6eb9dd8b 100644 --- a/libraries/joomla/form/fields/subform.php +++ b/libraries/joomla/form/fields/subform.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/tel.php b/libraries/joomla/form/fields/tel.php index 74a36515456b4..ade4ab3ad99b0 100644 --- a/libraries/joomla/form/fields/tel.php +++ b/libraries/joomla/form/fields/tel.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/text.php b/libraries/joomla/form/fields/text.php index 10f559c5fdc0b..8a489f63a0a80 100644 --- a/libraries/joomla/form/fields/text.php +++ b/libraries/joomla/form/fields/text.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/textarea.php b/libraries/joomla/form/fields/textarea.php index 89640fe69a27d..c1d1b81cf5b98 100644 --- a/libraries/joomla/form/fields/textarea.php +++ b/libraries/joomla/form/fields/textarea.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/timezone.php b/libraries/joomla/form/fields/timezone.php index 1c188d3806bbf..3f684f58b7015 100644 --- a/libraries/joomla/form/fields/timezone.php +++ b/libraries/joomla/form/fields/timezone.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/url.php b/libraries/joomla/form/fields/url.php index 39095615d4af0..fb1f7313de3ad 100644 --- a/libraries/joomla/form/fields/url.php +++ b/libraries/joomla/form/fields/url.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/form/fields/usergroup.php b/libraries/joomla/form/fields/usergroup.php index e796a4709c4c9..333d54497a82c 100644 --- a/libraries/joomla/form/fields/usergroup.php +++ b/libraries/joomla/form/fields/usergroup.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/account.php b/libraries/joomla/github/account.php index f39df2366e792..cc94ca5bc8c72 100644 --- a/libraries/joomla/github/account.php +++ b/libraries/joomla/github/account.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/commits.php b/libraries/joomla/github/commits.php index bd437a2ebdb3a..6e620073946f4 100644 --- a/libraries/joomla/github/commits.php +++ b/libraries/joomla/github/commits.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/forks.php b/libraries/joomla/github/forks.php index 5ccc87a242aa8..d4b544f39d4cd 100644 --- a/libraries/joomla/github/forks.php +++ b/libraries/joomla/github/forks.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/github.php b/libraries/joomla/github/github.php index 88b5d3bed21c7..3e8f1bea6b619 100644 --- a/libraries/joomla/github/github.php +++ b/libraries/joomla/github/github.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/hooks.php b/libraries/joomla/github/hooks.php index 6a5b5d3d9eabe..8a81e74eef0bc 100644 --- a/libraries/joomla/github/hooks.php +++ b/libraries/joomla/github/hooks.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/http.php b/libraries/joomla/github/http.php index 80d23289c5e37..be977ea560523 100644 --- a/libraries/joomla/github/http.php +++ b/libraries/joomla/github/http.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/meta.php b/libraries/joomla/github/meta.php index 7530a8fe962e8..3ef553165df78 100644 --- a/libraries/joomla/github/meta.php +++ b/libraries/joomla/github/meta.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/milestones.php b/libraries/joomla/github/milestones.php index ab3199747673d..6c92e93cc686e 100644 --- a/libraries/joomla/github/milestones.php +++ b/libraries/joomla/github/milestones.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/object.php b/libraries/joomla/github/object.php index 3d11c3e6d4da6..99f6dbe145063 100644 --- a/libraries/joomla/github/object.php +++ b/libraries/joomla/github/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package.php b/libraries/joomla/github/package.php index 7d24ffd6d85c2..b03c859b01548 100644 --- a/libraries/joomla/github/package.php +++ b/libraries/joomla/github/package.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/activity.php b/libraries/joomla/github/package/activity.php index fc5b1a483dce1..eb93fb7efc809 100644 --- a/libraries/joomla/github/package/activity.php +++ b/libraries/joomla/github/package/activity.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/activity/events.php b/libraries/joomla/github/package/activity/events.php index de20790dd851d..1a89bb3094fe7 100644 --- a/libraries/joomla/github/package/activity/events.php +++ b/libraries/joomla/github/package/activity/events.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/activity/notifications.php b/libraries/joomla/github/package/activity/notifications.php index d5b7a66dc4552..ec3d09ff0c8ce 100644 --- a/libraries/joomla/github/package/activity/notifications.php +++ b/libraries/joomla/github/package/activity/notifications.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/activity/starring.php b/libraries/joomla/github/package/activity/starring.php index d65d7926422aa..896ca8894497c 100644 --- a/libraries/joomla/github/package/activity/starring.php +++ b/libraries/joomla/github/package/activity/starring.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/activity/watching.php b/libraries/joomla/github/package/activity/watching.php index 56675c4650109..02a3b4acdb1eb 100644 --- a/libraries/joomla/github/package/activity/watching.php +++ b/libraries/joomla/github/package/activity/watching.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/authorization.php b/libraries/joomla/github/package/authorization.php index 9662c77f3f994..47d7daae07496 100644 --- a/libraries/joomla/github/package/authorization.php +++ b/libraries/joomla/github/package/authorization.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data.php b/libraries/joomla/github/package/data.php index 545a1c1b299e6..1abcdd5876a0f 100644 --- a/libraries/joomla/github/package/data.php +++ b/libraries/joomla/github/package/data.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data/blobs.php b/libraries/joomla/github/package/data/blobs.php index 1219a54ed3018..eb779b2d05f77 100644 --- a/libraries/joomla/github/package/data/blobs.php +++ b/libraries/joomla/github/package/data/blobs.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data/commits.php b/libraries/joomla/github/package/data/commits.php index 18fa8cdbdfe57..9bf2e65f7ca66 100644 --- a/libraries/joomla/github/package/data/commits.php +++ b/libraries/joomla/github/package/data/commits.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data/refs.php b/libraries/joomla/github/package/data/refs.php index e03892eca63d2..d1ab2c0f3418e 100644 --- a/libraries/joomla/github/package/data/refs.php +++ b/libraries/joomla/github/package/data/refs.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data/tags.php b/libraries/joomla/github/package/data/tags.php index cf443d6e39632..89be41ff71676 100644 --- a/libraries/joomla/github/package/data/tags.php +++ b/libraries/joomla/github/package/data/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/data/trees.php b/libraries/joomla/github/package/data/trees.php index 0c4862d35eee2..216d0701fa1f0 100644 --- a/libraries/joomla/github/package/data/trees.php +++ b/libraries/joomla/github/package/data/trees.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/gists.php b/libraries/joomla/github/package/gists.php index 65540b4e0174f..df16960a72377 100644 --- a/libraries/joomla/github/package/gists.php +++ b/libraries/joomla/github/package/gists.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/gists/comments.php b/libraries/joomla/github/package/gists/comments.php index d093bc201b21e..9fb456052efcc 100644 --- a/libraries/joomla/github/package/gists/comments.php +++ b/libraries/joomla/github/package/gists/comments.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/gitignore.php b/libraries/joomla/github/package/gitignore.php index 327cadd1ebdbf..bc6f05643c9cc 100644 --- a/libraries/joomla/github/package/gitignore.php +++ b/libraries/joomla/github/package/gitignore.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues.php b/libraries/joomla/github/package/issues.php index b14ed6532d92f..e79a8bf07f334 100644 --- a/libraries/joomla/github/package/issues.php +++ b/libraries/joomla/github/package/issues.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues/assignees.php b/libraries/joomla/github/package/issues/assignees.php index 8665ab20a0c7e..7a721dbe94dfd 100644 --- a/libraries/joomla/github/package/issues/assignees.php +++ b/libraries/joomla/github/package/issues/assignees.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues/comments.php b/libraries/joomla/github/package/issues/comments.php index 678288252c321..0ed431ec78962 100644 --- a/libraries/joomla/github/package/issues/comments.php +++ b/libraries/joomla/github/package/issues/comments.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues/events.php b/libraries/joomla/github/package/issues/events.php index ed22a8f5d325a..b85889303e1b5 100644 --- a/libraries/joomla/github/package/issues/events.php +++ b/libraries/joomla/github/package/issues/events.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues/labels.php b/libraries/joomla/github/package/issues/labels.php index 912971fccbf55..4262d7b3a6933 100644 --- a/libraries/joomla/github/package/issues/labels.php +++ b/libraries/joomla/github/package/issues/labels.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/issues/milestones.php b/libraries/joomla/github/package/issues/milestones.php index 8839dc154901f..05748f6287abb 100644 --- a/libraries/joomla/github/package/issues/milestones.php +++ b/libraries/joomla/github/package/issues/milestones.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/orgs.php b/libraries/joomla/github/package/orgs.php index 8085a955fdb4e..fe373b40445dc 100644 --- a/libraries/joomla/github/package/orgs.php +++ b/libraries/joomla/github/package/orgs.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/orgs/members.php b/libraries/joomla/github/package/orgs/members.php index e252d3b04ae80..b5d096e668185 100644 --- a/libraries/joomla/github/package/orgs/members.php +++ b/libraries/joomla/github/package/orgs/members.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/orgs/teams.php b/libraries/joomla/github/package/orgs/teams.php index 4da5e32a7133c..f62e67a80930f 100644 --- a/libraries/joomla/github/package/orgs/teams.php +++ b/libraries/joomla/github/package/orgs/teams.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/pulls.php b/libraries/joomla/github/package/pulls.php index 77a1083a115be..b5e957d0af2be 100644 --- a/libraries/joomla/github/package/pulls.php +++ b/libraries/joomla/github/package/pulls.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/pulls/comments.php b/libraries/joomla/github/package/pulls/comments.php index 7ff0184c3f1a1..316377bb6be4b 100644 --- a/libraries/joomla/github/package/pulls/comments.php +++ b/libraries/joomla/github/package/pulls/comments.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories.php b/libraries/joomla/github/package/repositories.php index 6f263b80881c9..5d13ea3e7fed5 100644 --- a/libraries/joomla/github/package/repositories.php +++ b/libraries/joomla/github/package/repositories.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/collaborators.php b/libraries/joomla/github/package/repositories/collaborators.php index 4a18649c83665..80f09aa315ad4 100644 --- a/libraries/joomla/github/package/repositories/collaborators.php +++ b/libraries/joomla/github/package/repositories/collaborators.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/comments.php b/libraries/joomla/github/package/repositories/comments.php index e930e8eb8bb29..2665fbf56976f 100644 --- a/libraries/joomla/github/package/repositories/comments.php +++ b/libraries/joomla/github/package/repositories/comments.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/commits.php b/libraries/joomla/github/package/repositories/commits.php index 18a75137ef56c..6bec8a563f8af 100644 --- a/libraries/joomla/github/package/repositories/commits.php +++ b/libraries/joomla/github/package/repositories/commits.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/contents.php b/libraries/joomla/github/package/repositories/contents.php index 5f8e3c38fd2f3..71dff2e9c94bf 100644 --- a/libraries/joomla/github/package/repositories/contents.php +++ b/libraries/joomla/github/package/repositories/contents.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/downloads.php b/libraries/joomla/github/package/repositories/downloads.php index 04bc9badb7635..c355090df42a8 100644 --- a/libraries/joomla/github/package/repositories/downloads.php +++ b/libraries/joomla/github/package/repositories/downloads.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/forks.php b/libraries/joomla/github/package/repositories/forks.php index ff771d55717d5..ef0e09a59589a 100644 --- a/libraries/joomla/github/package/repositories/forks.php +++ b/libraries/joomla/github/package/repositories/forks.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/hooks.php b/libraries/joomla/github/package/repositories/hooks.php index 5a17ea3d32822..340a69a3729af 100644 --- a/libraries/joomla/github/package/repositories/hooks.php +++ b/libraries/joomla/github/package/repositories/hooks.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/keys.php b/libraries/joomla/github/package/repositories/keys.php index f0d876f1ab56e..6030f0e6c8809 100644 --- a/libraries/joomla/github/package/repositories/keys.php +++ b/libraries/joomla/github/package/repositories/keys.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/merging.php b/libraries/joomla/github/package/repositories/merging.php index b0ac0abdc7771..f3ca3102e6698 100644 --- a/libraries/joomla/github/package/repositories/merging.php +++ b/libraries/joomla/github/package/repositories/merging.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/statistics.php b/libraries/joomla/github/package/repositories/statistics.php index 8802c12fcbed7..947b9b05be17e 100644 --- a/libraries/joomla/github/package/repositories/statistics.php +++ b/libraries/joomla/github/package/repositories/statistics.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/repositories/statuses.php b/libraries/joomla/github/package/repositories/statuses.php index a50b6c90bea04..0ff7288d732c1 100644 --- a/libraries/joomla/github/package/repositories/statuses.php +++ b/libraries/joomla/github/package/repositories/statuses.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/search.php b/libraries/joomla/github/package/search.php index 6b1e8d0f5899b..9640e5aaf7ec3 100644 --- a/libraries/joomla/github/package/search.php +++ b/libraries/joomla/github/package/search.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/users.php b/libraries/joomla/github/package/users.php index 43bf9a73a6eb0..2c06b62a16988 100644 --- a/libraries/joomla/github/package/users.php +++ b/libraries/joomla/github/package/users.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/users/emails.php b/libraries/joomla/github/package/users/emails.php index ace02c9ef6375..585befc7d0dea 100644 --- a/libraries/joomla/github/package/users/emails.php +++ b/libraries/joomla/github/package/users/emails.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/users/followers.php b/libraries/joomla/github/package/users/followers.php index 81c00ea66904c..92d1442daf121 100644 --- a/libraries/joomla/github/package/users/followers.php +++ b/libraries/joomla/github/package/users/followers.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/package/users/keys.php b/libraries/joomla/github/package/users/keys.php index 3964f5bb1bd88..8ca041a479191 100644 --- a/libraries/joomla/github/package/users/keys.php +++ b/libraries/joomla/github/package/users/keys.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/refs.php b/libraries/joomla/github/refs.php index 5edc6bdb8e4df..cfc0184151e51 100644 --- a/libraries/joomla/github/refs.php +++ b/libraries/joomla/github/refs.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/github/statuses.php b/libraries/joomla/github/statuses.php index ed36535ad2551..954880a78799f 100644 --- a/libraries/joomla/github/statuses.php +++ b/libraries/joomla/github/statuses.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage GitHub * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/auth.php b/libraries/joomla/google/auth.php index d2eaff1c6e834..6f140d47c98de 100644 --- a/libraries/joomla/google/auth.php +++ b/libraries/joomla/google/auth.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/auth/oauth2.php b/libraries/joomla/google/auth/oauth2.php index c4193a6dff756..15c4ee07a9647 100644 --- a/libraries/joomla/google/auth/oauth2.php +++ b/libraries/joomla/google/auth/oauth2.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data.php b/libraries/joomla/google/data.php index fd79221204a69..31457f1260e74 100644 --- a/libraries/joomla/google/data.php +++ b/libraries/joomla/google/data.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/adsense.php b/libraries/joomla/google/data/adsense.php index 0a1db9454a15a..1a324d435f949 100644 --- a/libraries/joomla/google/data/adsense.php +++ b/libraries/joomla/google/data/adsense.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/calendar.php b/libraries/joomla/google/data/calendar.php index 53057261102c7..e85603c1dbec6 100644 --- a/libraries/joomla/google/data/calendar.php +++ b/libraries/joomla/google/data/calendar.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/picasa.php b/libraries/joomla/google/data/picasa.php index 6f1b0fa48d3dd..f3ae7f2c2a43e 100644 --- a/libraries/joomla/google/data/picasa.php +++ b/libraries/joomla/google/data/picasa.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/picasa/album.php b/libraries/joomla/google/data/picasa/album.php index ade829e179e8e..e337f798518a2 100644 --- a/libraries/joomla/google/data/picasa/album.php +++ b/libraries/joomla/google/data/picasa/album.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/picasa/photo.php b/libraries/joomla/google/data/picasa/photo.php index 1e4669cfa13ac..e1724b3f20c58 100644 --- a/libraries/joomla/google/data/picasa/photo.php +++ b/libraries/joomla/google/data/picasa/photo.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/plus.php b/libraries/joomla/google/data/plus.php index d336004539d9d..41ed9c08c115a 100644 --- a/libraries/joomla/google/data/plus.php +++ b/libraries/joomla/google/data/plus.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/plus/activities.php b/libraries/joomla/google/data/plus/activities.php index 0e38457a33eb7..ba73d22ac08a9 100644 --- a/libraries/joomla/google/data/plus/activities.php +++ b/libraries/joomla/google/data/plus/activities.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/plus/comments.php b/libraries/joomla/google/data/plus/comments.php index d8b43efab3861..947ceef9a2c9d 100644 --- a/libraries/joomla/google/data/plus/comments.php +++ b/libraries/joomla/google/data/plus/comments.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/data/plus/people.php b/libraries/joomla/google/data/plus/people.php index 1137b1f0974cf..982da17a79c3f 100644 --- a/libraries/joomla/google/data/plus/people.php +++ b/libraries/joomla/google/data/plus/people.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/embed.php b/libraries/joomla/google/embed.php index 4ede839e1246f..70ad2c3eac81b 100644 --- a/libraries/joomla/google/embed.php +++ b/libraries/joomla/google/embed.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/embed/analytics.php b/libraries/joomla/google/embed/analytics.php index c473a39b8f305..65f91bc1cac63 100644 --- a/libraries/joomla/google/embed/analytics.php +++ b/libraries/joomla/google/embed/analytics.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/embed/maps.php b/libraries/joomla/google/embed/maps.php index 73e5da59c8e48..d0b6c57c4ff50 100644 --- a/libraries/joomla/google/embed/maps.php +++ b/libraries/joomla/google/embed/maps.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/google/google.php b/libraries/joomla/google/google.php index 9aa48a0efbb59..bf19ad1a2abef 100644 --- a/libraries/joomla/google/google.php +++ b/libraries/joomla/google/google.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Google * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/grid/grid.php b/libraries/joomla/grid/grid.php index 44030cd3b5415..d424fafbd137e 100644 --- a/libraries/joomla/grid/grid.php +++ b/libraries/joomla/grid/grid.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Grid - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/keychain/keychain.php b/libraries/joomla/keychain/keychain.php index 2ba9fe0285c41..12f20cf619d86 100644 --- a/libraries/joomla/keychain/keychain.php +++ b/libraries/joomla/keychain/keychain.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Keychain * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/communications.php b/libraries/joomla/linkedin/communications.php index 1213682b9f881..50146325f1342 100644 --- a/libraries/joomla/linkedin/communications.php +++ b/libraries/joomla/linkedin/communications.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/companies.php b/libraries/joomla/linkedin/companies.php index c36765235eeed..35fc89239377c 100644 --- a/libraries/joomla/linkedin/companies.php +++ b/libraries/joomla/linkedin/companies.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/groups.php b/libraries/joomla/linkedin/groups.php index b8585c27f93e5..e7c6f352e7258 100644 --- a/libraries/joomla/linkedin/groups.php +++ b/libraries/joomla/linkedin/groups.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/jobs.php b/libraries/joomla/linkedin/jobs.php index e4bb25d50ac1b..f91d258c8aa44 100644 --- a/libraries/joomla/linkedin/jobs.php +++ b/libraries/joomla/linkedin/jobs.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/linkedin.php b/libraries/joomla/linkedin/linkedin.php index 8af6b6e93eeec..4a10388c32d65 100644 --- a/libraries/joomla/linkedin/linkedin.php +++ b/libraries/joomla/linkedin/linkedin.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/oauth.php b/libraries/joomla/linkedin/oauth.php index 6da9aebd9295b..6c9b55706695f 100644 --- a/libraries/joomla/linkedin/oauth.php +++ b/libraries/joomla/linkedin/oauth.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/object.php b/libraries/joomla/linkedin/object.php index 30bcfdcc6cb03..bc00b540db960 100644 --- a/libraries/joomla/linkedin/object.php +++ b/libraries/joomla/linkedin/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/people.php b/libraries/joomla/linkedin/people.php index 00965564c85eb..19c950ea1423a 100644 --- a/libraries/joomla/linkedin/people.php +++ b/libraries/joomla/linkedin/people.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/linkedin/stream.php b/libraries/joomla/linkedin/stream.php index 74f6fc9940994..e72786e56e770 100644 --- a/libraries/joomla/linkedin/stream.php +++ b/libraries/joomla/linkedin/stream.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/categories.php b/libraries/joomla/mediawiki/categories.php index 33fa9fcc1b34a..ac542f8c8a2cf 100644 --- a/libraries/joomla/mediawiki/categories.php +++ b/libraries/joomla/mediawiki/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/http.php b/libraries/joomla/mediawiki/http.php index 47944f75b50a4..2c73435ad92ec 100644 --- a/libraries/joomla/mediawiki/http.php +++ b/libraries/joomla/mediawiki/http.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/images.php b/libraries/joomla/mediawiki/images.php index 07bf9722a23bf..bf7db9541817f 100644 --- a/libraries/joomla/mediawiki/images.php +++ b/libraries/joomla/mediawiki/images.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/links.php b/libraries/joomla/mediawiki/links.php index 72b6fd4a27298..4d44a7978dd52 100644 --- a/libraries/joomla/mediawiki/links.php +++ b/libraries/joomla/mediawiki/links.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/mediawiki.php b/libraries/joomla/mediawiki/mediawiki.php index bd112bda2f8ff..e01e737df7c37 100644 --- a/libraries/joomla/mediawiki/mediawiki.php +++ b/libraries/joomla/mediawiki/mediawiki.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/object.php b/libraries/joomla/mediawiki/object.php index 01ae68d2fa9c5..fe9111bf17367 100644 --- a/libraries/joomla/mediawiki/object.php +++ b/libraries/joomla/mediawiki/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/pages.php b/libraries/joomla/mediawiki/pages.php index 6ead327f867bd..e127d34563b87 100644 --- a/libraries/joomla/mediawiki/pages.php +++ b/libraries/joomla/mediawiki/pages.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/search.php b/libraries/joomla/mediawiki/search.php index 29bdb979bf97c..2cf0ba39e0990 100644 --- a/libraries/joomla/mediawiki/search.php +++ b/libraries/joomla/mediawiki/search.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/sites.php b/libraries/joomla/mediawiki/sites.php index 93aebd9ae37fe..ee893f8f5fc89 100644 --- a/libraries/joomla/mediawiki/sites.php +++ b/libraries/joomla/mediawiki/sites.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/mediawiki/users.php b/libraries/joomla/mediawiki/users.php index 6a160321f72f1..b8e725eb5f27c 100644 --- a/libraries/joomla/mediawiki/users.php +++ b/libraries/joomla/mediawiki/users.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage MediaWiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/model/base.php b/libraries/joomla/model/base.php index 8f47875307d74..4bdd8dc5b2f36 100644 --- a/libraries/joomla/model/base.php +++ b/libraries/joomla/model/base.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/model/database.php b/libraries/joomla/model/database.php index e5dd8194db276..fa7159984a16b 100644 --- a/libraries/joomla/model/database.php +++ b/libraries/joomla/model/database.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/model/model.php b/libraries/joomla/model/model.php index b0b6b23c559de..7ff6dd9bfce0a 100644 --- a/libraries/joomla/model/model.php +++ b/libraries/joomla/model/model.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/oauth1/client.php b/libraries/joomla/oauth1/client.php index 47ebc290e6982..5c0afa83e5e5b 100644 --- a/libraries/joomla/oauth1/client.php +++ b/libraries/joomla/oauth1/client.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage OAuth1 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/oauth2/client.php b/libraries/joomla/oauth2/client.php index 30dec1b5431ef..6703645490b1b 100644 --- a/libraries/joomla/oauth2/client.php +++ b/libraries/joomla/oauth2/client.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage OAuth2 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observable/interface.php b/libraries/joomla/observable/interface.php index d3ce27570ef02..7d029c12e8dca 100644 --- a/libraries/joomla/observable/interface.php +++ b/libraries/joomla/observable/interface.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observer/interface.php b/libraries/joomla/observer/interface.php index aecf975c1314b..231eea6153517 100644 --- a/libraries/joomla/observer/interface.php +++ b/libraries/joomla/observer/interface.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observer/mapper.php b/libraries/joomla/observer/mapper.php index d1cd4b665b6f3..ed2ad05c23f98 100644 --- a/libraries/joomla/observer/mapper.php +++ b/libraries/joomla/observer/mapper.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observer/updater.php b/libraries/joomla/observer/updater.php index 55eeee7150282..8f2860cb7ccf4 100644 --- a/libraries/joomla/observer/updater.php +++ b/libraries/joomla/observer/updater.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observer/updater/interface.php b/libraries/joomla/observer/updater/interface.php index 7dad2e3a4b3b0..1ccfae7b0b9d8 100644 --- a/libraries/joomla/observer/updater/interface.php +++ b/libraries/joomla/observer/updater/interface.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/observer/wrapper/mapper.php b/libraries/joomla/observer/wrapper/mapper.php index 67aa77811dd2f..a28f38df32328 100644 --- a/libraries/joomla/observer/wrapper/mapper.php +++ b/libraries/joomla/observer/wrapper/mapper.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Observer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/changesets.php b/libraries/joomla/openstreetmap/changesets.php index 9f14b7692347f..b5b20ed014c54 100644 --- a/libraries/joomla/openstreetmap/changesets.php +++ b/libraries/joomla/openstreetmap/changesets.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/elements.php b/libraries/joomla/openstreetmap/elements.php index 5955c898802d9..5cdf9a6873c3d 100644 --- a/libraries/joomla/openstreetmap/elements.php +++ b/libraries/joomla/openstreetmap/elements.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/gps.php b/libraries/joomla/openstreetmap/gps.php index bfa819fa9f6d5..baa759534f404 100644 --- a/libraries/joomla/openstreetmap/gps.php +++ b/libraries/joomla/openstreetmap/gps.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/info.php b/libraries/joomla/openstreetmap/info.php index 62d7d60f6ac1e..7a984b99430af 100644 --- a/libraries/joomla/openstreetmap/info.php +++ b/libraries/joomla/openstreetmap/info.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/oauth.php b/libraries/joomla/openstreetmap/oauth.php index f10edcf15b660..51a3a808c5f30 100644 --- a/libraries/joomla/openstreetmap/oauth.php +++ b/libraries/joomla/openstreetmap/oauth.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/object.php b/libraries/joomla/openstreetmap/object.php index 853dc310e78d5..84802f4a76fcf 100644 --- a/libraries/joomla/openstreetmap/object.php +++ b/libraries/joomla/openstreetmap/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/openstreetmap.php b/libraries/joomla/openstreetmap/openstreetmap.php index fb8e2efd5b3ae..4731da5873c92 100644 --- a/libraries/joomla/openstreetmap/openstreetmap.php +++ b/libraries/joomla/openstreetmap/openstreetmap.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/openstreetmap/user.php b/libraries/joomla/openstreetmap/user.php index ff4797309c8b4..029bef44828f4 100644 --- a/libraries/joomla/openstreetmap/user.php +++ b/libraries/joomla/openstreetmap/user.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/platform.php b/libraries/joomla/platform.php index cd198220cc4cb..7f70490b47376 100644 --- a/libraries/joomla/platform.php +++ b/libraries/joomla/platform.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ @@ -44,7 +44,7 @@ final class JPlatform const RELEASE_TIME_ZONE = 'GMT'; // Copyright Notice. - const COPYRIGHT = 'Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.'; + const COPYRIGHT = 'Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.'; // Link text. const LINK_TEXT = '<a href="https://www.joomla.org">Joomla!</a> is Free Software released under the GNU General Public License.'; diff --git a/libraries/joomla/route/wrapper/route.php b/libraries/joomla/route/wrapper/route.php index 06d90dc230267..ef6b044c53add 100644 --- a/libraries/joomla/route/wrapper/route.php +++ b/libraries/joomla/route/wrapper/route.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/handler/interface.php b/libraries/joomla/session/handler/interface.php index 609c7b0d073cc..3fa14120d187e 100644 --- a/libraries/joomla/session/handler/interface.php +++ b/libraries/joomla/session/handler/interface.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/handler/joomla.php b/libraries/joomla/session/handler/joomla.php index 24a3ee71ab4f2..e9128baaaf4b5 100644 --- a/libraries/joomla/session/handler/joomla.php +++ b/libraries/joomla/session/handler/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/handler/native.php b/libraries/joomla/session/handler/native.php index da0bea4c7de63..95e7860715e24 100644 --- a/libraries/joomla/session/handler/native.php +++ b/libraries/joomla/session/handler/native.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage.php b/libraries/joomla/session/storage.php index ed21e292587a3..8296e35e81cbe 100644 --- a/libraries/joomla/session/storage.php +++ b/libraries/joomla/session/storage.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/apc.php b/libraries/joomla/session/storage/apc.php index d3c9ac43b41cb..3388886b65bdd 100644 --- a/libraries/joomla/session/storage/apc.php +++ b/libraries/joomla/session/storage/apc.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/database.php b/libraries/joomla/session/storage/database.php index 5b152e2d2c1c7..d3f221f24a01c 100644 --- a/libraries/joomla/session/storage/database.php +++ b/libraries/joomla/session/storage/database.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/memcache.php b/libraries/joomla/session/storage/memcache.php index 32462146c8931..3a66a8bbafc4e 100644 --- a/libraries/joomla/session/storage/memcache.php +++ b/libraries/joomla/session/storage/memcache.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/memcached.php b/libraries/joomla/session/storage/memcached.php index 757abfc388906..2478adacb2b23 100644 --- a/libraries/joomla/session/storage/memcached.php +++ b/libraries/joomla/session/storage/memcached.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/none.php b/libraries/joomla/session/storage/none.php index a60f4500d50dd..917036a00d79a 100644 --- a/libraries/joomla/session/storage/none.php +++ b/libraries/joomla/session/storage/none.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/redis.php b/libraries/joomla/session/storage/redis.php index f892582af774d..fa00efa4a462a 100644 --- a/libraries/joomla/session/storage/redis.php +++ b/libraries/joomla/session/storage/redis.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/wincache.php b/libraries/joomla/session/storage/wincache.php index 798b5f5c4ee7f..96996d52f298b 100644 --- a/libraries/joomla/session/storage/wincache.php +++ b/libraries/joomla/session/storage/wincache.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/session/storage/xcache.php b/libraries/joomla/session/storage/xcache.php index e33fc0a2bda05..104d15a70bc19 100644 --- a/libraries/joomla/session/storage/xcache.php +++ b/libraries/joomla/session/storage/xcache.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/string/string.php b/libraries/joomla/string/string.php index 0e763d8ba9102..7779604d6411a 100644 --- a/libraries/joomla/string/string.php +++ b/libraries/joomla/string/string.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage String * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/string/wrapper/normalise.php b/libraries/joomla/string/wrapper/normalise.php index 4f3e4f57475ca..43d9f183d660e 100644 --- a/libraries/joomla/string/wrapper/normalise.php +++ b/libraries/joomla/string/wrapper/normalise.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage String * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/string/wrapper/punycode.php b/libraries/joomla/string/wrapper/punycode.php index 4ce4326f7f18c..55851d90a59e9 100644 --- a/libraries/joomla/string/wrapper/punycode.php +++ b/libraries/joomla/string/wrapper/punycode.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage String * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/block.php b/libraries/joomla/twitter/block.php index 4387105146eff..b4e00265d5560 100644 --- a/libraries/joomla/twitter/block.php +++ b/libraries/joomla/twitter/block.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/directmessages.php b/libraries/joomla/twitter/directmessages.php index 9a01fe8115514..c88a1e2e9c88b 100644 --- a/libraries/joomla/twitter/directmessages.php +++ b/libraries/joomla/twitter/directmessages.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/favorites.php b/libraries/joomla/twitter/favorites.php index 6e3bd7c026990..095bf9ec8056f 100644 --- a/libraries/joomla/twitter/favorites.php +++ b/libraries/joomla/twitter/favorites.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/friends.php b/libraries/joomla/twitter/friends.php index 91595cc09eca8..0b1161efa1a68 100644 --- a/libraries/joomla/twitter/friends.php +++ b/libraries/joomla/twitter/friends.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/help.php b/libraries/joomla/twitter/help.php index 7d7850c4d3e58..005f009d7b423 100644 --- a/libraries/joomla/twitter/help.php +++ b/libraries/joomla/twitter/help.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/lists.php b/libraries/joomla/twitter/lists.php index 9a5eb6e9b0a42..9586cf8af664b 100644 --- a/libraries/joomla/twitter/lists.php +++ b/libraries/joomla/twitter/lists.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/oauth.php b/libraries/joomla/twitter/oauth.php index 67f7c4ded6ffe..3d9eab788594a 100644 --- a/libraries/joomla/twitter/oauth.php +++ b/libraries/joomla/twitter/oauth.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/object.php b/libraries/joomla/twitter/object.php index 214291f76fccc..0869305db09bf 100644 --- a/libraries/joomla/twitter/object.php +++ b/libraries/joomla/twitter/object.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/places.php b/libraries/joomla/twitter/places.php index 613966364ec9c..6b28d640a9587 100644 --- a/libraries/joomla/twitter/places.php +++ b/libraries/joomla/twitter/places.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/profile.php b/libraries/joomla/twitter/profile.php index eb03235bbc83e..f647ebad45f49 100644 --- a/libraries/joomla/twitter/profile.php +++ b/libraries/joomla/twitter/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/search.php b/libraries/joomla/twitter/search.php index 31af8245e2b64..396a366282c94 100644 --- a/libraries/joomla/twitter/search.php +++ b/libraries/joomla/twitter/search.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/statuses.php b/libraries/joomla/twitter/statuses.php index dad1c2dbfcb7d..fe4d69891999d 100644 --- a/libraries/joomla/twitter/statuses.php +++ b/libraries/joomla/twitter/statuses.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/trends.php b/libraries/joomla/twitter/trends.php index 7008b413b0e96..7f1e438a93e63 100644 --- a/libraries/joomla/twitter/trends.php +++ b/libraries/joomla/twitter/trends.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/twitter.php b/libraries/joomla/twitter/twitter.php index 083fc7ffb8ad4..27a173f6b6662 100644 --- a/libraries/joomla/twitter/twitter.php +++ b/libraries/joomla/twitter/twitter.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/twitter/users.php b/libraries/joomla/twitter/users.php index 69ffe7eeb3734..2dde8ac774248 100644 --- a/libraries/joomla/twitter/users.php +++ b/libraries/joomla/twitter/users.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/utilities/arrayhelper.php b/libraries/joomla/utilities/arrayhelper.php index 50be7db43ff65..a9b41f04cac3f 100644 --- a/libraries/joomla/utilities/arrayhelper.php +++ b/libraries/joomla/utilities/arrayhelper.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Utilities * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/view/base.php b/libraries/joomla/view/base.php index 1fccb4d64b495..ec9e510601bfd 100644 --- a/libraries/joomla/view/base.php +++ b/libraries/joomla/view/base.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/view/html.php b/libraries/joomla/view/html.php index ac6ddcd5fc4a2..e4165adde6d52 100644 --- a/libraries/joomla/view/html.php +++ b/libraries/joomla/view/html.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/joomla/view/view.php b/libraries/joomla/view/view.php index 91f0dd388e0c6..c5fff6269e902 100644 --- a/libraries/joomla/view/view.php +++ b/libraries/joomla/view/view.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/legacy/application/application.php b/libraries/legacy/application/application.php index a212f05a1672d..6543519dc7a56 100644 --- a/libraries/legacy/application/application.php +++ b/libraries/legacy/application/application.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/base/node.php b/libraries/legacy/base/node.php index 18eb3f269fc73..78f434560d23e 100644 --- a/libraries/legacy/base/node.php +++ b/libraries/legacy/base/node.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/base/observable.php b/libraries/legacy/base/observable.php index 2d339282a5a79..93075b7b405c8 100644 --- a/libraries/legacy/base/observable.php +++ b/libraries/legacy/base/observable.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/base/observer.php b/libraries/legacy/base/observer.php index 7de8af8308be4..fa5dc7e9757d6 100644 --- a/libraries/legacy/base/observer.php +++ b/libraries/legacy/base/observer.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/base/tree.php b/libraries/legacy/base/tree.php index c9dac3d653688..6fafbf5cb6bd8 100644 --- a/libraries/legacy/base/tree.php +++ b/libraries/legacy/base/tree.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/database/exception.php b/libraries/legacy/database/exception.php index 2b10d870ca50c..1c282433fbd40 100644 --- a/libraries/legacy/database/exception.php +++ b/libraries/legacy/database/exception.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/database/mysql.php b/libraries/legacy/database/mysql.php index 405207062a5de..24965c87cbee3 100644 --- a/libraries/legacy/database/mysql.php +++ b/libraries/legacy/database/mysql.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/database/mysqli.php b/libraries/legacy/database/mysqli.php index da01953085db9..a53a4c60c70bc 100644 --- a/libraries/legacy/database/mysqli.php +++ b/libraries/legacy/database/mysqli.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/database/sqlazure.php b/libraries/legacy/database/sqlazure.php index d306c42c4f047..5f74baf30fcce 100644 --- a/libraries/legacy/database/sqlazure.php +++ b/libraries/legacy/database/sqlazure.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/database/sqlsrv.php b/libraries/legacy/database/sqlsrv.php index 841c905198864..a577b9c144843 100644 --- a/libraries/legacy/database/sqlsrv.php +++ b/libraries/legacy/database/sqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/dispatcher/dispatcher.php b/libraries/legacy/dispatcher/dispatcher.php index 27c270ce3b175..126c040ad5191 100644 --- a/libraries/legacy/dispatcher/dispatcher.php +++ b/libraries/legacy/dispatcher/dispatcher.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Dispatcher * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/error/error.php b/libraries/legacy/error/error.php index 105abb2d00015..85bfa736b2c08 100644 --- a/libraries/legacy/error/error.php +++ b/libraries/legacy/error/error.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Error * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/exception/exception.php b/libraries/legacy/exception/exception.php index 6bbd80fc2a281..01c4fe076de5b 100644 --- a/libraries/legacy/exception/exception.php +++ b/libraries/legacy/exception/exception.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Exception * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/form/field/category.php b/libraries/legacy/form/field/category.php index 3e44e2e53ace9..46a3da782c134 100644 --- a/libraries/legacy/form/field/category.php +++ b/libraries/legacy/form/field/category.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/form/field/componentlayout.php b/libraries/legacy/form/field/componentlayout.php index cddf57f7113ae..5877b1dd53c77 100644 --- a/libraries/legacy/form/field/componentlayout.php +++ b/libraries/legacy/form/field/componentlayout.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/form/field/modulelayout.php b/libraries/legacy/form/field/modulelayout.php index db26860670724..de0ff07548e73 100644 --- a/libraries/legacy/form/field/modulelayout.php +++ b/libraries/legacy/form/field/modulelayout.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/log/logexception.php b/libraries/legacy/log/logexception.php index 2acdb97d6deca..dd21f275cc2e4 100644 --- a/libraries/legacy/log/logexception.php +++ b/libraries/legacy/log/logexception.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/request/request.php b/libraries/legacy/request/request.php index 0f180200d9ef2..9f03d2ff89c65 100644 --- a/libraries/legacy/request/request.php +++ b/libraries/legacy/request/request.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Request * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/response/response.php b/libraries/legacy/response/response.php index a1f902076cc59..9003bc1f7b77c 100644 --- a/libraries/legacy/response/response.php +++ b/libraries/legacy/response/response.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Response * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/simplecrypt/simplecrypt.php b/libraries/legacy/simplecrypt/simplecrypt.php index bd190efb5e552..d0a7a299e8316 100644 --- a/libraries/legacy/simplecrypt/simplecrypt.php +++ b/libraries/legacy/simplecrypt/simplecrypt.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Simplecrypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/simplepie/factory.php b/libraries/legacy/simplepie/factory.php index 35a91ed3a90d4..2154ee6825c54 100644 --- a/libraries/legacy/simplepie/factory.php +++ b/libraries/legacy/simplepie/factory.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Simplepie * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/table/session.php b/libraries/legacy/table/session.php index 85498ee473f53..ea1dec00c0153 100644 --- a/libraries/legacy/table/session.php +++ b/libraries/legacy/table/session.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/legacy/utilities/xmlelement.php b/libraries/legacy/utilities/xmlelement.php index 15b1d0a99fc05..729420d797a3f 100644 --- a/libraries/legacy/utilities/xmlelement.php +++ b/libraries/legacy/utilities/xmlelement.php @@ -3,7 +3,7 @@ * @package Joomla.Legacy * @subpackage Utilities * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/loader.php b/libraries/loader.php index 74f3178444425..17814d1faf943 100644 --- a/libraries/loader.php +++ b/libraries/loader.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Access/Access.php b/libraries/src/Access/Access.php index 8a40df8c16664..0a4eaa059110b 100644 --- a/libraries/src/Access/Access.php +++ b/libraries/src/Access/Access.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Access/Exception/NotAllowed.php b/libraries/src/Access/Exception/NotAllowed.php index e9d2981aa391e..789f2e1c92ede 100644 --- a/libraries/src/Access/Exception/NotAllowed.php +++ b/libraries/src/Access/Exception/NotAllowed.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Access/Rule.php b/libraries/src/Access/Rule.php index c43db87f13bca..a688c65e3a955 100644 --- a/libraries/src/Access/Rule.php +++ b/libraries/src/Access/Rule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Access/Rules.php b/libraries/src/Access/Rules.php index dda339a01ad4d..bd14986e46594 100644 --- a/libraries/src/Access/Rules.php +++ b/libraries/src/Access/Rules.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Access/Wrapper/Access.php b/libraries/src/Access/Wrapper/Access.php index d68374f7431f8..56c799215af76 100644 --- a/libraries/src/Access/Wrapper/Access.php +++ b/libraries/src/Access/Wrapper/Access.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/AdministratorApplication.php b/libraries/src/Application/AdministratorApplication.php index 45acf8c8bde54..6d2d8277bd780 100644 --- a/libraries/src/Application/AdministratorApplication.php +++ b/libraries/src/Application/AdministratorApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/ApplicationHelper.php b/libraries/src/Application/ApplicationHelper.php index cb014332280de..00d81319bc882 100644 --- a/libraries/src/Application/ApplicationHelper.php +++ b/libraries/src/Application/ApplicationHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/BaseApplication.php b/libraries/src/Application/BaseApplication.php index 709c212a8c016..15dfe911d9306 100644 --- a/libraries/src/Application/BaseApplication.php +++ b/libraries/src/Application/BaseApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index a6b4e700ec801..3fa85bcd7209e 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/CliApplication.php b/libraries/src/Application/CliApplication.php index 4f7609ef4f732..f74f9ac894296 100644 --- a/libraries/src/Application/CliApplication.php +++ b/libraries/src/Application/CliApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/DaemonApplication.php b/libraries/src/Application/DaemonApplication.php index b3c63502c38de..069f88e780f93 100644 --- a/libraries/src/Application/DaemonApplication.php +++ b/libraries/src/Application/DaemonApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/SiteApplication.php b/libraries/src/Application/SiteApplication.php index 0b9d232a49861..d679010218c83 100644 --- a/libraries/src/Application/SiteApplication.php +++ b/libraries/src/Application/SiteApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Application/WebApplication.php b/libraries/src/Application/WebApplication.php index 57c7f47ecdf12..4cba9b1f9494e 100644 --- a/libraries/src/Application/WebApplication.php +++ b/libraries/src/Application/WebApplication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Association/AssociationExtensionHelper.php b/libraries/src/Association/AssociationExtensionHelper.php index 8b615828b8608..dbc786bd65176 100644 --- a/libraries/src/Association/AssociationExtensionHelper.php +++ b/libraries/src/Association/AssociationExtensionHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Association/AssociationExtensionInterface.php b/libraries/src/Association/AssociationExtensionInterface.php index 779b95f535b04..599b8718438e6 100644 --- a/libraries/src/Association/AssociationExtensionInterface.php +++ b/libraries/src/Association/AssociationExtensionInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Authentication/Authentication.php b/libraries/src/Authentication/Authentication.php index 3bc140effaa71..e09de8473bcc8 100644 --- a/libraries/src/Authentication/Authentication.php +++ b/libraries/src/Authentication/Authentication.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Authentication/AuthenticationResponse.php b/libraries/src/Authentication/AuthenticationResponse.php index 90b0a859a6139..62bfbea6c48d4 100644 --- a/libraries/src/Authentication/AuthenticationResponse.php +++ b/libraries/src/Authentication/AuthenticationResponse.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Cache.php b/libraries/src/Cache/Cache.php index a4caff9087c81..787f31af6ff0f 100644 --- a/libraries/src/Cache/Cache.php +++ b/libraries/src/Cache/Cache.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/CacheController.php b/libraries/src/Cache/CacheController.php index 3a086885572f6..21f043ae12c8d 100644 --- a/libraries/src/Cache/CacheController.php +++ b/libraries/src/Cache/CacheController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/CacheStorage.php b/libraries/src/Cache/CacheStorage.php index d704f71f2362e..10cadf88d6cba 100644 --- a/libraries/src/Cache/CacheStorage.php +++ b/libraries/src/Cache/CacheStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Controller/CallbackController.php b/libraries/src/Cache/Controller/CallbackController.php index 1b88d2ad1f89c..e070a758622ca 100644 --- a/libraries/src/Cache/Controller/CallbackController.php +++ b/libraries/src/Cache/Controller/CallbackController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Controller/OutputController.php b/libraries/src/Cache/Controller/OutputController.php index d54785becb657..f04d8ae0ca937 100644 --- a/libraries/src/Cache/Controller/OutputController.php +++ b/libraries/src/Cache/Controller/OutputController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Controller/PageController.php b/libraries/src/Cache/Controller/PageController.php index 654770c28239d..b4f4e1542810f 100644 --- a/libraries/src/Cache/Controller/PageController.php +++ b/libraries/src/Cache/Controller/PageController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Controller/ViewController.php b/libraries/src/Cache/Controller/ViewController.php index c1133c143d9b4..dce4b6d8f16be 100644 --- a/libraries/src/Cache/Controller/ViewController.php +++ b/libraries/src/Cache/Controller/ViewController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Exception/CacheConnectingException.php b/libraries/src/Cache/Exception/CacheConnectingException.php index e30fe91e90b66..9d0288cab3fb7 100644 --- a/libraries/src/Cache/Exception/CacheConnectingException.php +++ b/libraries/src/Cache/Exception/CacheConnectingException.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Exception/CacheExceptionInterface.php b/libraries/src/Cache/Exception/CacheExceptionInterface.php index 9598abda67d94..b396ddd304842 100644 --- a/libraries/src/Cache/Exception/CacheExceptionInterface.php +++ b/libraries/src/Cache/Exception/CacheExceptionInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Exception/UnsupportedCacheException.php b/libraries/src/Cache/Exception/UnsupportedCacheException.php index 3ad102df2c73a..5607bcd23f2c7 100644 --- a/libraries/src/Cache/Exception/UnsupportedCacheException.php +++ b/libraries/src/Cache/Exception/UnsupportedCacheException.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/ApcStorage.php b/libraries/src/Cache/Storage/ApcStorage.php index f405e2fdb14e7..ea299b12e9ffa 100644 --- a/libraries/src/Cache/Storage/ApcStorage.php +++ b/libraries/src/Cache/Storage/ApcStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/ApcuStorage.php b/libraries/src/Cache/Storage/ApcuStorage.php index 868eb100d905b..2dd4e6dfa8303 100644 --- a/libraries/src/Cache/Storage/ApcuStorage.php +++ b/libraries/src/Cache/Storage/ApcuStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/CacheStorageHelper.php b/libraries/src/Cache/Storage/CacheStorageHelper.php index 03a078b96791a..c293034ca802c 100644 --- a/libraries/src/Cache/Storage/CacheStorageHelper.php +++ b/libraries/src/Cache/Storage/CacheStorageHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/CacheliteStorage.php b/libraries/src/Cache/Storage/CacheliteStorage.php index 4745b854dcd5c..6bf605aa084b2 100644 --- a/libraries/src/Cache/Storage/CacheliteStorage.php +++ b/libraries/src/Cache/Storage/CacheliteStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/FileStorage.php b/libraries/src/Cache/Storage/FileStorage.php index 43aa0e1fd80a9..5384bcbe09348 100644 --- a/libraries/src/Cache/Storage/FileStorage.php +++ b/libraries/src/Cache/Storage/FileStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/MemcacheStorage.php b/libraries/src/Cache/Storage/MemcacheStorage.php index ebd3c59f10a1c..22be41b7b3fee 100644 --- a/libraries/src/Cache/Storage/MemcacheStorage.php +++ b/libraries/src/Cache/Storage/MemcacheStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/MemcachedStorage.php b/libraries/src/Cache/Storage/MemcachedStorage.php index 2f16b79132232..382b86716cbcf 100644 --- a/libraries/src/Cache/Storage/MemcachedStorage.php +++ b/libraries/src/Cache/Storage/MemcachedStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/RedisStorage.php b/libraries/src/Cache/Storage/RedisStorage.php index 1f605bf64ab60..68c2eb8b78769 100644 --- a/libraries/src/Cache/Storage/RedisStorage.php +++ b/libraries/src/Cache/Storage/RedisStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/WincacheStorage.php b/libraries/src/Cache/Storage/WincacheStorage.php index 01d192c4a494a..6b8ff2d99ff19 100644 --- a/libraries/src/Cache/Storage/WincacheStorage.php +++ b/libraries/src/Cache/Storage/WincacheStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Cache/Storage/XcacheStorage.php b/libraries/src/Cache/Storage/XcacheStorage.php index e6920a49140d3..a2cfadebd0f28 100644 --- a/libraries/src/Cache/Storage/XcacheStorage.php +++ b/libraries/src/Cache/Storage/XcacheStorage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Captcha/Captcha.php b/libraries/src/Captcha/Captcha.php index ee18365a4c6a2..396efad21be5d 100644 --- a/libraries/src/Captcha/Captcha.php +++ b/libraries/src/Captcha/Captcha.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Categories/Categories.php b/libraries/src/Categories/Categories.php index 203b8c7b92064..069a51ad44f5b 100644 --- a/libraries/src/Categories/Categories.php +++ b/libraries/src/Categories/Categories.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Categories/CategoryNode.php b/libraries/src/Categories/CategoryNode.php index c10ad76f96f63..d72ad071c07c7 100644 --- a/libraries/src/Categories/CategoryNode.php +++ b/libraries/src/Categories/CategoryNode.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Client/ClientHelper.php b/libraries/src/Client/ClientHelper.php index eb33362510dc2..37983fd33bdb0 100644 --- a/libraries/src/Client/ClientHelper.php +++ b/libraries/src/Client/ClientHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Client/ClientWrapper.php b/libraries/src/Client/ClientWrapper.php index 4f5c6aba86b5b..cc332ac9e6a0b 100644 --- a/libraries/src/Client/ClientWrapper.php +++ b/libraries/src/Client/ClientWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Client/FtpClient.php b/libraries/src/Client/FtpClient.php index 8eb7c673e919a..d740fbbcc3a24 100644 --- a/libraries/src/Client/FtpClient.php +++ b/libraries/src/Client/FtpClient.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/ComponentHelper.php b/libraries/src/Component/ComponentHelper.php index b2888f6c0fd8b..9baa593d5cf56 100644 --- a/libraries/src/Component/ComponentHelper.php +++ b/libraries/src/Component/ComponentHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/ComponentRecord.php b/libraries/src/Component/ComponentRecord.php index fb8de40978c98..d5b9bfe953213 100644 --- a/libraries/src/Component/ComponentRecord.php +++ b/libraries/src/Component/ComponentRecord.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Exception/MissingComponentException.php b/libraries/src/Component/Exception/MissingComponentException.php index f568b53884fd4..e77792667cfe1 100644 --- a/libraries/src/Component/Exception/MissingComponentException.php +++ b/libraries/src/Component/Exception/MissingComponentException.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/RouterBase.php b/libraries/src/Component/Router/RouterBase.php index c67ddead9062d..94b526f6f3e95 100644 --- a/libraries/src/Component/Router/RouterBase.php +++ b/libraries/src/Component/Router/RouterBase.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/RouterInterface.php b/libraries/src/Component/Router/RouterInterface.php index 4a8499a70578b..de1b4d6b2ae10 100644 --- a/libraries/src/Component/Router/RouterInterface.php +++ b/libraries/src/Component/Router/RouterInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/RouterLegacy.php b/libraries/src/Component/Router/RouterLegacy.php index 3cd00ce6e841a..6ad38bafd4c53 100644 --- a/libraries/src/Component/Router/RouterLegacy.php +++ b/libraries/src/Component/Router/RouterLegacy.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/RouterView.php b/libraries/src/Component/Router/RouterView.php index 7b89008daf627..e463d0645efb4 100644 --- a/libraries/src/Component/Router/RouterView.php +++ b/libraries/src/Component/Router/RouterView.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/RouterViewConfiguration.php b/libraries/src/Component/Router/RouterViewConfiguration.php index fd799ef705b04..e3a4128c79141 100644 --- a/libraries/src/Component/Router/RouterViewConfiguration.php +++ b/libraries/src/Component/Router/RouterViewConfiguration.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/Rules/MenuRules.php b/libraries/src/Component/Router/Rules/MenuRules.php index 129ff9b81534c..ab14b509a2184 100644 --- a/libraries/src/Component/Router/Rules/MenuRules.php +++ b/libraries/src/Component/Router/Rules/MenuRules.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/Rules/NomenuRules.php b/libraries/src/Component/Router/Rules/NomenuRules.php index 54f1b43b761b9..5ddb16db03a61 100644 --- a/libraries/src/Component/Router/Rules/NomenuRules.php +++ b/libraries/src/Component/Router/Rules/NomenuRules.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/Rules/RulesInterface.php b/libraries/src/Component/Router/Rules/RulesInterface.php index 422fdd3085fc4..c4ceae2cbcfb6 100644 --- a/libraries/src/Component/Router/Rules/RulesInterface.php +++ b/libraries/src/Component/Router/Rules/RulesInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Component/Router/Rules/StandardRules.php b/libraries/src/Component/Router/Rules/StandardRules.php index a9e0f18fade4b..65c522a317e6c 100644 --- a/libraries/src/Component/Router/Rules/StandardRules.php +++ b/libraries/src/Component/Router/Rules/StandardRules.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/BlowfishCipher.php b/libraries/src/Crypt/Cipher/BlowfishCipher.php index 024e09a961e04..f695c483c8acf 100644 --- a/libraries/src/Crypt/Cipher/BlowfishCipher.php +++ b/libraries/src/Crypt/Cipher/BlowfishCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/CryptoCipher.php b/libraries/src/Crypt/Cipher/CryptoCipher.php index 0af95bfa53095..0d66328914ef1 100644 --- a/libraries/src/Crypt/Cipher/CryptoCipher.php +++ b/libraries/src/Crypt/Cipher/CryptoCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/McryptCipher.php b/libraries/src/Crypt/Cipher/McryptCipher.php index 2dc87af054232..4a7da80f453e4 100644 --- a/libraries/src/Crypt/Cipher/McryptCipher.php +++ b/libraries/src/Crypt/Cipher/McryptCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/Rijndael256Cipher.php b/libraries/src/Crypt/Cipher/Rijndael256Cipher.php index 3a5a99480e439..7ee467bf584c9 100644 --- a/libraries/src/Crypt/Cipher/Rijndael256Cipher.php +++ b/libraries/src/Crypt/Cipher/Rijndael256Cipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/SimpleCipher.php b/libraries/src/Crypt/Cipher/SimpleCipher.php index dae8d18dc6569..4468b307665c8 100644 --- a/libraries/src/Crypt/Cipher/SimpleCipher.php +++ b/libraries/src/Crypt/Cipher/SimpleCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/SodiumCipher.php b/libraries/src/Crypt/Cipher/SodiumCipher.php index 0958b39d18ae3..5500623318e8b 100644 --- a/libraries/src/Crypt/Cipher/SodiumCipher.php +++ b/libraries/src/Crypt/Cipher/SodiumCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Cipher/TripleDesCipher.php b/libraries/src/Crypt/Cipher/TripleDesCipher.php index ca4005744a414..1026e7c2637d9 100644 --- a/libraries/src/Crypt/Cipher/TripleDesCipher.php +++ b/libraries/src/Crypt/Cipher/TripleDesCipher.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/CipherInterface.php b/libraries/src/Crypt/CipherInterface.php index 2a04cc28c8896..609bda425bec7 100644 --- a/libraries/src/Crypt/CipherInterface.php +++ b/libraries/src/Crypt/CipherInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Crypt.php b/libraries/src/Crypt/Crypt.php index 790d6134dc17d..b34b6caade705 100644 --- a/libraries/src/Crypt/Crypt.php +++ b/libraries/src/Crypt/Crypt.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/CryptPassword.php b/libraries/src/Crypt/CryptPassword.php index 405b64b5451b9..0c5fa2041d0af 100644 --- a/libraries/src/Crypt/CryptPassword.php +++ b/libraries/src/Crypt/CryptPassword.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Key.php b/libraries/src/Crypt/Key.php index 2cbf5397b6c43..c87c466fa1d3b 100644 --- a/libraries/src/Crypt/Key.php +++ b/libraries/src/Crypt/Key.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Crypt/Password/SimpleCryptPassword.php b/libraries/src/Crypt/Password/SimpleCryptPassword.php index 5a3dd75f18ca0..e285f8fd120ec 100644 --- a/libraries/src/Crypt/Password/SimpleCryptPassword.php +++ b/libraries/src/Crypt/Password/SimpleCryptPassword.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Date/Date.php b/libraries/src/Date/Date.php index 6f7d3bf9d6857..9751af8fdf253 100644 --- a/libraries/src/Date/Date.php +++ b/libraries/src/Date/Date.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Document.php b/libraries/src/Document/Document.php index 4dbe4e76a534f..d1ab531a038ac 100644 --- a/libraries/src/Document/Document.php +++ b/libraries/src/Document/Document.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/DocumentRenderer.php b/libraries/src/Document/DocumentRenderer.php index 43fbe6d7aa4c3..be0521aba3cca 100644 --- a/libraries/src/Document/DocumentRenderer.php +++ b/libraries/src/Document/DocumentRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/ErrorDocument.php b/libraries/src/Document/ErrorDocument.php index 9d4ea8f4f20f3..c089ae5840480 100644 --- a/libraries/src/Document/ErrorDocument.php +++ b/libraries/src/Document/ErrorDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Feed/FeedEnclosure.php b/libraries/src/Document/Feed/FeedEnclosure.php index 189cf74b332c7..1419ea7b1cfe7 100644 --- a/libraries/src/Document/Feed/FeedEnclosure.php +++ b/libraries/src/Document/Feed/FeedEnclosure.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Feed/FeedImage.php b/libraries/src/Document/Feed/FeedImage.php index badb11218c3cd..f9f34db3927ea 100644 --- a/libraries/src/Document/Feed/FeedImage.php +++ b/libraries/src/Document/Feed/FeedImage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Feed/FeedItem.php b/libraries/src/Document/Feed/FeedItem.php index e057d05f4d148..d6edf4864adf2 100644 --- a/libraries/src/Document/Feed/FeedItem.php +++ b/libraries/src/Document/Feed/FeedItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/FeedDocument.php b/libraries/src/Document/FeedDocument.php index 2909d9f7be0f4..c25295f841b40 100644 --- a/libraries/src/Document/FeedDocument.php +++ b/libraries/src/Document/FeedDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/HtmlDocument.php b/libraries/src/Document/HtmlDocument.php index ee9425c9c0d7d..becac5bff1ef0 100644 --- a/libraries/src/Document/HtmlDocument.php +++ b/libraries/src/Document/HtmlDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/ImageDocument.php b/libraries/src/Document/ImageDocument.php index 0acb8f629ea54..275a4a4ec23ee 100644 --- a/libraries/src/Document/ImageDocument.php +++ b/libraries/src/Document/ImageDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/JsonDocument.php b/libraries/src/Document/JsonDocument.php index c68a5a35703bc..5edfd10cc9cda 100644 --- a/libraries/src/Document/JsonDocument.php +++ b/libraries/src/Document/JsonDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Opensearch/OpensearchImage.php b/libraries/src/Document/Opensearch/OpensearchImage.php index 053dc421017b8..daa049f3cdadb 100644 --- a/libraries/src/Document/Opensearch/OpensearchImage.php +++ b/libraries/src/Document/Opensearch/OpensearchImage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Opensearch/OpensearchUrl.php b/libraries/src/Document/Opensearch/OpensearchUrl.php index c41caf1be9002..fb93375ebf34e 100644 --- a/libraries/src/Document/Opensearch/OpensearchUrl.php +++ b/libraries/src/Document/Opensearch/OpensearchUrl.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/OpensearchDocument.php b/libraries/src/Document/OpensearchDocument.php index a44585ac1f39a..cb288f860fa9d 100644 --- a/libraries/src/Document/OpensearchDocument.php +++ b/libraries/src/Document/OpensearchDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/RawDocument.php b/libraries/src/Document/RawDocument.php index e42e1caf5cb03..124a9b13ecd1b 100644 --- a/libraries/src/Document/RawDocument.php +++ b/libraries/src/Document/RawDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Feed/AtomRenderer.php b/libraries/src/Document/Renderer/Feed/AtomRenderer.php index d2a984f567009..5c77ab7b024bd 100644 --- a/libraries/src/Document/Renderer/Feed/AtomRenderer.php +++ b/libraries/src/Document/Renderer/Feed/AtomRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Feed/RssRenderer.php b/libraries/src/Document/Renderer/Feed/RssRenderer.php index 49538b3a3fb14..0c983b3bf57e5 100644 --- a/libraries/src/Document/Renderer/Feed/RssRenderer.php +++ b/libraries/src/Document/Renderer/Feed/RssRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Html/ComponentRenderer.php b/libraries/src/Document/Renderer/Html/ComponentRenderer.php index e52996939b8f4..725b70c0fdf45 100644 --- a/libraries/src/Document/Renderer/Html/ComponentRenderer.php +++ b/libraries/src/Document/Renderer/Html/ComponentRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Html/HeadRenderer.php b/libraries/src/Document/Renderer/Html/HeadRenderer.php index ff39530328d86..c9f12de1f1f80 100644 --- a/libraries/src/Document/Renderer/Html/HeadRenderer.php +++ b/libraries/src/Document/Renderer/Html/HeadRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Html/MessageRenderer.php b/libraries/src/Document/Renderer/Html/MessageRenderer.php index ce169d301e7a5..7f27e66539697 100644 --- a/libraries/src/Document/Renderer/Html/MessageRenderer.php +++ b/libraries/src/Document/Renderer/Html/MessageRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Html/ModuleRenderer.php b/libraries/src/Document/Renderer/Html/ModuleRenderer.php index b330e79b97256..92e9d6305ff18 100644 --- a/libraries/src/Document/Renderer/Html/ModuleRenderer.php +++ b/libraries/src/Document/Renderer/Html/ModuleRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/Renderer/Html/ModulesRenderer.php b/libraries/src/Document/Renderer/Html/ModulesRenderer.php index 995a997c12833..fa51205f5fb3e 100644 --- a/libraries/src/Document/Renderer/Html/ModulesRenderer.php +++ b/libraries/src/Document/Renderer/Html/ModulesRenderer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Document/XmlDocument.php b/libraries/src/Document/XmlDocument.php index fa1cae49ae2e6..1ed2a73f915ed 100644 --- a/libraries/src/Document/XmlDocument.php +++ b/libraries/src/Document/XmlDocument.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Editor/Editor.php b/libraries/src/Editor/Editor.php index f846e3aa792c5..8412de082c702 100644 --- a/libraries/src/Editor/Editor.php +++ b/libraries/src/Editor/Editor.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Environment/Browser.php b/libraries/src/Environment/Browser.php index 78e40f77ea216..e8048f96bf04a 100644 --- a/libraries/src/Environment/Browser.php +++ b/libraries/src/Environment/Browser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Exception/ExceptionHandler.php b/libraries/src/Exception/ExceptionHandler.php index 95d0cd12734d6..b3cfc2b8f26ec 100644 --- a/libraries/src/Exception/ExceptionHandler.php +++ b/libraries/src/Exception/ExceptionHandler.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index 593e398f19054..b1b6b23e5a44e 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Factory.php b/libraries/src/Factory.php index e44c88fe90862..db99147a65686 100644 --- a/libraries/src/Factory.php +++ b/libraries/src/Factory.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Feed.php b/libraries/src/Feed/Feed.php index b6964067e20b6..440e7f6e5b430 100644 --- a/libraries/src/Feed/Feed.php +++ b/libraries/src/Feed/Feed.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/FeedEntry.php b/libraries/src/Feed/FeedEntry.php index f19261d450ce0..2771423bbe23b 100644 --- a/libraries/src/Feed/FeedEntry.php +++ b/libraries/src/Feed/FeedEntry.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/FeedFactory.php b/libraries/src/Feed/FeedFactory.php index b3392e8d5e0af..a9a31d4e7aa18 100644 --- a/libraries/src/Feed/FeedFactory.php +++ b/libraries/src/Feed/FeedFactory.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/FeedLink.php b/libraries/src/Feed/FeedLink.php index 92b2e20361b84..82275a54fd25d 100644 --- a/libraries/src/Feed/FeedLink.php +++ b/libraries/src/Feed/FeedLink.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/FeedParser.php b/libraries/src/Feed/FeedParser.php index f942d45f058f5..68739fb60a8e1 100644 --- a/libraries/src/Feed/FeedParser.php +++ b/libraries/src/Feed/FeedParser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/FeedPerson.php b/libraries/src/Feed/FeedPerson.php index ac6034578a6f8..93610728c7d37 100644 --- a/libraries/src/Feed/FeedPerson.php +++ b/libraries/src/Feed/FeedPerson.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Parser/AtomParser.php b/libraries/src/Feed/Parser/AtomParser.php index 0143b2b7db9e8..29cb2b4062414 100644 --- a/libraries/src/Feed/Parser/AtomParser.php +++ b/libraries/src/Feed/Parser/AtomParser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Parser/NamespaceParserInterface.php b/libraries/src/Feed/Parser/NamespaceParserInterface.php index 21223dba1680f..2e89a57c97bb9 100644 --- a/libraries/src/Feed/Parser/NamespaceParserInterface.php +++ b/libraries/src/Feed/Parser/NamespaceParserInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Parser/Rss/ItunesRssParser.php b/libraries/src/Feed/Parser/Rss/ItunesRssParser.php index 38f827643cc38..13b5f78554b0d 100644 --- a/libraries/src/Feed/Parser/Rss/ItunesRssParser.php +++ b/libraries/src/Feed/Parser/Rss/ItunesRssParser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Parser/Rss/MediaRssParser.php b/libraries/src/Feed/Parser/Rss/MediaRssParser.php index d91626de9f12f..fc3081a183cf8 100644 --- a/libraries/src/Feed/Parser/Rss/MediaRssParser.php +++ b/libraries/src/Feed/Parser/Rss/MediaRssParser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Feed/Parser/RssParser.php b/libraries/src/Feed/Parser/RssParser.php index e7df3a74254d2..233efcd892d88 100644 --- a/libraries/src/Feed/Parser/RssParser.php +++ b/libraries/src/Feed/Parser/RssParser.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Filter/InputFilter.php b/libraries/src/Filter/InputFilter.php index 439f3db384786..d6449b42def75 100644 --- a/libraries/src/Filter/InputFilter.php +++ b/libraries/src/Filter/InputFilter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Filter/OutputFilter.php b/libraries/src/Filter/OutputFilter.php index cfdbb80c348af..3028df22f9769 100644 --- a/libraries/src/Filter/OutputFilter.php +++ b/libraries/src/Filter/OutputFilter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Filter/Wrapper/OutputFilterWrapper.php b/libraries/src/Filter/Wrapper/OutputFilterWrapper.php index c1f48fedb2110..5097e0a3c38ea 100644 --- a/libraries/src/Filter/Wrapper/OutputFilterWrapper.php +++ b/libraries/src/Filter/Wrapper/OutputFilterWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/AuthorField.php b/libraries/src/Form/Field/AuthorField.php index 1063ae0b27e31..3289d0ab51a63 100644 --- a/libraries/src/Form/Field/AuthorField.php +++ b/libraries/src/Form/Field/AuthorField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/CaptchaField.php b/libraries/src/Form/Field/CaptchaField.php index 7da2e386fbb3b..9e0646c18a4a2 100644 --- a/libraries/src/Form/Field/CaptchaField.php +++ b/libraries/src/Form/Field/CaptchaField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ChromestyleField.php b/libraries/src/Form/Field/ChromestyleField.php index b96353c5d1d18..39a79bd94ff4f 100644 --- a/libraries/src/Form/Field/ChromestyleField.php +++ b/libraries/src/Form/Field/ChromestyleField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ContenthistoryField.php b/libraries/src/Form/Field/ContenthistoryField.php index 3cef3734bbc8d..611ad627e7a46 100644 --- a/libraries/src/Form/Field/ContenthistoryField.php +++ b/libraries/src/Form/Field/ContenthistoryField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ContentlanguageField.php b/libraries/src/Form/Field/ContentlanguageField.php index 4015c4f400354..79b00117bce24 100644 --- a/libraries/src/Form/Field/ContentlanguageField.php +++ b/libraries/src/Form/Field/ContentlanguageField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ContenttypeField.php b/libraries/src/Form/Field/ContenttypeField.php index 6950dfdf0eaa7..2b8e12b795f45 100644 --- a/libraries/src/Form/Field/ContenttypeField.php +++ b/libraries/src/Form/Field/ContenttypeField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/EditorField.php b/libraries/src/Form/Field/EditorField.php index 9fbef77c3c555..e17fb72b6d84b 100644 --- a/libraries/src/Form/Field/EditorField.php +++ b/libraries/src/Form/Field/EditorField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/FrontendlanguageField.php b/libraries/src/Form/Field/FrontendlanguageField.php index a742505124d7d..f529e1f75c8b7 100644 --- a/libraries/src/Form/Field/FrontendlanguageField.php +++ b/libraries/src/Form/Field/FrontendlanguageField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/HeadertagField.php b/libraries/src/Form/Field/HeadertagField.php index e6e58295d9c48..0ddb78331a313 100644 --- a/libraries/src/Form/Field/HeadertagField.php +++ b/libraries/src/Form/Field/HeadertagField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/HelpsiteField.php b/libraries/src/Form/Field/HelpsiteField.php index 3ab75ee2d7a0c..90c72b2d7cbdf 100644 --- a/libraries/src/Form/Field/HelpsiteField.php +++ b/libraries/src/Form/Field/HelpsiteField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/LastvisitdaterangeField.php b/libraries/src/Form/Field/LastvisitdaterangeField.php index 8f89e9d143741..334f69d525bca 100644 --- a/libraries/src/Form/Field/LastvisitdaterangeField.php +++ b/libraries/src/Form/Field/LastvisitdaterangeField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/LimitboxField.php b/libraries/src/Form/Field/LimitboxField.php index bb169972f5189..77e1c27142d52 100644 --- a/libraries/src/Form/Field/LimitboxField.php +++ b/libraries/src/Form/Field/LimitboxField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/MediaField.php b/libraries/src/Form/Field/MediaField.php index dc9c1df92c20e..c3a0a5998c3c6 100644 --- a/libraries/src/Form/Field/MediaField.php +++ b/libraries/src/Form/Field/MediaField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/MenuField.php b/libraries/src/Form/Field/MenuField.php index b347ed34eaf08..1c3ba32660627 100644 --- a/libraries/src/Form/Field/MenuField.php +++ b/libraries/src/Form/Field/MenuField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/MenuitemField.php b/libraries/src/Form/Field/MenuitemField.php index 382912c78cedd..3d63d59c8ca06 100644 --- a/libraries/src/Form/Field/MenuitemField.php +++ b/libraries/src/Form/Field/MenuitemField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ModuleorderField.php b/libraries/src/Form/Field/ModuleorderField.php index 1467cff334bbd..915e7ac196ce5 100644 --- a/libraries/src/Form/Field/ModuleorderField.php +++ b/libraries/src/Form/Field/ModuleorderField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ModulepositionField.php b/libraries/src/Form/Field/ModulepositionField.php index 8d2d96555a0d6..16054853f2db1 100644 --- a/libraries/src/Form/Field/ModulepositionField.php +++ b/libraries/src/Form/Field/ModulepositionField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/ModuletagField.php b/libraries/src/Form/Field/ModuletagField.php index 5162421774dd1..e442a1957684f 100644 --- a/libraries/src/Form/Field/ModuletagField.php +++ b/libraries/src/Form/Field/ModuletagField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/OrderingField.php b/libraries/src/Form/Field/OrderingField.php index 43e8a909d1a5d..c358961b8847f 100644 --- a/libraries/src/Form/Field/OrderingField.php +++ b/libraries/src/Form/Field/OrderingField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/PluginstatusField.php b/libraries/src/Form/Field/PluginstatusField.php index 9ce6a10e4831c..0fe9ce750bd9e 100644 --- a/libraries/src/Form/Field/PluginstatusField.php +++ b/libraries/src/Form/Field/PluginstatusField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/RedirectStatusField.php b/libraries/src/Form/Field/RedirectStatusField.php index a4f531d00dc89..47f40b1909db5 100644 --- a/libraries/src/Form/Field/RedirectStatusField.php +++ b/libraries/src/Form/Field/RedirectStatusField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/RegistrationdaterangeField.php b/libraries/src/Form/Field/RegistrationdaterangeField.php index 2e29aa1cbc613..36cc4078afa77 100644 --- a/libraries/src/Form/Field/RegistrationdaterangeField.php +++ b/libraries/src/Form/Field/RegistrationdaterangeField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/StatusField.php b/libraries/src/Form/Field/StatusField.php index 4f07b50358f6f..2aed50f340ae4 100644 --- a/libraries/src/Form/Field/StatusField.php +++ b/libraries/src/Form/Field/StatusField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/TagField.php b/libraries/src/Form/Field/TagField.php index 83b251962ef4e..fac09bb18507b 100644 --- a/libraries/src/Form/Field/TagField.php +++ b/libraries/src/Form/Field/TagField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/TemplatestyleField.php b/libraries/src/Form/Field/TemplatestyleField.php index 1a5726952b994..16f99d5c4294b 100644 --- a/libraries/src/Form/Field/TemplatestyleField.php +++ b/libraries/src/Form/Field/TemplatestyleField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/UserField.php b/libraries/src/Form/Field/UserField.php index 50d34bd504fac..b3bd9cb92579a 100644 --- a/libraries/src/Form/Field/UserField.php +++ b/libraries/src/Form/Field/UserField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/UseractiveField.php b/libraries/src/Form/Field/UseractiveField.php index 216a157a1bf77..19bd29288776c 100644 --- a/libraries/src/Form/Field/UseractiveField.php +++ b/libraries/src/Form/Field/UseractiveField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/UsergrouplistField.php b/libraries/src/Form/Field/UsergrouplistField.php index ea7164b852375..d01f1ab015672 100644 --- a/libraries/src/Form/Field/UsergrouplistField.php +++ b/libraries/src/Form/Field/UsergrouplistField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Field/UserstateField.php b/libraries/src/Form/Field/UserstateField.php index 46aae07bc70d2..6059ec66e9d4b 100644 --- a/libraries/src/Form/Field/UserstateField.php +++ b/libraries/src/Form/Field/UserstateField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Form.php b/libraries/src/Form/Form.php index 700cf67387595..c2af7618cf1d2 100644 --- a/libraries/src/Form/Form.php +++ b/libraries/src/Form/Form.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/FormField.php b/libraries/src/Form/FormField.php index 00eefdf0c8b02..36d5677820155 100644 --- a/libraries/src/Form/FormField.php +++ b/libraries/src/Form/FormField.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/FormHelper.php b/libraries/src/Form/FormHelper.php index c25780d3b252c..86e3cada61a85 100644 --- a/libraries/src/Form/FormHelper.php +++ b/libraries/src/Form/FormHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/FormRule.php b/libraries/src/Form/FormRule.php index cd235f3ebe5d5..e29e40c897860 100644 --- a/libraries/src/Form/FormRule.php +++ b/libraries/src/Form/FormRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/FormWrapper.php b/libraries/src/Form/FormWrapper.php index ed11097aec5f1..4443577013a50 100644 --- a/libraries/src/Form/FormWrapper.php +++ b/libraries/src/Form/FormWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/BooleanRule.php b/libraries/src/Form/Rule/BooleanRule.php index a543bc505e769..ac578850bfce0 100644 --- a/libraries/src/Form/Rule/BooleanRule.php +++ b/libraries/src/Form/Rule/BooleanRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/CalendarRule.php b/libraries/src/Form/Rule/CalendarRule.php index 28287f0767b96..4fc70c50e507e 100644 --- a/libraries/src/Form/Rule/CalendarRule.php +++ b/libraries/src/Form/Rule/CalendarRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/CaptchaRule.php b/libraries/src/Form/Rule/CaptchaRule.php index 35f886918d646..8de64ab3d282b 100644 --- a/libraries/src/Form/Rule/CaptchaRule.php +++ b/libraries/src/Form/Rule/CaptchaRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/ColorRule.php b/libraries/src/Form/Rule/ColorRule.php index 58017adb62e1b..85527dcff41fe 100644 --- a/libraries/src/Form/Rule/ColorRule.php +++ b/libraries/src/Form/Rule/ColorRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/EmailRule.php b/libraries/src/Form/Rule/EmailRule.php index a818bfd27b9af..7043bef0f5663 100644 --- a/libraries/src/Form/Rule/EmailRule.php +++ b/libraries/src/Form/Rule/EmailRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/EqualsRule.php b/libraries/src/Form/Rule/EqualsRule.php index 463ab4133a2af..cfeeca3d83373 100644 --- a/libraries/src/Form/Rule/EqualsRule.php +++ b/libraries/src/Form/Rule/EqualsRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/NotequalsRule.php b/libraries/src/Form/Rule/NotequalsRule.php index f627766116c11..2e0cf53847e87 100644 --- a/libraries/src/Form/Rule/NotequalsRule.php +++ b/libraries/src/Form/Rule/NotequalsRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/NumberRule.php b/libraries/src/Form/Rule/NumberRule.php index 8924cee93aa60..bdbbc1131c8fd 100644 --- a/libraries/src/Form/Rule/NumberRule.php +++ b/libraries/src/Form/Rule/NumberRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/OptionsRule.php b/libraries/src/Form/Rule/OptionsRule.php index 5e12491421089..c0ffee8026ca2 100644 --- a/libraries/src/Form/Rule/OptionsRule.php +++ b/libraries/src/Form/Rule/OptionsRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/PasswordRule.php b/libraries/src/Form/Rule/PasswordRule.php index a926b5668e28c..abf9a44329080 100644 --- a/libraries/src/Form/Rule/PasswordRule.php +++ b/libraries/src/Form/Rule/PasswordRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/RulesRule.php b/libraries/src/Form/Rule/RulesRule.php index e88ab5f035419..8d9ad831dc7a6 100644 --- a/libraries/src/Form/Rule/RulesRule.php +++ b/libraries/src/Form/Rule/RulesRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/TelRule.php b/libraries/src/Form/Rule/TelRule.php index aca4920b63b35..eb2bb19a48ef9 100644 --- a/libraries/src/Form/Rule/TelRule.php +++ b/libraries/src/Form/Rule/TelRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/UrlRule.php b/libraries/src/Form/Rule/UrlRule.php index c8a99f40fa3e9..d6f95004ed328 100644 --- a/libraries/src/Form/Rule/UrlRule.php +++ b/libraries/src/Form/Rule/UrlRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Form/Rule/UsernameRule.php b/libraries/src/Form/Rule/UsernameRule.php index 1d550c3e1d59a..096f4ee41d4b3 100644 --- a/libraries/src/Form/Rule/UsernameRule.php +++ b/libraries/src/Form/Rule/UsernameRule.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/HTML/HTMLHelper.php b/libraries/src/HTML/HTMLHelper.php index 1caf8f1874889..b13fe524f8db7 100644 --- a/libraries/src/HTML/HTMLHelper.php +++ b/libraries/src/HTML/HTMLHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Help/Help.php b/libraries/src/Help/Help.php index d9702d6fbf6bb..6dbb0654215bf 100644 --- a/libraries/src/Help/Help.php +++ b/libraries/src/Help/Help.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/AuthenticationHelper.php b/libraries/src/Helper/AuthenticationHelper.php index 8ef97ba942eda..eeeb1f179b36e 100644 --- a/libraries/src/Helper/AuthenticationHelper.php +++ b/libraries/src/Helper/AuthenticationHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/CMSHelper.php b/libraries/src/Helper/CMSHelper.php index f19f68fc23cc5..f8e9aecd9047f 100644 --- a/libraries/src/Helper/CMSHelper.php +++ b/libraries/src/Helper/CMSHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/ContentHelper.php b/libraries/src/Helper/ContentHelper.php index e5c7de30d0277..cc951414544aa 100644 --- a/libraries/src/Helper/ContentHelper.php +++ b/libraries/src/Helper/ContentHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/ContentHistoryHelper.php b/libraries/src/Helper/ContentHistoryHelper.php index 639d5ad4fa02f..3191653f861e9 100644 --- a/libraries/src/Helper/ContentHistoryHelper.php +++ b/libraries/src/Helper/ContentHistoryHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/LibraryHelper.php b/libraries/src/Helper/LibraryHelper.php index 808a5625eece7..c8b4efe6ad8a3 100644 --- a/libraries/src/Helper/LibraryHelper.php +++ b/libraries/src/Helper/LibraryHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/MediaHelper.php b/libraries/src/Helper/MediaHelper.php index ffd028d55fbe1..4e4d7d5bbcafa 100644 --- a/libraries/src/Helper/MediaHelper.php +++ b/libraries/src/Helper/MediaHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/ModuleHelper.php b/libraries/src/Helper/ModuleHelper.php index 7dbb32f163282..8e398e3ca95e3 100644 --- a/libraries/src/Helper/ModuleHelper.php +++ b/libraries/src/Helper/ModuleHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/RouteHelper.php b/libraries/src/Helper/RouteHelper.php index 330c047961c13..23a59e95a177b 100644 --- a/libraries/src/Helper/RouteHelper.php +++ b/libraries/src/Helper/RouteHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/SearchHelper.php b/libraries/src/Helper/SearchHelper.php index b54e15a8348e3..6faba1851392e 100644 --- a/libraries/src/Helper/SearchHelper.php +++ b/libraries/src/Helper/SearchHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/TagsHelper.php b/libraries/src/Helper/TagsHelper.php index 4352a26573b31..fd13ed2f00d78 100644 --- a/libraries/src/Helper/TagsHelper.php +++ b/libraries/src/Helper/TagsHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Helper/UserGroupsHelper.php b/libraries/src/Helper/UserGroupsHelper.php index 6642be8ba46c2..71606c8eaabc5 100644 --- a/libraries/src/Helper/UserGroupsHelper.php +++ b/libraries/src/Helper/UserGroupsHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Http.php b/libraries/src/Http/Http.php index d6e333bab43d1..680c9f85a02c1 100644 --- a/libraries/src/Http/Http.php +++ b/libraries/src/Http/Http.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/HttpFactory.php b/libraries/src/Http/HttpFactory.php index 7e2bd8ec58c0c..4349b39b8b56a 100644 --- a/libraries/src/Http/HttpFactory.php +++ b/libraries/src/Http/HttpFactory.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Response.php b/libraries/src/Http/Response.php index 5ae5e3d0b58fa..d98f4da9fbb54 100644 --- a/libraries/src/Http/Response.php +++ b/libraries/src/Http/Response.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Transport/CurlTransport.php b/libraries/src/Http/Transport/CurlTransport.php index 45a07db15e0b5..15658292340c8 100644 --- a/libraries/src/Http/Transport/CurlTransport.php +++ b/libraries/src/Http/Transport/CurlTransport.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Transport/SocketTransport.php b/libraries/src/Http/Transport/SocketTransport.php index a1c448856272a..946b6eadff5b7 100644 --- a/libraries/src/Http/Transport/SocketTransport.php +++ b/libraries/src/Http/Transport/SocketTransport.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Transport/StreamTransport.php b/libraries/src/Http/Transport/StreamTransport.php index 675f400ee3791..b258b7ae88033 100644 --- a/libraries/src/Http/Transport/StreamTransport.php +++ b/libraries/src/Http/Transport/StreamTransport.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/TransportInterface.php b/libraries/src/Http/TransportInterface.php index 340dfec0db2cf..0c7b3eaac4b86 100644 --- a/libraries/src/Http/TransportInterface.php +++ b/libraries/src/Http/TransportInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Http/Wrapper/FactoryWrapper.php b/libraries/src/Http/Wrapper/FactoryWrapper.php index ae8906cced08f..4432ed15cb859 100644 --- a/libraries/src/Http/Wrapper/FactoryWrapper.php +++ b/libraries/src/Http/Wrapper/FactoryWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Image/Image.php b/libraries/src/Image/Image.php index 271f2fc07d99b..12350195c026d 100644 --- a/libraries/src/Image/Image.php +++ b/libraries/src/Image/Image.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Image/ImageFilter.php b/libraries/src/Image/ImageFilter.php index 1d160e34c82c9..5d49416543cd6 100644 --- a/libraries/src/Image/ImageFilter.php +++ b/libraries/src/Image/ImageFilter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Input/Cli.php b/libraries/src/Input/Cli.php index 2544ec33bcc9a..ad7c9f54eab43 100644 --- a/libraries/src/Input/Cli.php +++ b/libraries/src/Input/Cli.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Input/Cookie.php b/libraries/src/Input/Cookie.php index b928e45e486dc..a5cad0a1b4795 100644 --- a/libraries/src/Input/Cookie.php +++ b/libraries/src/Input/Cookie.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Input/Files.php b/libraries/src/Input/Files.php index 637d14c80b5e2..a76e760ad3644 100644 --- a/libraries/src/Input/Files.php +++ b/libraries/src/Input/Files.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Input/Input.php b/libraries/src/Input/Input.php index 55c8e45b1ff4d..7cea9ac1425f0 100644 --- a/libraries/src/Input/Input.php +++ b/libraries/src/Input/Input.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Input/Json.php b/libraries/src/Input/Json.php index a3ea70f52c22c..1ac1e6128c1e4 100644 --- a/libraries/src/Input/Json.php +++ b/libraries/src/Input/Json.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/ComponentAdapter.php b/libraries/src/Installer/Adapter/ComponentAdapter.php index cf707b58fe8cd..ec770a50b083f 100644 --- a/libraries/src/Installer/Adapter/ComponentAdapter.php +++ b/libraries/src/Installer/Adapter/ComponentAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/FileAdapter.php b/libraries/src/Installer/Adapter/FileAdapter.php index dc87aca7dd80b..7b71b1bd25d1f 100644 --- a/libraries/src/Installer/Adapter/FileAdapter.php +++ b/libraries/src/Installer/Adapter/FileAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/LanguageAdapter.php b/libraries/src/Installer/Adapter/LanguageAdapter.php index 8e78fe54077c3..7cc84a8d952fa 100644 --- a/libraries/src/Installer/Adapter/LanguageAdapter.php +++ b/libraries/src/Installer/Adapter/LanguageAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/LibraryAdapter.php b/libraries/src/Installer/Adapter/LibraryAdapter.php index f08d2f2caa5d0..61b75b7a93f5d 100644 --- a/libraries/src/Installer/Adapter/LibraryAdapter.php +++ b/libraries/src/Installer/Adapter/LibraryAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/ModuleAdapter.php b/libraries/src/Installer/Adapter/ModuleAdapter.php index 388db86807e08..7007b4d5365f8 100644 --- a/libraries/src/Installer/Adapter/ModuleAdapter.php +++ b/libraries/src/Installer/Adapter/ModuleAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/PackageAdapter.php b/libraries/src/Installer/Adapter/PackageAdapter.php index 40fc483e4edbf..93b7bdeb542cf 100644 --- a/libraries/src/Installer/Adapter/PackageAdapter.php +++ b/libraries/src/Installer/Adapter/PackageAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/PluginAdapter.php b/libraries/src/Installer/Adapter/PluginAdapter.php index d211b2d2e1d21..50f802291a2cb 100644 --- a/libraries/src/Installer/Adapter/PluginAdapter.php +++ b/libraries/src/Installer/Adapter/PluginAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Adapter/TemplateAdapter.php b/libraries/src/Installer/Adapter/TemplateAdapter.php index 77d0e6da5a970..0368d3c67c9c9 100644 --- a/libraries/src/Installer/Adapter/TemplateAdapter.php +++ b/libraries/src/Installer/Adapter/TemplateAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Installer.php b/libraries/src/Installer/Installer.php index 9ad0fdfafe370..4b5ae9ed2bbd0 100644 --- a/libraries/src/Installer/Installer.php +++ b/libraries/src/Installer/Installer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/InstallerAdapter.php b/libraries/src/Installer/InstallerAdapter.php index 545092e0956fb..88ef841e1cf77 100644 --- a/libraries/src/Installer/InstallerAdapter.php +++ b/libraries/src/Installer/InstallerAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/InstallerExtension.php b/libraries/src/Installer/InstallerExtension.php index 993be2f1efc8c..db5d4a73d7e5b 100644 --- a/libraries/src/Installer/InstallerExtension.php +++ b/libraries/src/Installer/InstallerExtension.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/InstallerHelper.php b/libraries/src/Installer/InstallerHelper.php index 7523cc69618f0..83bf3d29336ea 100644 --- a/libraries/src/Installer/InstallerHelper.php +++ b/libraries/src/Installer/InstallerHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/InstallerScript.php b/libraries/src/Installer/InstallerScript.php index 137379b1d8a91..a3ecb19c1cc91 100644 --- a/libraries/src/Installer/InstallerScript.php +++ b/libraries/src/Installer/InstallerScript.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Manifest.php b/libraries/src/Installer/Manifest.php index 186d898fdad8d..4bf31aceba116 100644 --- a/libraries/src/Installer/Manifest.php +++ b/libraries/src/Installer/Manifest.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Manifest/LibraryManifest.php b/libraries/src/Installer/Manifest/LibraryManifest.php index 3b0390b26da33..3ad2da4e208af 100644 --- a/libraries/src/Installer/Manifest/LibraryManifest.php +++ b/libraries/src/Installer/Manifest/LibraryManifest.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Installer/Manifest/PackageManifest.php b/libraries/src/Installer/Manifest/PackageManifest.php index 84bd41eca98d7..2cd4b4c8c38de 100644 --- a/libraries/src/Installer/Manifest/PackageManifest.php +++ b/libraries/src/Installer/Manifest/PackageManifest.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Associations.php b/libraries/src/Language/Associations.php index 8773b25a9316e..1aacc695dfb78 100644 --- a/libraries/src/Language/Associations.php +++ b/libraries/src/Language/Associations.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Language.php b/libraries/src/Language/Language.php index e2b7d9e5a5729..922c62a8f508c 100644 --- a/libraries/src/Language/Language.php +++ b/libraries/src/Language/Language.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/LanguageHelper.php b/libraries/src/Language/LanguageHelper.php index 9c6ffdbf2e5d7..16a7895315763 100644 --- a/libraries/src/Language/LanguageHelper.php +++ b/libraries/src/Language/LanguageHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/LanguageStemmer.php b/libraries/src/Language/LanguageStemmer.php index 9079947d3724e..20c6fb2016890 100644 --- a/libraries/src/Language/LanguageStemmer.php +++ b/libraries/src/Language/LanguageStemmer.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Multilanguage.php b/libraries/src/Language/Multilanguage.php index d6d92b79d32e6..d3d18cd5d0296 100644 --- a/libraries/src/Language/Multilanguage.php +++ b/libraries/src/Language/Multilanguage.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Stemmer/Porteren.php b/libraries/src/Language/Stemmer/Porteren.php index eeeb13d9915a7..8dce953790f0d 100644 --- a/libraries/src/Language/Stemmer/Porteren.php +++ b/libraries/src/Language/Stemmer/Porteren.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @copyright Copyright (C) 2005 Richard Heyes (http://www.phpguru.org/). All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Text.php b/libraries/src/Language/Text.php index 9e3d9f341aeae..4ada0c5448313 100644 --- a/libraries/src/Language/Text.php +++ b/libraries/src/Language/Text.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Transliterate.php b/libraries/src/Language/Transliterate.php index 3649dbd053ba0..5d65dc6f856b3 100644 --- a/libraries/src/Language/Transliterate.php +++ b/libraries/src/Language/Transliterate.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Wrapper/JTextWrapper.php b/libraries/src/Language/Wrapper/JTextWrapper.php index 9a1e02fb47389..796dde0adbf00 100644 --- a/libraries/src/Language/Wrapper/JTextWrapper.php +++ b/libraries/src/Language/Wrapper/JTextWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Wrapper/LanguageHelperWrapper.php b/libraries/src/Language/Wrapper/LanguageHelperWrapper.php index 079422e8e8d30..f614fbfb9c5cf 100644 --- a/libraries/src/Language/Wrapper/LanguageHelperWrapper.php +++ b/libraries/src/Language/Wrapper/LanguageHelperWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Language/Wrapper/TransliterateWrapper.php b/libraries/src/Language/Wrapper/TransliterateWrapper.php index 00883a6da2a06..5bed59232b553 100644 --- a/libraries/src/Language/Wrapper/TransliterateWrapper.php +++ b/libraries/src/Language/Wrapper/TransliterateWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Layout/BaseLayout.php b/libraries/src/Layout/BaseLayout.php index 684b6d97f6450..622d6b615ed7a 100644 --- a/libraries/src/Layout/BaseLayout.php +++ b/libraries/src/Layout/BaseLayout.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Layout/FileLayout.php b/libraries/src/Layout/FileLayout.php index 868149d80bc89..3b4efeb1cfcde 100644 --- a/libraries/src/Layout/FileLayout.php +++ b/libraries/src/Layout/FileLayout.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Layout/LayoutHelper.php b/libraries/src/Layout/LayoutHelper.php index fbb23dccc82a0..0d63586e1c432 100644 --- a/libraries/src/Layout/LayoutHelper.php +++ b/libraries/src/Layout/LayoutHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Layout/LayoutInterface.php b/libraries/src/Layout/LayoutInterface.php index 3af00240df45c..0001c4f2eb70a 100644 --- a/libraries/src/Layout/LayoutInterface.php +++ b/libraries/src/Layout/LayoutInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/DelegatingPsrLogger.php b/libraries/src/Log/DelegatingPsrLogger.php index d33684f8e80fc..2026194cb32ad 100644 --- a/libraries/src/Log/DelegatingPsrLogger.php +++ b/libraries/src/Log/DelegatingPsrLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Log.php b/libraries/src/Log/Log.php index 4f6946b9b708e..32500c9698fa5 100644 --- a/libraries/src/Log/Log.php +++ b/libraries/src/Log/Log.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/LogEntry.php b/libraries/src/Log/LogEntry.php index a41a475972e43..457ce9553d67d 100644 --- a/libraries/src/Log/LogEntry.php +++ b/libraries/src/Log/LogEntry.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger.php b/libraries/src/Log/Logger.php index 09f1f1803053d..5ad8306b2ab9e 100644 --- a/libraries/src/Log/Logger.php +++ b/libraries/src/Log/Logger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/CallbackLogger.php b/libraries/src/Log/Logger/CallbackLogger.php index 6d876bed5cfdb..763855e6b2032 100644 --- a/libraries/src/Log/Logger/CallbackLogger.php +++ b/libraries/src/Log/Logger/CallbackLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/DatabaseLogger.php b/libraries/src/Log/Logger/DatabaseLogger.php index 6024a086dadf2..7eac79e513390 100644 --- a/libraries/src/Log/Logger/DatabaseLogger.php +++ b/libraries/src/Log/Logger/DatabaseLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/EchoLogger.php b/libraries/src/Log/Logger/EchoLogger.php index d47c20d8da63d..412012d6a1686 100644 --- a/libraries/src/Log/Logger/EchoLogger.php +++ b/libraries/src/Log/Logger/EchoLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/FormattedtextLogger.php b/libraries/src/Log/Logger/FormattedtextLogger.php index 050996dc33069..158935a0a2dab 100644 --- a/libraries/src/Log/Logger/FormattedtextLogger.php +++ b/libraries/src/Log/Logger/FormattedtextLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/MessagequeueLogger.php b/libraries/src/Log/Logger/MessagequeueLogger.php index 4f7f965f9d998..7e53f2280eed7 100644 --- a/libraries/src/Log/Logger/MessagequeueLogger.php +++ b/libraries/src/Log/Logger/MessagequeueLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/SyslogLogger.php b/libraries/src/Log/Logger/SyslogLogger.php index 21e70e51e8184..f6886cd76ccd8 100644 --- a/libraries/src/Log/Logger/SyslogLogger.php +++ b/libraries/src/Log/Logger/SyslogLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Log/Logger/W3cLogger.php b/libraries/src/Log/Logger/W3cLogger.php index 4fa0c9abb2363..53dc41a6865dd 100644 --- a/libraries/src/Log/Logger/W3cLogger.php +++ b/libraries/src/Log/Logger/W3cLogger.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Controller/AdminController.php b/libraries/src/MVC/Controller/AdminController.php index ac7ae6db4a59d..cc058024c82cb 100644 --- a/libraries/src/MVC/Controller/AdminController.php +++ b/libraries/src/MVC/Controller/AdminController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Controller/BaseController.php b/libraries/src/MVC/Controller/BaseController.php index 0ee6d0e5cac05..26678094d1dd5 100644 --- a/libraries/src/MVC/Controller/BaseController.php +++ b/libraries/src/MVC/Controller/BaseController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Controller/FormController.php b/libraries/src/MVC/Controller/FormController.php index deeb98496ddda..5052dedd5c560 100644 --- a/libraries/src/MVC/Controller/FormController.php +++ b/libraries/src/MVC/Controller/FormController.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Model/AdminModel.php b/libraries/src/MVC/Model/AdminModel.php index f2e1f1d465e0f..80fc53ae5ba1d 100644 --- a/libraries/src/MVC/Model/AdminModel.php +++ b/libraries/src/MVC/Model/AdminModel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Model/BaseDatabaseModel.php b/libraries/src/MVC/Model/BaseDatabaseModel.php index 7144b52061c0c..ceb4a7f133512 100644 --- a/libraries/src/MVC/Model/BaseDatabaseModel.php +++ b/libraries/src/MVC/Model/BaseDatabaseModel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Model/FormModel.php b/libraries/src/MVC/Model/FormModel.php index 406e87d04a9d2..6953311bdb7d3 100644 --- a/libraries/src/MVC/Model/FormModel.php +++ b/libraries/src/MVC/Model/FormModel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Model/ItemModel.php b/libraries/src/MVC/Model/ItemModel.php index 2f4d82a3c9b25..00bf57a06913e 100644 --- a/libraries/src/MVC/Model/ItemModel.php +++ b/libraries/src/MVC/Model/ItemModel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/Model/ListModel.php b/libraries/src/MVC/Model/ListModel.php index 882b2c361a7b6..136312001caec 100644 --- a/libraries/src/MVC/Model/ListModel.php +++ b/libraries/src/MVC/Model/ListModel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/View/CategoriesView.php b/libraries/src/MVC/View/CategoriesView.php index 1efb67467a0cc..3e57e521e4764 100644 --- a/libraries/src/MVC/View/CategoriesView.php +++ b/libraries/src/MVC/View/CategoriesView.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/View/CategoryFeedView.php b/libraries/src/MVC/View/CategoryFeedView.php index 412ca1964f377..c9bb0aab5163f 100644 --- a/libraries/src/MVC/View/CategoryFeedView.php +++ b/libraries/src/MVC/View/CategoryFeedView.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php index 1adf932b80710..b5c3ae6f4120b 100644 --- a/libraries/src/MVC/View/CategoryView.php +++ b/libraries/src/MVC/View/CategoryView.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/MVC/View/HtmlView.php b/libraries/src/MVC/View/HtmlView.php index 25b2a242e1980..b5950212d3442 100644 --- a/libraries/src/MVC/View/HtmlView.php +++ b/libraries/src/MVC/View/HtmlView.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Mail/Mail.php b/libraries/src/Mail/Mail.php index d70b3502efd9a..0b6f4e2540684 100644 --- a/libraries/src/Mail/Mail.php +++ b/libraries/src/Mail/Mail.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Mail/MailHelper.php b/libraries/src/Mail/MailHelper.php index 3e28dda4d952a..f0f145803d496 100644 --- a/libraries/src/Mail/MailHelper.php +++ b/libraries/src/Mail/MailHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Mail/MailWrapper.php b/libraries/src/Mail/MailWrapper.php index f4e1b87af9452..ac0ba20483d84 100644 --- a/libraries/src/Mail/MailWrapper.php +++ b/libraries/src/Mail/MailWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Mail/language/phpmailer.lang-en_gb.php b/libraries/src/Mail/language/phpmailer.lang-en_gb.php index 440d7b259dc02..4aa3ff9343d92 100644 --- a/libraries/src/Mail/language/phpmailer.lang-en_gb.php +++ b/libraries/src/Mail/language/phpmailer.lang-en_gb.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Mail * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/libraries/src/Menu/AbstractMenu.php b/libraries/src/Menu/AbstractMenu.php index 17ca4ce1728a2..577cdd5eaa4ed 100644 --- a/libraries/src/Menu/AbstractMenu.php +++ b/libraries/src/Menu/AbstractMenu.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Menu/AdministratorMenu.php b/libraries/src/Menu/AdministratorMenu.php index 387dff11afd75..17cac565f89a1 100644 --- a/libraries/src/Menu/AdministratorMenu.php +++ b/libraries/src/Menu/AdministratorMenu.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Menu/MenuHelper.php b/libraries/src/Menu/MenuHelper.php index 6e6ef93a59ea4..eafce7727b006 100644 --- a/libraries/src/Menu/MenuHelper.php +++ b/libraries/src/Menu/MenuHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu; diff --git a/libraries/src/Menu/MenuItem.php b/libraries/src/Menu/MenuItem.php index 5155cbe326cba..6dc55cf70dd41 100644 --- a/libraries/src/Menu/MenuItem.php +++ b/libraries/src/Menu/MenuItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Menu/Node.php b/libraries/src/Menu/Node.php index a636750e4561a..239ee1ffe5b19 100644 --- a/libraries/src/Menu/Node.php +++ b/libraries/src/Menu/Node.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu; diff --git a/libraries/src/Menu/Node/Component.php b/libraries/src/Menu/Node/Component.php index 3c42dc6fb52e2..dd49bbb19cc2a 100644 --- a/libraries/src/Menu/Node/Component.php +++ b/libraries/src/Menu/Node/Component.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu\Node; diff --git a/libraries/src/Menu/Node/Container.php b/libraries/src/Menu/Node/Container.php index bd50808e9b00b..506fa504b943d 100644 --- a/libraries/src/Menu/Node/Container.php +++ b/libraries/src/Menu/Node/Container.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu\Node; diff --git a/libraries/src/Menu/Node/Heading.php b/libraries/src/Menu/Node/Heading.php index d914184614c9d..2010c48c79a26 100644 --- a/libraries/src/Menu/Node/Heading.php +++ b/libraries/src/Menu/Node/Heading.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu\Node; diff --git a/libraries/src/Menu/Node/Separator.php b/libraries/src/Menu/Node/Separator.php index a5e0282974b6c..c5eb1f445c9cd 100644 --- a/libraries/src/Menu/Node/Separator.php +++ b/libraries/src/Menu/Node/Separator.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu\Node; diff --git a/libraries/src/Menu/Node/Url.php b/libraries/src/Menu/Node/Url.php index 71730dba1177d..249159ebda9cd 100644 --- a/libraries/src/Menu/Node/Url.php +++ b/libraries/src/Menu/Node/Url.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu\Node; diff --git a/libraries/src/Menu/SiteMenu.php b/libraries/src/Menu/SiteMenu.php index 0eca313255c28..400982622f5b6 100644 --- a/libraries/src/Menu/SiteMenu.php +++ b/libraries/src/Menu/SiteMenu.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Menu/Tree.php b/libraries/src/Menu/Tree.php index 2360d461c9d0e..c5f0a7a6676c1 100644 --- a/libraries/src/Menu/Tree.php +++ b/libraries/src/Menu/Tree.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu; diff --git a/libraries/src/Microdata/Microdata.php b/libraries/src/Microdata/Microdata.php index 263a10451c94f..936eb2b6d3f19 100644 --- a/libraries/src/Microdata/Microdata.php +++ b/libraries/src/Microdata/Microdata.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Object/CMSObject.php b/libraries/src/Object/CMSObject.php index 79adab1ed7f17..05d095f0799a3 100644 --- a/libraries/src/Object/CMSObject.php +++ b/libraries/src/Object/CMSObject.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Pagination/Pagination.php b/libraries/src/Pagination/Pagination.php index 36905e61a1dbe..568ff4d3e9a16 100644 --- a/libraries/src/Pagination/Pagination.php +++ b/libraries/src/Pagination/Pagination.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Pagination/PaginationObject.php b/libraries/src/Pagination/PaginationObject.php index 80a220cb6b882..1d3526f1547fe 100644 --- a/libraries/src/Pagination/PaginationObject.php +++ b/libraries/src/Pagination/PaginationObject.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Pathway/Pathway.php b/libraries/src/Pathway/Pathway.php index dabb8304dcee3..c6641f67c6c55 100644 --- a/libraries/src/Pathway/Pathway.php +++ b/libraries/src/Pathway/Pathway.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Pathway/SitePathway.php b/libraries/src/Pathway/SitePathway.php index 08c1718d40d26..0643b3ffdb53d 100644 --- a/libraries/src/Pathway/SitePathway.php +++ b/libraries/src/Pathway/SitePathway.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Plugin/CMSPlugin.php b/libraries/src/Plugin/CMSPlugin.php index 9b9abb2b8a9a6..552e266106bff 100644 --- a/libraries/src/Plugin/CMSPlugin.php +++ b/libraries/src/Plugin/CMSPlugin.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Plugin/PluginHelper.php b/libraries/src/Plugin/PluginHelper.php index 10f348dc3b30c..5059bcb7a5d31 100644 --- a/libraries/src/Plugin/PluginHelper.php +++ b/libraries/src/Plugin/PluginHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Profiler/Profiler.php b/libraries/src/Profiler/Profiler.php index bcb47615ec2d3..50bafeb2beeed 100644 --- a/libraries/src/Profiler/Profiler.php +++ b/libraries/src/Profiler/Profiler.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Response/JsonResponse.php b/libraries/src/Response/JsonResponse.php index 0b64350d9a2da..cfe335d5aa7f2 100644 --- a/libraries/src/Response/JsonResponse.php +++ b/libraries/src/Response/JsonResponse.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Router/AdministratorRouter.php b/libraries/src/Router/AdministratorRouter.php index a526c9a0cb11c..d7e74be03e90e 100644 --- a/libraries/src/Router/AdministratorRouter.php +++ b/libraries/src/Router/AdministratorRouter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Router/Exception/RouteNotFoundException.php b/libraries/src/Router/Exception/RouteNotFoundException.php index b6801c0cb0fe4..59007166d4f0e 100644 --- a/libraries/src/Router/Exception/RouteNotFoundException.php +++ b/libraries/src/Router/Exception/RouteNotFoundException.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Router/Route.php b/libraries/src/Router/Route.php index de97564fde17f..eaa6b03a5a6c8 100644 --- a/libraries/src/Router/Route.php +++ b/libraries/src/Router/Route.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Router/Router.php b/libraries/src/Router/Router.php index 68e73d9ec21ec..c7c426fbf9380 100644 --- a/libraries/src/Router/Router.php +++ b/libraries/src/Router/Router.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index 9119364b54f6a..a7187f65f8aec 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Schema/ChangeItem.php b/libraries/src/Schema/ChangeItem.php index 633d2b9eef92d..97cc05484a6dd 100644 --- a/libraries/src/Schema/ChangeItem.php +++ b/libraries/src/Schema/ChangeItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php index f871fc5fac3ee..b3d5ccb239c8b 100644 --- a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php +++ b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Schema/ChangeItem/PostgresqlChangeItem.php b/libraries/src/Schema/ChangeItem/PostgresqlChangeItem.php index db7a77cfa7131..14be04f90974b 100644 --- a/libraries/src/Schema/ChangeItem/PostgresqlChangeItem.php +++ b/libraries/src/Schema/ChangeItem/PostgresqlChangeItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Schema/ChangeItem/SqlsrvChangeItem.php b/libraries/src/Schema/ChangeItem/SqlsrvChangeItem.php index 090d193382377..cb3ad019a441a 100644 --- a/libraries/src/Schema/ChangeItem/SqlsrvChangeItem.php +++ b/libraries/src/Schema/ChangeItem/SqlsrvChangeItem.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Schema/ChangeSet.php b/libraries/src/Schema/ChangeSet.php index 53a34c94b80c9..4b9d647caddfa 100644 --- a/libraries/src/Schema/ChangeSet.php +++ b/libraries/src/Schema/ChangeSet.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Session/Exception/UnsupportedStorageException.php b/libraries/src/Session/Exception/UnsupportedStorageException.php index 8f6094d715c9d..9bd89e1a03c42 100644 --- a/libraries/src/Session/Exception/UnsupportedStorageException.php +++ b/libraries/src/Session/Exception/UnsupportedStorageException.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Session/Session.php b/libraries/src/Session/Session.php index 0d2ff9c9c25b8..a2b3a6da83cb1 100644 --- a/libraries/src/Session/Session.php +++ b/libraries/src/Session/Session.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/String/PunycodeHelper.php b/libraries/src/String/PunycodeHelper.php index 9cb34fba3138e..29165d7e31f67 100644 --- a/libraries/src/String/PunycodeHelper.php +++ b/libraries/src/String/PunycodeHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Asset.php b/libraries/src/Table/Asset.php index 5e4dd557fe9d9..0ff68e7aa2533 100644 --- a/libraries/src/Table/Asset.php +++ b/libraries/src/Table/Asset.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Category.php b/libraries/src/Table/Category.php index 326924b960940..7d8cf20a066e3 100644 --- a/libraries/src/Table/Category.php +++ b/libraries/src/Table/Category.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Content.php b/libraries/src/Table/Content.php index c3b1c8571e29e..31b6a3dd25dfc 100644 --- a/libraries/src/Table/Content.php +++ b/libraries/src/Table/Content.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/ContentHistory.php b/libraries/src/Table/ContentHistory.php index 86e808fa38203..1617a27b5b23f 100644 --- a/libraries/src/Table/ContentHistory.php +++ b/libraries/src/Table/ContentHistory.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/ContentType.php b/libraries/src/Table/ContentType.php index 0b5dfb6c9de43..e289ef8b2e3c8 100644 --- a/libraries/src/Table/ContentType.php +++ b/libraries/src/Table/ContentType.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/CoreContent.php b/libraries/src/Table/CoreContent.php index 518be810189cd..41e8f035a4af5 100644 --- a/libraries/src/Table/CoreContent.php +++ b/libraries/src/Table/CoreContent.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Extension.php b/libraries/src/Table/Extension.php index a455fec8abd4e..418ba2581f8cc 100644 --- a/libraries/src/Table/Extension.php +++ b/libraries/src/Table/Extension.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Language.php b/libraries/src/Table/Language.php index c4a8ae5b04aac..c7ef802d7cfde 100644 --- a/libraries/src/Table/Language.php +++ b/libraries/src/Table/Language.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Menu.php b/libraries/src/Table/Menu.php index a719771a1336d..45c434f797c8d 100644 --- a/libraries/src/Table/Menu.php +++ b/libraries/src/Table/Menu.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/MenuType.php b/libraries/src/Table/MenuType.php index 3a0b28454aa55..607faedee218b 100644 --- a/libraries/src/Table/MenuType.php +++ b/libraries/src/Table/MenuType.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Module.php b/libraries/src/Table/Module.php index c18ca53b30af1..49c31c8237073 100644 --- a/libraries/src/Table/Module.php +++ b/libraries/src/Table/Module.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index 8110f13a92837..d5fbf54bda470 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Observer/AbstractObserver.php b/libraries/src/Table/Observer/AbstractObserver.php index 60e62455987de..fa3e261d822e7 100644 --- a/libraries/src/Table/Observer/AbstractObserver.php +++ b/libraries/src/Table/Observer/AbstractObserver.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Observer/ContentHistory.php b/libraries/src/Table/Observer/ContentHistory.php index 140fc1aaa2d32..3d1efe12a6445 100644 --- a/libraries/src/Table/Observer/ContentHistory.php +++ b/libraries/src/Table/Observer/ContentHistory.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Observer/Tags.php b/libraries/src/Table/Observer/Tags.php index 17d8ffd036784..09a92c177f8f2 100644 --- a/libraries/src/Table/Observer/Tags.php +++ b/libraries/src/Table/Observer/Tags.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Table.php b/libraries/src/Table/Table.php index 14bc1198d6a4a..298ac440f4a8f 100644 --- a/libraries/src/Table/Table.php +++ b/libraries/src/Table/Table.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/TableInterface.php b/libraries/src/Table/TableInterface.php index 1e8df82cd878f..632f39976ba42 100644 --- a/libraries/src/Table/TableInterface.php +++ b/libraries/src/Table/TableInterface.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Ucm.php b/libraries/src/Table/Ucm.php index 0d0f018539a72..bf9444f077ff3 100644 --- a/libraries/src/Table/Ucm.php +++ b/libraries/src/Table/Ucm.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Update.php b/libraries/src/Table/Update.php index 64d572b309713..5897b2c97e4eb 100644 --- a/libraries/src/Table/Update.php +++ b/libraries/src/Table/Update.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/UpdateSite.php b/libraries/src/Table/UpdateSite.php index c6a7e056a618e..ae489118bde99 100644 --- a/libraries/src/Table/UpdateSite.php +++ b/libraries/src/Table/UpdateSite.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/User.php b/libraries/src/Table/User.php index eb06bca5c9523..e74667c53f34c 100644 --- a/libraries/src/Table/User.php +++ b/libraries/src/Table/User.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/Usergroup.php b/libraries/src/Table/Usergroup.php index aea94c530fdc5..5c9ef105dc172 100644 --- a/libraries/src/Table/Usergroup.php +++ b/libraries/src/Table/Usergroup.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Table/ViewLevel.php b/libraries/src/Table/ViewLevel.php index 61c02129a7aa1..a5515e7e8474e 100644 --- a/libraries/src/Table/ViewLevel.php +++ b/libraries/src/Table/ViewLevel.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/ConfirmButton.php b/libraries/src/Toolbar/Button/ConfirmButton.php index 5067e5c580c9b..cc8d7b357dc0c 100644 --- a/libraries/src/Toolbar/Button/ConfirmButton.php +++ b/libraries/src/Toolbar/Button/ConfirmButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/CustomButton.php b/libraries/src/Toolbar/Button/CustomButton.php index 0ff5f0cb8dc90..0b97b026a3306 100644 --- a/libraries/src/Toolbar/Button/CustomButton.php +++ b/libraries/src/Toolbar/Button/CustomButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/HelpButton.php b/libraries/src/Toolbar/Button/HelpButton.php index 24c7d30e72366..45848af958a07 100644 --- a/libraries/src/Toolbar/Button/HelpButton.php +++ b/libraries/src/Toolbar/Button/HelpButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/LinkButton.php b/libraries/src/Toolbar/Button/LinkButton.php index 30ba474126f92..1820e03a32d14 100644 --- a/libraries/src/Toolbar/Button/LinkButton.php +++ b/libraries/src/Toolbar/Button/LinkButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/PopupButton.php b/libraries/src/Toolbar/Button/PopupButton.php index 06eb9abadc529..295e315375d99 100644 --- a/libraries/src/Toolbar/Button/PopupButton.php +++ b/libraries/src/Toolbar/Button/PopupButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/SeparatorButton.php b/libraries/src/Toolbar/Button/SeparatorButton.php index ce0e7a5fc4859..a657bf2ef4386 100644 --- a/libraries/src/Toolbar/Button/SeparatorButton.php +++ b/libraries/src/Toolbar/Button/SeparatorButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/SliderButton.php b/libraries/src/Toolbar/Button/SliderButton.php index 6542db4e1b123..80d8ba4288f90 100644 --- a/libraries/src/Toolbar/Button/SliderButton.php +++ b/libraries/src/Toolbar/Button/SliderButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Button/StandardButton.php b/libraries/src/Toolbar/Button/StandardButton.php index 1871565fc7bfd..4d897aac869a9 100644 --- a/libraries/src/Toolbar/Button/StandardButton.php +++ b/libraries/src/Toolbar/Button/StandardButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/Toolbar.php b/libraries/src/Toolbar/Toolbar.php index 66eb2165fdef3..e94385c8bc147 100644 --- a/libraries/src/Toolbar/Toolbar.php +++ b/libraries/src/Toolbar/Toolbar.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Toolbar/ToolbarButton.php b/libraries/src/Toolbar/ToolbarButton.php index 10f8360f7123c..094dfbf0fb93d 100644 --- a/libraries/src/Toolbar/ToolbarButton.php +++ b/libraries/src/Toolbar/ToolbarButton.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/UCM/UCM.php b/libraries/src/UCM/UCM.php index a37a1c79504ce..b16731bd01e30 100644 --- a/libraries/src/UCM/UCM.php +++ b/libraries/src/UCM/UCM.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/UCM/UCMBase.php b/libraries/src/UCM/UCMBase.php index 7ced1ea05afe0..e0a9e2825d183 100644 --- a/libraries/src/UCM/UCMBase.php +++ b/libraries/src/UCM/UCMBase.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/UCM/UCMContent.php b/libraries/src/UCM/UCMContent.php index 342a9b0e765cf..67cb3a5b4aaf8 100644 --- a/libraries/src/UCM/UCMContent.php +++ b/libraries/src/UCM/UCMContent.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/UCM/UCMType.php b/libraries/src/UCM/UCMType.php index 51605866677be..456e112c5481a 100644 --- a/libraries/src/UCM/UCMType.php +++ b/libraries/src/UCM/UCMType.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Updater/Adapter/CollectionAdapter.php b/libraries/src/Updater/Adapter/CollectionAdapter.php index 9313bf52613ed..501e8e0795e51 100644 --- a/libraries/src/Updater/Adapter/CollectionAdapter.php +++ b/libraries/src/Updater/Adapter/CollectionAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Updater/Adapter/ExtensionAdapter.php b/libraries/src/Updater/Adapter/ExtensionAdapter.php index 4e5780f54b081..730154f707c64 100644 --- a/libraries/src/Updater/Adapter/ExtensionAdapter.php +++ b/libraries/src/Updater/Adapter/ExtensionAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Updater/DownloadSource.php b/libraries/src/Updater/DownloadSource.php index 2a85578fe11c8..e6d94230daf7d 100644 --- a/libraries/src/Updater/DownloadSource.php +++ b/libraries/src/Updater/DownloadSource.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -21,7 +21,7 @@ class DownloadSource * Defines a BZIP2 download package * * @const string - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ const FORMAT_TAR_BZIP = 'bz2'; @@ -29,7 +29,7 @@ class DownloadSource * Defines a TGZ download package * * @const string - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ const FORMAT_TAR_GZ = 'gz'; @@ -53,7 +53,7 @@ class DownloadSource * Defines a patch package download type * * @const string - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ const TYPE_PATCH = 'patch'; @@ -61,7 +61,7 @@ class DownloadSource * Defines an upgrade package download type * * @const string - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ const TYPE_UPGRADE = 'upgrade'; diff --git a/libraries/src/Updater/Update.php b/libraries/src/Updater/Update.php index c47fba1e06f8d..dcbbc7270acd4 100644 --- a/libraries/src/Updater/Update.php +++ b/libraries/src/Updater/Update.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Updater/UpdateAdapter.php b/libraries/src/Updater/UpdateAdapter.php index 3501b76b7055b..7fdad743ac849 100644 --- a/libraries/src/Updater/UpdateAdapter.php +++ b/libraries/src/Updater/UpdateAdapter.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Updater/Updater.php b/libraries/src/Updater/Updater.php index 3800888d41f2a..d3376929cab92 100644 --- a/libraries/src/Updater/Updater.php +++ b/libraries/src/Updater/Updater.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Uri/Uri.php b/libraries/src/Uri/Uri.php index 535c465dca059..f89b907bc2615 100644 --- a/libraries/src/Uri/Uri.php +++ b/libraries/src/Uri/Uri.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/User/User.php b/libraries/src/User/User.php index 4f025c5e65e44..2ee81435dfb2f 100644 --- a/libraries/src/User/User.php +++ b/libraries/src/User/User.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/User/UserHelper.php b/libraries/src/User/UserHelper.php index 9ece463efccff..de4fa766abc36 100644 --- a/libraries/src/User/UserHelper.php +++ b/libraries/src/User/UserHelper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/User/UserWrapper.php b/libraries/src/User/UserWrapper.php index 5c503ddcce60f..de88040798e86 100644 --- a/libraries/src/User/UserWrapper.php +++ b/libraries/src/User/UserWrapper.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Utility/BufferStreamHandler.php b/libraries/src/Utility/BufferStreamHandler.php index b83d92ba4312b..60465bccd1c78 100644 --- a/libraries/src/Utility/BufferStreamHandler.php +++ b/libraries/src/Utility/BufferStreamHandler.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Utility/Utility.php b/libraries/src/Utility/Utility.php index ee6ea96e62300..bea775e0d2836 100644 --- a/libraries/src/Utility/Utility.php +++ b/libraries/src/Utility/Utility.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/libraries/src/Version.php b/libraries/src/Version.php index e7881aee75a3e..9bf66a82ed441 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -2,7 +2,7 @@ /** * Joomla! Content Management System * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '4-dev'; + const DEV_LEVEL = '4-rc'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '12-December-2017'; + const RELDATE = '20-January-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:00'; + const RELTIME = '17:15'; /** * Release timezone. @@ -135,7 +135,7 @@ final class Version * @var string * @since 3.5 */ - const COPYRIGHT = 'Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.'; + const COPYRIGHT = 'Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.'; /** * Link text. diff --git a/media/cms/css/debug.css b/media/cms/css/debug.css index b540ef521acd1..af7799db01472 100644 --- a/media/cms/css/debug.css +++ b/media/cms/css/debug.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/com_associations/css/sidebyside.css b/media/com_associations/css/sidebyside.css index dff21b8e457f0..e9ca76326530a 100644 --- a/media/com_associations/css/sidebyside.css +++ b/media/com_associations/css/sidebyside.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/com_associations/js/sidebyside-uncompressed.js b/media/com_associations/js/sidebyside-uncompressed.js index e1b66cc62cfff..c583a391aeb30 100644 --- a/media/com_associations/js/sidebyside-uncompressed.js +++ b/media/com_associations/js/sidebyside-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/com_contact/js/admin-contacts-modal.js b/media/com_contact/js/admin-contacts-modal.js index 9dcd22d76a63f..f8b4fc0bab185 100644 --- a/media/com_contact/js/admin-contacts-modal.js +++ b/media/com_contact/js/admin-contacts-modal.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ (function() { diff --git a/media/com_content/js/admin-article-pagebreak.js b/media/com_content/js/admin-article-pagebreak.js index 811c0fbf364d4..f0ef05aecea42 100644 --- a/media/com_content/js/admin-article-pagebreak.js +++ b/media/com_content/js/admin-article-pagebreak.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ (function() { diff --git a/media/com_content/js/admin-article-readmore.js b/media/com_content/js/admin-article-readmore.js index 839a1c9d5daff..e7bf7a9f37962 100644 --- a/media/com_content/js/admin-article-readmore.js +++ b/media/com_content/js/admin-article-readmore.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/com_content/js/admin-articles-modal.js b/media/com_content/js/admin-articles-modal.js index debee427e459b..ee0d495a30a78 100644 --- a/media/com_content/js/admin-articles-modal.js +++ b/media/com_content/js/admin-articles-modal.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ (function() { diff --git a/media/com_fields/js/admin-fields-modal.js b/media/com_fields/js/admin-fields-modal.js index f3fb9f1e088e0..c8d7a6ed89eca 100644 --- a/media/com_fields/js/admin-fields-modal.js +++ b/media/com_fields/js/admin-fields-modal.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/com_menus/js/admin-items-modal.js b/media/com_menus/js/admin-items-modal.js index 5ac876eabe72e..65d7770071a86 100644 --- a/media/com_menus/js/admin-items-modal.js +++ b/media/com_menus/js/admin-items-modal.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ (function() { diff --git a/media/com_modules/js/admin-modules-modal.js b/media/com_modules/js/admin-modules-modal.js index e2d1303536a43..c6c10d6ef9d88 100644 --- a/media/com_modules/js/admin-modules-modal.js +++ b/media/com_modules/js/admin-modules-modal.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/editors/none/js/none.js b/media/editors/none/js/none.js index dac160e356902..d2611b26634d8 100644 --- a/media/editors/none/js/none.js +++ b/media/editors/none/js/none.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/editors/tinymce/js/tiny-close.js b/media/editors/tinymce/js/tiny-close.js index 05aafc44bced2..ecbdeb791247e 100644 --- a/media/editors/tinymce/js/tiny-close.js +++ b/media/editors/tinymce/js/tiny-close.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/editors/tinymce/js/tinymce-builder.js b/media/editors/tinymce/js/tinymce-builder.js index ab4d7f1aeec55..d590c2901a74b 100644 --- a/media/editors/tinymce/js/tinymce-builder.js +++ b/media/editors/tinymce/js/tinymce-builder.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/editors/tinymce/js/tinymce.js b/media/editors/tinymce/js/tinymce.js index e2f88a7b5be7a..159c834677a24 100644 --- a/media/editors/tinymce/js/tinymce.js +++ b/media/editors/tinymce/js/tinymce.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/jui/css/sortablelist.css b/media/jui/css/sortablelist.css index 96a4f48a07866..6794a31777f70 100644 --- a/media/jui/css/sortablelist.css +++ b/media/jui/css/sortablelist.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ .dnd-list-highlight { diff --git a/media/jui/js/cms-uncompressed.js b/media/jui/js/cms-uncompressed.js index e05b5b8cf2b67..1719bd92db19b 100644 --- a/media/jui/js/cms-uncompressed.js +++ b/media/jui/js/cms-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/jui/js/fielduser.js b/media/jui/js/fielduser.js index c77a488e9b244..ea43857fb31d6 100644 --- a/media/jui/js/fielduser.js +++ b/media/jui/js/fielduser.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/jui/js/sortablelist.js b/media/jui/js/sortablelist.js index 32dc93e2b7bca..d4458b108221a 100644 --- a/media/jui/js/sortablelist.js +++ b/media/jui/js/sortablelist.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/jui/js/treeselectmenu.jquery.js b/media/jui/js/treeselectmenu.jquery.js index 0ff5c53add429..95f7bb67a67d0 100644 --- a/media/jui/js/treeselectmenu.jquery.js +++ b/media/jui/js/treeselectmenu.jquery.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ jQuery(function($) diff --git a/media/jui/js/treeselectmenu.jquery.min.js b/media/jui/js/treeselectmenu.jquery.min.js index 66e72fc6a0e76..06cb6f49e145e 100644 --- a/media/jui/js/treeselectmenu.jquery.min.js +++ b/media/jui/js/treeselectmenu.jquery.min.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ jQuery(function(e){var t=e("div#treeselectmenu").html();e(".treeselect li").each(function(){$li=e(this);$div=$li.find("div.treeselect-item:first");$li.prepend('<span class="pull-left icon-"></span>');$div.after('<div class="clearfix"></div>');if($li.find("ul.treeselect-sub").length){$li.find("span.icon-").addClass("treeselect-toggle icon-minus");$div.find("label:first").after(t);if(!$li.find("ul.treeselect-sub ul.treeselect-sub").length){$li.find("div.treeselect-menu-expand").remove()}}});e("span.treeselect-toggle").click(function(){$i=e(this);if($i.parent().find("ul.treeselect-sub").is(":visible")){$i.removeClass("icon-minus").addClass("icon-plus");$i.parent().find("ul.treeselect-sub").hide();$i.parent().find("ul.treeselect-sub span.treeselect-toggle").removeClass("icon-minus").addClass("icon-plus")}else{$i.removeClass("icon-plus").addClass("icon-minus");$i.parent().find("ul.treeselect-sub").show();$i.parent().find("ul.treeselect-sub span.treeselect-toggle").removeClass("icon-plus").addClass("icon-minus")}});e("#treeselectfilter").keyup(function(){var t=e(this).val().toLowerCase();var n=0;e("#noresultsfound").hide();var r=e(".treeselect li");r.each(function(){if(e(this).text().toLowerCase().indexOf(t)==-1){e(this).hide();n++}else{e(this).show()}});if(n==r.length){e("#noresultsfound").show()}});e("#treeCheckAll").click(function(){e(".treeselect input").attr("checked","checked")});e("#treeUncheckAll").click(function(){e(".treeselect input").attr("checked",false)});e("#treeExpandAll").click(function(){e("ul.treeselect ul.treeselect-sub").show();e("ul.treeselect span.treeselect-toggle").removeClass("icon-plus").addClass("icon-minus")});e("#treeCollapseAll").click(function(){e("ul.treeselect ul.treeselect-sub").hide();e("ul.treeselect span.treeselect-toggle").removeClass("icon-minus").addClass("icon-plus")});e("a.checkall").click(function(){e(this).parents().eq(5).find("ul.treeselect-sub input").attr("checked","checked")});e("a.uncheckall").click(function(){e(this).parents().eq(5).find("ul.treeselect-sub input").attr("checked",false)});e("a.expandall").click(function(){var t=e(this).parents().eq(6);t.find("ul.treeselect-sub").show();t.find("ul.treeselect-sub span.treeselect-toggle").removeClass("icon-plus").addClass("icon-minus")});e("a.collapseall").click(function(){var t=e(this).parents().eq(6);t.find("li ul.treeselect-sub").hide();t.find("li span.treeselect-toggle").removeClass("icon-minus").addClass("icon-plus")})}) diff --git a/media/media/css/medialist-details.css b/media/media/css/medialist-details.css index 23979180598d1..84834c88caa8f 100644 --- a/media/media/css/medialist-details.css +++ b/media/media/css/medialist-details.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/medialist-details_rtl.css b/media/media/css/medialist-details_rtl.css index 578ca38011221..bde4b638d1a99 100644 --- a/media/media/css/medialist-details_rtl.css +++ b/media/media/css/medialist-details_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/medialist-thumbs.css b/media/media/css/medialist-thumbs.css index a0246af076391..bfc2458134ad7 100644 --- a/media/media/css/medialist-thumbs.css +++ b/media/media/css/medialist-thumbs.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/medialist-thumbs_rtl.css b/media/media/css/medialist-thumbs_rtl.css index 6e2c0b8cb3b72..d760c11b25113 100644 --- a/media/media/css/medialist-thumbs_rtl.css +++ b/media/media/css/medialist-thumbs_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/mediamanager.css b/media/media/css/mediamanager.css index 97bf460a9278c..96a1aa4e804f7 100644 --- a/media/media/css/mediamanager.css +++ b/media/media/css/mediamanager.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/mediamanager_rtl.css b/media/media/css/mediamanager_rtl.css index 52c32cb61ee36..cb1ea5142b664 100644 --- a/media/media/css/mediamanager_rtl.css +++ b/media/media/css/mediamanager_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/popup-imagelist.css b/media/media/css/popup-imagelist.css index 604441ac28dd3..7cc8255e42cdd 100644 --- a/media/media/css/popup-imagelist.css +++ b/media/media/css/popup-imagelist.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/popup-imagelist_rtl.css b/media/media/css/popup-imagelist_rtl.css index b588328b161c2..f3ea5a8a768ac 100644 --- a/media/media/css/popup-imagelist_rtl.css +++ b/media/media/css/popup-imagelist_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/popup-imagemanager.css b/media/media/css/popup-imagemanager.css index 9087ecb8474a5..3a13067f7bce7 100644 --- a/media/media/css/popup-imagemanager.css +++ b/media/media/css/popup-imagemanager.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/css/popup-imagemanager_rtl.css b/media/media/css/popup-imagemanager_rtl.css index 9e5bd7b7974b8..616179b69a57d 100644 --- a/media/media/css/popup-imagemanager_rtl.css +++ b/media/media/css/popup-imagemanager_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/js/mediafield.js b/media/media/js/mediafield.js index 541bcc792f40f..fee40fec71621 100644 --- a/media/media/js/mediafield.js +++ b/media/media/js/mediafield.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/js/mediamanager.js b/media/media/js/mediamanager.js index 63a101744aa5a..640ff064abf99 100644 --- a/media/media/js/mediamanager.js +++ b/media/media/js/mediamanager.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/media/js/popup-imagemanager.js b/media/media/js/popup-imagemanager.js index 8388f2af9c896..051a589898398 100644 --- a/media/media/js/popup-imagemanager.js +++ b/media/media/js/popup-imagemanager.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/mod_sampledata/js/sampledata-process.js b/media/mod_sampledata/js/sampledata-process.js index e0f5670bf58bf..972fd2c20f7cd 100644 --- a/media/mod_sampledata/js/sampledata-process.js +++ b/media/mod_sampledata/js/sampledata-process.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/overrider/css/overrider.css b/media/overrider/css/overrider.css index ea65980aba7d9..5aceab18f41fa 100644 --- a/media/overrider/css/overrider.css +++ b/media/overrider/css/overrider.css @@ -1,7 +1,7 @@ /** * @package Joomla.Administrator * @subpackage com_languages - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/overrider/js/overrider.js b/media/overrider/js/overrider.js index 075aa8b4235f2..294417ebe0f36 100644 --- a/media/overrider/js/overrider.js +++ b/media/overrider/js/overrider.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/plg_captcha_recaptcha/js/recaptcha.js b/media/plg_captcha_recaptcha/js/recaptcha.js index 274e12315cb07..52396015f2dc9 100644 --- a/media/plg_captcha_recaptcha/js/recaptcha.js +++ b/media/plg_captcha_recaptcha/js/recaptcha.js @@ -1,6 +1,6 @@ /** * @package Joomla.JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js b/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js index 409da9f65f782..5e1405a566060 100644 --- a/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js +++ b/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js b/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js index 1d52bb648f7b2..b2fa15be91469 100644 --- a/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js +++ b/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/plg_system_stats/js/stats.js b/media/plg_system_stats/js/stats.js index dabab08b98854..2f7ab181e92d2 100644 --- a/media/plg_system_stats/js/stats.js +++ b/media/plg_system_stats/js/stats.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/adminlist.css b/media/system/css/adminlist.css index f4ea4dacf0125..8b7f35310dd3b 100644 --- a/media/system/css/adminlist.css +++ b/media/system/css/adminlist.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/calendar-jos.css b/media/system/css/calendar-jos.css index 5eeae84e1b39b..d85ca99039056 100644 --- a/media/system/css/calendar-jos.css +++ b/media/system/css/calendar-jos.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/fields/calendar-rtl.css b/media/system/css/fields/calendar-rtl.css index f945ccde2b0b2..7a17cb51e20c6 100644 --- a/media/system/css/fields/calendar-rtl.css +++ b/media/system/css/fields/calendar-rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ .js-calendar { diff --git a/media/system/css/fields/calendar.css b/media/system/css/fields/calendar.css index 2a8659a93bd0e..64cfaf9631d91 100644 --- a/media/system/css/fields/calendar.css +++ b/media/system/css/fields/calendar.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ .js-calendar { diff --git a/media/system/css/frontediting.css b/media/system/css/frontediting.css index 9a557d80f7c8d..adb5226fb23e3 100644 --- a/media/system/css/frontediting.css +++ b/media/system/css/frontediting.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/mootree.css b/media/system/css/mootree.css index 8bfe95b556ff3..b60f4185513e2 100644 --- a/media/system/css/mootree.css +++ b/media/system/css/mootree.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/mootree_rtl.css b/media/system/css/mootree_rtl.css index e6532139b079e..abd28f98a559d 100644 --- a/media/system/css/mootree_rtl.css +++ b/media/system/css/mootree_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/css/system.css b/media/system/css/system.css index dabe5b87fac28..f12ec0ad78847 100644 --- a/media/system/css/system.css +++ b/media/system/css/system.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/associations-edit-uncompressed.js b/media/system/js/associations-edit-uncompressed.js index 7ebf86215a419..08257989a4963 100644 --- a/media/system/js/associations-edit-uncompressed.js +++ b/media/system/js/associations-edit-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/caption-uncompressed.js b/media/system/js/caption-uncompressed.js index fb9fc0bb01ab6..e0f3bdd92d2b3 100644 --- a/media/system/js/caption-uncompressed.js +++ b/media/system/js/caption-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/combobox-uncompressed.js b/media/system/js/combobox-uncompressed.js index 86a7d090845f3..9277026032d30 100644 --- a/media/system/js/combobox-uncompressed.js +++ b/media/system/js/combobox-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/core-uncompressed.js b/media/system/js/core-uncompressed.js index 08e868e7fa0da..e195ea117502e 100644 --- a/media/system/js/core-uncompressed.js +++ b/media/system/js/core-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/fields/calendar.js b/media/system/js/fields/calendar.js index ff19d21935304..e81f8a8e4eaee 100644 --- a/media/system/js/fields/calendar.js +++ b/media/system/js/fields/calendar.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ !(function(window, document){ diff --git a/media/system/js/frontediting-uncompressed.js b/media/system/js/frontediting-uncompressed.js index fabcd9b561561..b5820446db825 100644 --- a/media/system/js/frontediting-uncompressed.js +++ b/media/system/js/frontediting-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/helpsite.js b/media/system/js/helpsite.js index a289ad47254a4..c431753687a91 100644 --- a/media/system/js/helpsite.js +++ b/media/system/js/helpsite.js @@ -1,6 +1,6 @@ /** * @package Joomla.JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/highlighter-uncompressed.js b/media/system/js/highlighter-uncompressed.js index 8a20ae62c45e7..e9a8ff1983dc0 100644 --- a/media/system/js/highlighter-uncompressed.js +++ b/media/system/js/highlighter-uncompressed.js @@ -1,6 +1,6 @@ /** * @package Joomla.JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/html5fallback-uncompressed.js b/media/system/js/html5fallback-uncompressed.js index 82e0e8cfab29d..19825a36f8c07 100644 --- a/media/system/js/html5fallback-uncompressed.js +++ b/media/system/js/html5fallback-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/keepalive-uncompressed.js b/media/system/js/keepalive-uncompressed.js index 8b9cdcd7f4da4..9569be184de8f 100644 --- a/media/system/js/keepalive-uncompressed.js +++ b/media/system/js/keepalive-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/modal-fields-uncompressed.js b/media/system/js/modal-fields-uncompressed.js index a9ca601a5b1ba..a8e3e8f45fe77 100644 --- a/media/system/js/modal-fields-uncompressed.js +++ b/media/system/js/modal-fields-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/multiselect-uncompressed.js b/media/system/js/multiselect-uncompressed.js index c094ac6f9469d..1704e4b3896e7 100644 --- a/media/system/js/multiselect-uncompressed.js +++ b/media/system/js/multiselect-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/repeatable-uncompressed.js b/media/system/js/repeatable-uncompressed.js index 1c9b87ee81ef2..6357645ea231b 100644 --- a/media/system/js/repeatable-uncompressed.js +++ b/media/system/js/repeatable-uncompressed.js @@ -1,6 +1,6 @@ /** * @package Joomla.JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/sendtestmail-uncompressed.js b/media/system/js/sendtestmail-uncompressed.js index 6ee371ec03bbb..c238952fd32bf 100644 --- a/media/system/js/sendtestmail-uncompressed.js +++ b/media/system/js/sendtestmail-uncompressed.js @@ -1,6 +1,6 @@ /** * @package Joomla.JavaScript - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/subform-repeatable-uncompressed.js b/media/system/js/subform-repeatable-uncompressed.js index ec6e78640bb0b..28ba80a770667 100644 --- a/media/system/js/subform-repeatable-uncompressed.js +++ b/media/system/js/subform-repeatable-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/switcher-uncompressed.js b/media/system/js/switcher-uncompressed.js index 86da3eb9640ca..7fa15b0b1a270 100644 --- a/media/system/js/switcher-uncompressed.js +++ b/media/system/js/switcher-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/tabs-state-uncompressed.js b/media/system/js/tabs-state-uncompressed.js index 787cbddbd525a..e7fb61acee384 100644 --- a/media/system/js/tabs-state-uncompressed.js +++ b/media/system/js/tabs-state-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/tabs.js b/media/system/js/tabs.js index 920d18fd91857..897ff31bc95bf 100644 --- a/media/system/js/tabs.js +++ b/media/system/js/tabs.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/media/system/js/validate-uncompressed.js b/media/system/js/validate-uncompressed.js index fee61b7b6823e..bc42e5aedc057 100644 --- a/media/system/js/validate-uncompressed.js +++ b/media/system/js/validate-uncompressed.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_archive/helper.php b/modules/mod_articles_archive/helper.php index a6feee603ee9c..406f2b1c39aad 100644 --- a/modules/mod_articles_archive/helper.php +++ b/modules/mod_articles_archive/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_archive/mod_articles_archive.php b/modules/mod_articles_archive/mod_articles_archive.php index 5738584366727..c6e36a0957623 100644 --- a/modules/mod_articles_archive/mod_articles_archive.php +++ b/modules/mod_articles_archive/mod_articles_archive.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_archive/mod_articles_archive.xml b/modules/mod_articles_archive/mod_articles_archive.xml index c8692a29207ea..89c863ecae646 100644 --- a/modules/mod_articles_archive/mod_articles_archive.xml +++ b/modules/mod_articles_archive/mod_articles_archive.xml @@ -3,7 +3,7 @@ <name>mod_articles_archive</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_archive/tmpl/default.php b/modules/mod_articles_archive/tmpl/default.php index a533e59366630..30b615225db3b 100644 --- a/modules/mod_articles_archive/tmpl/default.php +++ b/modules/mod_articles_archive/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_categories/helper.php b/modules/mod_articles_categories/helper.php index 90e44e110b1ab..806c5d7232b21 100644 --- a/modules/mod_articles_categories/helper.php +++ b/modules/mod_articles_categories/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_categories/mod_articles_categories.php b/modules/mod_articles_categories/mod_articles_categories.php index 4eb4a2c0274d8..66091bf0e5140 100644 --- a/modules/mod_articles_categories/mod_articles_categories.php +++ b/modules/mod_articles_categories/mod_articles_categories.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_categories/mod_articles_categories.xml b/modules/mod_articles_categories/mod_articles_categories.xml index f8dc2786e2cdd..e15a6c9d7f817 100644 --- a/modules/mod_articles_categories/mod_articles_categories.xml +++ b/modules/mod_articles_categories/mod_articles_categories.xml @@ -3,7 +3,7 @@ <name>mod_articles_categories</name> <author>Joomla! Project</author> <creationDate>February 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_categories/tmpl/default.php b/modules/mod_articles_categories/tmpl/default.php index b5ce9907833df..daa5864c10ba1 100644 --- a/modules/mod_articles_categories/tmpl/default.php +++ b/modules/mod_articles_categories/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_categories/tmpl/default_items.php b/modules/mod_articles_categories/tmpl/default_items.php index adc8eaa3346d5..3b91448a4f0aa 100644 --- a/modules/mod_articles_categories/tmpl/default_items.php +++ b/modules/mod_articles_categories/tmpl/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index a6644b7497010..02b3acafe6238 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_category * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_category/mod_articles_category.php b/modules/mod_articles_category/mod_articles_category.php index 79cadf43c5a6f..ed1d05a6c0780 100644 --- a/modules/mod_articles_category/mod_articles_category.php +++ b/modules/mod_articles_category/mod_articles_category.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_category * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_category/mod_articles_category.xml b/modules/mod_articles_category/mod_articles_category.xml index fc407a95f3bd3..9057e0a5bb464 100644 --- a/modules/mod_articles_category/mod_articles_category.xml +++ b/modules/mod_articles_category/mod_articles_category.xml @@ -3,7 +3,7 @@ <name>mod_articles_category</name> <author>Joomla! Project</author> <creationDate>February 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_category/tmpl/default.php b/modules/mod_articles_category/tmpl/default.php index 27909e734de41..f591878406aab 100644 --- a/modules/mod_articles_category/tmpl/default.php +++ b/modules/mod_articles_category/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_category * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_latest/helper.php b/modules/mod_articles_latest/helper.php index 4d58d944290a3..9ad039e133118 100644 --- a/modules/mod_articles_latest/helper.php +++ b/modules/mod_articles_latest/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_latest/mod_articles_latest.php b/modules/mod_articles_latest/mod_articles_latest.php index 921043792ed5c..f6ef97622a637 100644 --- a/modules/mod_articles_latest/mod_articles_latest.php +++ b/modules/mod_articles_latest/mod_articles_latest.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_latest/mod_articles_latest.xml b/modules/mod_articles_latest/mod_articles_latest.xml index 70aad9664fc68..4b1580ea9b9f2 100644 --- a/modules/mod_articles_latest/mod_articles_latest.xml +++ b/modules/mod_articles_latest/mod_articles_latest.xml @@ -3,7 +3,7 @@ <name>mod_articles_latest</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_latest/tmpl/default.php b/modules/mod_articles_latest/tmpl/default.php index ed834b96b1db2..17699e2fa1a82 100644 --- a/modules/mod_articles_latest/tmpl/default.php +++ b/modules/mod_articles_latest/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/helper.php b/modules/mod_articles_news/helper.php index 565b3b64b1898..f6f5c180b4165 100644 --- a/modules/mod_articles_news/helper.php +++ b/modules/mod_articles_news/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/mod_articles_news.php b/modules/mod_articles_news/mod_articles_news.php index 3280ee481df01..8f4e2f20dd203 100644 --- a/modules/mod_articles_news/mod_articles_news.php +++ b/modules/mod_articles_news/mod_articles_news.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/mod_articles_news.xml b/modules/mod_articles_news/mod_articles_news.xml index bebbdf7bade84..a862bd543e34f 100644 --- a/modules/mod_articles_news/mod_articles_news.xml +++ b/modules/mod_articles_news/mod_articles_news.xml @@ -3,7 +3,7 @@ <name>mod_articles_news</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_news/tmpl/_item.php b/modules/mod_articles_news/tmpl/_item.php index c5101cfddbe55..e4c125286cae4 100644 --- a/modules/mod_articles_news/tmpl/_item.php +++ b/modules/mod_articles_news/tmpl/_item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/tmpl/default.php b/modules/mod_articles_news/tmpl/default.php index 5cb29b093b965..3596c5517b292 100644 --- a/modules/mod_articles_news/tmpl/default.php +++ b/modules/mod_articles_news/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/tmpl/horizontal.php b/modules/mod_articles_news/tmpl/horizontal.php index 475f75b3e9c82..7a2cd74e001a3 100644 --- a/modules/mod_articles_news/tmpl/horizontal.php +++ b/modules/mod_articles_news/tmpl/horizontal.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_news/tmpl/vertical.php b/modules/mod_articles_news/tmpl/vertical.php index 1ec2600a7bf88..324df176aa5ea 100644 --- a/modules/mod_articles_news/tmpl/vertical.php +++ b/modules/mod_articles_news/tmpl/vertical.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_news * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_popular/helper.php b/modules/mod_articles_popular/helper.php index 5ecc97000fe61..e030bfb993312 100644 --- a/modules/mod_articles_popular/helper.php +++ b/modules/mod_articles_popular/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_popular/mod_articles_popular.php b/modules/mod_articles_popular/mod_articles_popular.php index cfec35eb98ac0..9cac200663544 100644 --- a/modules/mod_articles_popular/mod_articles_popular.php +++ b/modules/mod_articles_popular/mod_articles_popular.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_articles_popular/mod_articles_popular.xml b/modules/mod_articles_popular/mod_articles_popular.xml index 520858131c996..7c648404b3c21 100644 --- a/modules/mod_articles_popular/mod_articles_popular.xml +++ b/modules/mod_articles_popular/mod_articles_popular.xml @@ -3,7 +3,7 @@ <name>mod_articles_popular</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_articles_popular/tmpl/default.php b/modules/mod_articles_popular/tmpl/default.php index 8ba8075b98346..094c2923183fb 100644 --- a/modules/mod_articles_popular/tmpl/default.php +++ b/modules/mod_articles_popular/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_articles_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_banners/helper.php b/modules/mod_banners/helper.php index 7771b3ecfab63..21db876915112 100644 --- a/modules/mod_banners/helper.php +++ b/modules/mod_banners/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_banners/mod_banners.php b/modules/mod_banners/mod_banners.php index c979c758f330c..9cc3f2b673384 100644 --- a/modules/mod_banners/mod_banners.php +++ b/modules/mod_banners/mod_banners.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_banners/mod_banners.xml b/modules/mod_banners/mod_banners.xml index 4ea0726c77dd5..14456c7762b85 100644 --- a/modules/mod_banners/mod_banners.xml +++ b/modules/mod_banners/mod_banners.xml @@ -3,7 +3,7 @@ <name>mod_banners</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_banners/tmpl/default.php b/modules/mod_banners/tmpl/default.php index a87cc1b856e00..241fb447dab34 100644 --- a/modules/mod_banners/tmpl/default.php +++ b/modules/mod_banners/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_banners * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_breadcrumbs/helper.php b/modules/mod_breadcrumbs/helper.php index e884013ada389..5a606d6ce84ab 100644 --- a/modules/mod_breadcrumbs/helper.php +++ b/modules/mod_breadcrumbs/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_breadcrumbs * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_breadcrumbs/mod_breadcrumbs.php b/modules/mod_breadcrumbs/mod_breadcrumbs.php index 4fb93df50370a..73160276fec6c 100644 --- a/modules/mod_breadcrumbs/mod_breadcrumbs.php +++ b/modules/mod_breadcrumbs/mod_breadcrumbs.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_breadcrumbs * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_breadcrumbs/mod_breadcrumbs.xml b/modules/mod_breadcrumbs/mod_breadcrumbs.xml index cd0908bcb4d5b..3842123647482 100644 --- a/modules/mod_breadcrumbs/mod_breadcrumbs.xml +++ b/modules/mod_breadcrumbs/mod_breadcrumbs.xml @@ -3,7 +3,7 @@ <name>mod_breadcrumbs</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_breadcrumbs/tmpl/default.php b/modules/mod_breadcrumbs/tmpl/default.php index a2e9d5de126e8..f9486bc4defb3 100644 --- a/modules/mod_breadcrumbs/tmpl/default.php +++ b/modules/mod_breadcrumbs/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_breadcrumbs * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_custom/mod_custom.php b/modules/mod_custom/mod_custom.php index 14316528c1480..81afe2a145eee 100644 --- a/modules/mod_custom/mod_custom.php +++ b/modules/mod_custom/mod_custom.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_custom * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_custom/mod_custom.xml b/modules/mod_custom/mod_custom.xml index b624110ed0493..c67026ccabcbe 100644 --- a/modules/mod_custom/mod_custom.xml +++ b/modules/mod_custom/mod_custom.xml @@ -3,7 +3,7 @@ <name>mod_custom</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_custom/tmpl/default.php b/modules/mod_custom/tmpl/default.php index 560cbec95a64c..beff7fc1861ab 100644 --- a/modules/mod_custom/tmpl/default.php +++ b/modules/mod_custom/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_custom * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_feed/helper.php b/modules/mod_feed/helper.php index ea86794b4a851..338d62bfb8d48 100644 --- a/modules/mod_feed/helper.php +++ b/modules/mod_feed/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_feed/mod_feed.php b/modules/mod_feed/mod_feed.php index 0c522ae241a18..b91af118ac233 100644 --- a/modules/mod_feed/mod_feed.php +++ b/modules/mod_feed/mod_feed.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_feed/mod_feed.xml b/modules/mod_feed/mod_feed.xml index df7f0a189c197..0d869d5c42dab 100644 --- a/modules/mod_feed/mod_feed.xml +++ b/modules/mod_feed/mod_feed.xml @@ -3,7 +3,7 @@ <name>mod_feed</name> <author>Joomla! Project</author> <creationDate>July 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_feed/tmpl/default.php b/modules/mod_feed/tmpl/default.php index f323471c1250f..997a5e0c786ac 100644 --- a/modules/mod_feed/tmpl/default.php +++ b/modules/mod_feed/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_finder/helper.php b/modules/mod_finder/helper.php index 2366a2d4e70d2..8c362ece04559 100644 --- a/modules/mod_finder/helper.php +++ b/modules/mod_finder/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_finder/mod_finder.php b/modules/mod_finder/mod_finder.php index c872a054dde9c..d8c47165844fe 100644 --- a/modules/mod_finder/mod_finder.php +++ b/modules/mod_finder/mod_finder.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_finder/mod_finder.xml b/modules/mod_finder/mod_finder.xml index 20f4911c1c35f..f2e18279e71b0 100644 --- a/modules/mod_finder/mod_finder.xml +++ b/modules/mod_finder/mod_finder.xml @@ -3,7 +3,7 @@ <name>mod_finder</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_finder/tmpl/default.php b/modules/mod_finder/tmpl/default.php index a0b4e2784214d..b4d09e3f2c319 100644 --- a/modules/mod_finder/tmpl/default.php +++ b/modules/mod_finder/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_footer/mod_footer.php b/modules/mod_footer/mod_footer.php index b1ab61faf3126..7a5048d4433fe 100644 --- a/modules/mod_footer/mod_footer.php +++ b/modules/mod_footer/mod_footer.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_footer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_footer/mod_footer.xml b/modules/mod_footer/mod_footer.xml index b51b5e6933e8e..31bb03d07e2b7 100644 --- a/modules/mod_footer/mod_footer.xml +++ b/modules/mod_footer/mod_footer.xml @@ -3,7 +3,7 @@ <name>mod_footer</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_footer/tmpl/default.php b/modules/mod_footer/tmpl/default.php index 6b82ab06029e0..4113c134358a6 100644 --- a/modules/mod_footer/tmpl/default.php +++ b/modules/mod_footer/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_footer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_languages/helper.php b/modules/mod_languages/helper.php index 01bb8cf458e61..c426373ff0576 100644 --- a/modules/mod_languages/helper.php +++ b/modules/mod_languages/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_languages/mod_languages.php b/modules/mod_languages/mod_languages.php index f35d86126424f..42f5660229504 100644 --- a/modules/mod_languages/mod_languages.php +++ b/modules/mod_languages/mod_languages.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_languages/mod_languages.xml b/modules/mod_languages/mod_languages.xml index 328072d2aabfd..8e0ca66400ccf 100644 --- a/modules/mod_languages/mod_languages.xml +++ b/modules/mod_languages/mod_languages.xml @@ -3,7 +3,7 @@ <name>mod_languages</name> <author>Joomla! Project</author> <creationDate>February 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_languages/tmpl/default.php b/modules/mod_languages/tmpl/default.php index 98031b330e3a8..e3e38ed88c052 100644 --- a/modules/mod_languages/tmpl/default.php +++ b/modules/mod_languages/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_login/helper.php b/modules/mod_login/helper.php index fc31d5444b606..1e2b3e688f068 100644 --- a/modules/mod_login/helper.php +++ b/modules/mod_login/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_login/mod_login.php b/modules/mod_login/mod_login.php index 0477b99f8b97a..7996c0b39d9e4 100644 --- a/modules/mod_login/mod_login.php +++ b/modules/mod_login/mod_login.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_login/mod_login.xml b/modules/mod_login/mod_login.xml index 57530b91fda93..50d621b96bc14 100644 --- a/modules/mod_login/mod_login.xml +++ b/modules/mod_login/mod_login.xml @@ -3,7 +3,7 @@ <name>mod_login</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_login/tmpl/default.php b/modules/mod_login/tmpl/default.php index 5ea82c8cbc019..a679ec87e63bc 100644 --- a/modules/mod_login/tmpl/default.php +++ b/modules/mod_login/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_login/tmpl/default_logout.php b/modules/mod_login/tmpl/default_logout.php index 199d7e4063c57..b538a6786ff3a 100644 --- a/modules/mod_login/tmpl/default_logout.php +++ b/modules/mod_login/tmpl/default_logout.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_login * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/helper.php b/modules/mod_menu/helper.php index ed8f16b23117c..8dc9ea160ba31 100644 --- a/modules/mod_menu/helper.php +++ b/modules/mod_menu/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/mod_menu.php b/modules/mod_menu/mod_menu.php index 72935b3711584..7a7df5db920d6 100644 --- a/modules/mod_menu/mod_menu.php +++ b/modules/mod_menu/mod_menu.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/mod_menu.xml b/modules/mod_menu/mod_menu.xml index 8fbd806e26cc1..783eed25aa6e9 100644 --- a/modules/mod_menu/mod_menu.xml +++ b/modules/mod_menu/mod_menu.xml @@ -3,7 +3,7 @@ <name>mod_menu</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_menu/tmpl/default.php b/modules/mod_menu/tmpl/default.php index 52066b326d2a6..afac804177add 100644 --- a/modules/mod_menu/tmpl/default.php +++ b/modules/mod_menu/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/tmpl/default_component.php b/modules/mod_menu/tmpl/default_component.php index 39e0ed8013163..74791dcfd3647 100644 --- a/modules/mod_menu/tmpl/default_component.php +++ b/modules/mod_menu/tmpl/default_component.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/tmpl/default_heading.php b/modules/mod_menu/tmpl/default_heading.php index 5612c40bfd54f..0f0f3dd1a22e8 100644 --- a/modules/mod_menu/tmpl/default_heading.php +++ b/modules/mod_menu/tmpl/default_heading.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/tmpl/default_separator.php b/modules/mod_menu/tmpl/default_separator.php index eca36cce382db..4a766f68673ec 100644 --- a/modules/mod_menu/tmpl/default_separator.php +++ b/modules/mod_menu/tmpl/default_separator.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_menu/tmpl/default_url.php b/modules/mod_menu/tmpl/default_url.php index a2ab43b0f33d9..67cc32a2443d4 100644 --- a/modules/mod_menu/tmpl/default_url.php +++ b/modules/mod_menu/tmpl/default_url.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_random_image/helper.php b/modules/mod_random_image/helper.php index 8dda701911ac6..188d4db0a3169 100644 --- a/modules/mod_random_image/helper.php +++ b/modules/mod_random_image/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_random_image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_random_image/mod_random_image.php b/modules/mod_random_image/mod_random_image.php index 4ea522eb46e23..fa959ea4b737c 100644 --- a/modules/mod_random_image/mod_random_image.php +++ b/modules/mod_random_image/mod_random_image.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_random_image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_random_image/mod_random_image.xml b/modules/mod_random_image/mod_random_image.xml index 85dcf973d03a6..7ef5d1302a4ca 100644 --- a/modules/mod_random_image/mod_random_image.xml +++ b/modules/mod_random_image/mod_random_image.xml @@ -3,7 +3,7 @@ <name>mod_random_image</name> <author>Joomla! Project</author> <creationDate>July 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_random_image/tmpl/default.php b/modules/mod_random_image/tmpl/default.php index d1caddec2f1b1..df1b623caa19e 100644 --- a/modules/mod_random_image/tmpl/default.php +++ b/modules/mod_random_image/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_random_image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_related_items/helper.php b/modules/mod_related_items/helper.php index 05fc81b1da48a..e7d0a3c854d55 100644 --- a/modules/mod_related_items/helper.php +++ b/modules/mod_related_items/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_related_items * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_related_items/mod_related_items.php b/modules/mod_related_items/mod_related_items.php index a6219ff51ce8c..132e969e4f8f4 100644 --- a/modules/mod_related_items/mod_related_items.php +++ b/modules/mod_related_items/mod_related_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_related_items * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_related_items/mod_related_items.xml b/modules/mod_related_items/mod_related_items.xml index 4f9832d7a01f3..676a49b1f51ba 100644 --- a/modules/mod_related_items/mod_related_items.xml +++ b/modules/mod_related_items/mod_related_items.xml @@ -3,7 +3,7 @@ <name>mod_related_items</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_related_items/tmpl/default.php b/modules/mod_related_items/tmpl/default.php index fdbc7ac573538..fce58cf4ba775 100644 --- a/modules/mod_related_items/tmpl/default.php +++ b/modules/mod_related_items/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_related_items * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_search/helper.php b/modules/mod_search/helper.php index 72048887a71b1..66804a1f888b3 100644 --- a/modules/mod_search/helper.php +++ b/modules/mod_search/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_search/mod_search.php b/modules/mod_search/mod_search.php index 09f7b06f44ca6..5ae0e254ca9f2 100644 --- a/modules/mod_search/mod_search.php +++ b/modules/mod_search/mod_search.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_search/mod_search.xml b/modules/mod_search/mod_search.xml index 0f2960f99772a..2e879a3a2a940 100644 --- a/modules/mod_search/mod_search.xml +++ b/modules/mod_search/mod_search.xml @@ -3,7 +3,7 @@ <name>mod_search</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_search/tmpl/default.php b/modules/mod_search/tmpl/default.php index b2f8c6189ff00..ff888acbaaef1 100644 --- a/modules/mod_search/tmpl/default.php +++ b/modules/mod_search/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_search * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_stats/helper.php b/modules/mod_stats/helper.php index 836c699fd5447..10201502b389f 100644 --- a/modules/mod_stats/helper.php +++ b/modules/mod_stats/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_stats/mod_stats.php b/modules/mod_stats/mod_stats.php index e6c780ac0703e..65313d5d1db9c 100644 --- a/modules/mod_stats/mod_stats.php +++ b/modules/mod_stats/mod_stats.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_stats/mod_stats.xml b/modules/mod_stats/mod_stats.xml index f515139c8d655..2a1281a5ec5cc 100644 --- a/modules/mod_stats/mod_stats.xml +++ b/modules/mod_stats/mod_stats.xml @@ -3,7 +3,7 @@ <name>mod_stats</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_stats/tmpl/default.php b/modules/mod_stats/tmpl/default.php index 6affbf53ad793..b658631d14fe7 100644 --- a/modules/mod_stats/tmpl/default.php +++ b/modules/mod_stats/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_syndicate/helper.php b/modules/mod_syndicate/helper.php index eb3999e921100..3b28c69e359e4 100644 --- a/modules/mod_syndicate/helper.php +++ b/modules/mod_syndicate/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_syndicate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_syndicate/mod_syndicate.php b/modules/mod_syndicate/mod_syndicate.php index b90c8ba744811..812ce5809a871 100644 --- a/modules/mod_syndicate/mod_syndicate.php +++ b/modules/mod_syndicate/mod_syndicate.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_syndicate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_syndicate/mod_syndicate.xml b/modules/mod_syndicate/mod_syndicate.xml index 205ca5ae14be3..0bc07ef1808bf 100644 --- a/modules/mod_syndicate/mod_syndicate.xml +++ b/modules/mod_syndicate/mod_syndicate.xml @@ -3,7 +3,7 @@ <name>mod_syndicate</name> <author>Joomla! Project</author> <creationDate>May 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_syndicate/tmpl/default.php b/modules/mod_syndicate/tmpl/default.php index fb7d97c922eab..3b68459ab7c50 100644 --- a/modules/mod_syndicate/tmpl/default.php +++ b/modules/mod_syndicate/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_syndicate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_popular/helper.php b/modules/mod_tags_popular/helper.php index 4ea561c15e98d..eb71c6e1e90d7 100644 --- a/modules/mod_tags_popular/helper.php +++ b/modules/mod_tags_popular/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_popular/mod_tags_popular.php b/modules/mod_tags_popular/mod_tags_popular.php index 6192bc6e6dc6b..80ac4e971a736 100644 --- a/modules/mod_tags_popular/mod_tags_popular.php +++ b/modules/mod_tags_popular/mod_tags_popular.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_popular/mod_tags_popular.xml b/modules/mod_tags_popular/mod_tags_popular.xml index cadfb7a692a50..c60d823e075ff 100644 --- a/modules/mod_tags_popular/mod_tags_popular.xml +++ b/modules/mod_tags_popular/mod_tags_popular.xml @@ -3,7 +3,7 @@ <name>mod_tags_popular</name> <author>Joomla! Project</author> <creationDate>January 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_tags_popular/tmpl/cloud.php b/modules/mod_tags_popular/tmpl/cloud.php index 09d4881c2ad01..7a63a6aa2b22c 100644 --- a/modules/mod_tags_popular/tmpl/cloud.php +++ b/modules/mod_tags_popular/tmpl/cloud.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_popular/tmpl/default.php b/modules/mod_tags_popular/tmpl/default.php index fb93c0ca9e446..1d5e5d5d2c7d4 100644 --- a/modules/mod_tags_popular/tmpl/default.php +++ b/modules/mod_tags_popular/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_popular * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_similar/helper.php b/modules/mod_tags_similar/helper.php index f4b1686c445be..effae0fba923d 100644 --- a/modules/mod_tags_similar/helper.php +++ b/modules/mod_tags_similar/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_similar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_similar/mod_tags_similar.php b/modules/mod_tags_similar/mod_tags_similar.php index 01221ae7e06d5..c7ec00ba88ca5 100644 --- a/modules/mod_tags_similar/mod_tags_similar.php +++ b/modules/mod_tags_similar/mod_tags_similar.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_similar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_tags_similar/mod_tags_similar.xml b/modules/mod_tags_similar/mod_tags_similar.xml index 1bb5a4d2e98dd..abcc92a02eb78 100644 --- a/modules/mod_tags_similar/mod_tags_similar.xml +++ b/modules/mod_tags_similar/mod_tags_similar.xml @@ -3,7 +3,7 @@ <name>mod_tags_similar</name> <author>Joomla! Project</author> <creationDate>January 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_tags_similar/tmpl/default.php b/modules/mod_tags_similar/tmpl/default.php index d7e1fc6a0b8dc..cc577d0087c9d 100644 --- a/modules/mod_tags_similar/tmpl/default.php +++ b/modules/mod_tags_similar/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_tags_similar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_users_latest/helper.php b/modules/mod_users_latest/helper.php index 12983bb88df1b..263c297165b0d 100644 --- a/modules/mod_users_latest/helper.php +++ b/modules/mod_users_latest/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_users_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_users_latest/mod_users_latest.php b/modules/mod_users_latest/mod_users_latest.php index 259c806e30fb8..0a3848a8411eb 100644 --- a/modules/mod_users_latest/mod_users_latest.php +++ b/modules/mod_users_latest/mod_users_latest.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_users_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_users_latest/mod_users_latest.xml b/modules/mod_users_latest/mod_users_latest.xml index d30ae24fb8f4e..7299144c3dffe 100644 --- a/modules/mod_users_latest/mod_users_latest.xml +++ b/modules/mod_users_latest/mod_users_latest.xml @@ -3,7 +3,7 @@ <name>mod_users_latest</name> <author>Joomla! Project</author> <creationDate>December 2009</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_users_latest/tmpl/default.php b/modules/mod_users_latest/tmpl/default.php index 32be1bd0f10c3..ef870139a516f 100644 --- a/modules/mod_users_latest/tmpl/default.php +++ b/modules/mod_users_latest/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_users_latest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_whosonline/helper.php b/modules/mod_whosonline/helper.php index ee399ed3e99a1..8dd0367c0224c 100644 --- a/modules/mod_whosonline/helper.php +++ b/modules/mod_whosonline/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_whosonline * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_whosonline/mod_whosonline.php b/modules/mod_whosonline/mod_whosonline.php index ab5929575f47a..be61cf43a2984 100644 --- a/modules/mod_whosonline/mod_whosonline.php +++ b/modules/mod_whosonline/mod_whosonline.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_whosonline * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_whosonline/mod_whosonline.xml b/modules/mod_whosonline/mod_whosonline.xml index 7e758db1c9104..8ab7fd351dcb1 100644 --- a/modules/mod_whosonline/mod_whosonline.xml +++ b/modules/mod_whosonline/mod_whosonline.xml @@ -3,7 +3,7 @@ <name>mod_whosonline</name> <author>Joomla! Project</author> <creationDate>July 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_whosonline/tmpl/default.php b/modules/mod_whosonline/tmpl/default.php index 162c5e31fc473..41bb90bfa30bf 100644 --- a/modules/mod_whosonline/tmpl/default.php +++ b/modules/mod_whosonline/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_whosonline * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_wrapper/helper.php b/modules/mod_wrapper/helper.php index e524010991614..37e9fb7c3c075 100644 --- a/modules/mod_wrapper/helper.php +++ b/modules/mod_wrapper/helper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_wrapper/mod_wrapper.php b/modules/mod_wrapper/mod_wrapper.php index bba076a72dec3..5caea9455544f 100644 --- a/modules/mod_wrapper/mod_wrapper.php +++ b/modules/mod_wrapper/mod_wrapper.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/modules/mod_wrapper/mod_wrapper.xml b/modules/mod_wrapper/mod_wrapper.xml index 6069ccd733cc9..3c3639956e627 100644 --- a/modules/mod_wrapper/mod_wrapper.xml +++ b/modules/mod_wrapper/mod_wrapper.xml @@ -3,7 +3,7 @@ <name>mod_wrapper</name> <author>Joomla! Project</author> <creationDate>October 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/modules/mod_wrapper/tmpl/default.php b/modules/mod_wrapper/tmpl/default.php index 8d05760085aa2..045e3fb24de92 100644 --- a/modules/mod_wrapper/tmpl/default.php +++ b/modules/mod_wrapper/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_wrapper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/authentication/cookie/cookie.php b/plugins/authentication/cookie/cookie.php index 15b4454f3727c..9a611ec67b98b 100644 --- a/plugins/authentication/cookie/cookie.php +++ b/plugins/authentication/cookie/cookie.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Authentication.cookie * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/authentication/cookie/cookie.xml b/plugins/authentication/cookie/cookie.xml index ab76a17e1d84d..f6a50bee05fb7 100644 --- a/plugins/authentication/cookie/cookie.xml +++ b/plugins/authentication/cookie/cookie.xml @@ -3,7 +3,7 @@ <name>plg_authentication_cookie</name> <author>Joomla! Project</author> <creationDate>July 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/authentication/gmail/gmail.php b/plugins/authentication/gmail/gmail.php index 662f24625d0e9..edca44575e22e 100644 --- a/plugins/authentication/gmail/gmail.php +++ b/plugins/authentication/gmail/gmail.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Authentication.gmail * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/authentication/gmail/gmail.xml b/plugins/authentication/gmail/gmail.xml index 13752799d1e9a..8fc5dbf49908e 100644 --- a/plugins/authentication/gmail/gmail.xml +++ b/plugins/authentication/gmail/gmail.xml @@ -3,7 +3,7 @@ <name>plg_authentication_gmail</name> <author>Joomla! Project</author> <creationDate>February 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/authentication/joomla/joomla.php b/plugins/authentication/joomla/joomla.php index 5cfde10a56329..19970d01beca8 100644 --- a/plugins/authentication/joomla/joomla.php +++ b/plugins/authentication/joomla/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Authentication.joomla * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/authentication/joomla/joomla.xml b/plugins/authentication/joomla/joomla.xml index fd6b4997b9b0b..da4b7ad013b77 100644 --- a/plugins/authentication/joomla/joomla.xml +++ b/plugins/authentication/joomla/joomla.xml @@ -3,7 +3,7 @@ <name>plg_authentication_joomla</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/authentication/ldap/ldap.php b/plugins/authentication/ldap/ldap.php index 3f4de65afc940..ddea754b8a4c1 100644 --- a/plugins/authentication/ldap/ldap.php +++ b/plugins/authentication/ldap/ldap.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Authentication.ldap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/authentication/ldap/ldap.xml b/plugins/authentication/ldap/ldap.xml index 228458251504d..facf4ed22aae8 100644 --- a/plugins/authentication/ldap/ldap.xml +++ b/plugins/authentication/ldap/ldap.xml @@ -3,7 +3,7 @@ <name>plg_authentication_ldap</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/captcha/recaptcha/recaptcha.php b/plugins/captcha/recaptcha/recaptcha.php index 000af49a4d2a1..6aae275f18ddf 100644 --- a/plugins/captcha/recaptcha/recaptcha.php +++ b/plugins/captcha/recaptcha/recaptcha.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Captcha * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/captcha/recaptcha/recaptcha.xml b/plugins/captcha/recaptcha/recaptcha.xml index 26a85f49a6707..1325c6f4efe68 100644 --- a/plugins/captcha/recaptcha/recaptcha.xml +++ b/plugins/captcha/recaptcha/recaptcha.xml @@ -6,7 +6,7 @@ <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>PLG_CAPTCHA_RECAPTCHA_XML_DESCRIPTION</description> <files> diff --git a/plugins/content/contact/contact.php b/plugins/content/contact/contact.php index cabad322a2cbc..a22ddd1dba10e 100644 --- a/plugins/content/contact/contact.php +++ b/plugins/content/contact/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.Contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/contact/contact.xml b/plugins/content/contact/contact.xml index c68ceb84b4c8b..fe5aac18033e5 100644 --- a/plugins/content/contact/contact.xml +++ b/plugins/content/contact/contact.xml @@ -3,7 +3,7 @@ <name>plg_content_contact</name> <author>Joomla! Project</author> <creationDate>January 2014</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/emailcloak/emailcloak.php b/plugins/content/emailcloak/emailcloak.php index 06c192faefc05..a6ed5f1c3d882 100644 --- a/plugins/content/emailcloak/emailcloak.php +++ b/plugins/content/emailcloak/emailcloak.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.emailcloak * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/emailcloak/emailcloak.xml b/plugins/content/emailcloak/emailcloak.xml index a1a06b3b8231e..ac0ae63e27229 100644 --- a/plugins/content/emailcloak/emailcloak.xml +++ b/plugins/content/emailcloak/emailcloak.xml @@ -3,7 +3,7 @@ <name>plg_content_emailcloak</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/fields/fields.php b/plugins/content/fields/fields.php index fb41677c7c38c..029c911592292 100644 --- a/plugins/content/fields/fields.php +++ b/plugins/content/fields/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.Fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/fields/fields.xml b/plugins/content/fields/fields.xml index 9ffcabe268870..2ebcd27c2398a 100644 --- a/plugins/content/fields/fields.xml +++ b/plugins/content/fields/fields.xml @@ -3,7 +3,7 @@ <name>plg_content_fields</name> <author>Joomla! Project</author> <creationDate>February 2017</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/finder/finder.php b/plugins/content/finder/finder.php index 178226cdbcc9e..bf1bf43ac62f9 100644 --- a/plugins/content/finder/finder.php +++ b/plugins/content/finder/finder.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/finder/finder.xml b/plugins/content/finder/finder.xml index 0ee65e92b1eb7..afd19630f514a 100644 --- a/plugins/content/finder/finder.xml +++ b/plugins/content/finder/finder.xml @@ -3,7 +3,7 @@ <name>plg_content_finder</name> <author>Joomla! Project</author> <creationDate>December 2011</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/joomla/joomla.php b/plugins/content/joomla/joomla.php index 184f8681598b5..a6e624d70306e 100644 --- a/plugins/content/joomla/joomla.php +++ b/plugins/content/joomla/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.joomla * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/joomla/joomla.xml b/plugins/content/joomla/joomla.xml index 56e94ba1d0e04..f77f91a58a391 100644 --- a/plugins/content/joomla/joomla.xml +++ b/plugins/content/joomla/joomla.xml @@ -3,7 +3,7 @@ <name>plg_content_joomla</name> <author>Joomla! Project</author> <creationDate>November 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/loadmodule/loadmodule.php b/plugins/content/loadmodule/loadmodule.php index 7f4505dbc5af6..7e166cd532387 100644 --- a/plugins/content/loadmodule/loadmodule.php +++ b/plugins/content/loadmodule/loadmodule.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.loadmodule * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/loadmodule/loadmodule.xml b/plugins/content/loadmodule/loadmodule.xml index ff47cb4717e9a..86187902ef7c2 100644 --- a/plugins/content/loadmodule/loadmodule.xml +++ b/plugins/content/loadmodule/loadmodule.xml @@ -3,7 +3,7 @@ <name>plg_content_loadmodule</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/pagebreak/pagebreak.php b/plugins/content/pagebreak/pagebreak.php index 548fddac92fb2..4ba66411dcaa1 100644 --- a/plugins/content/pagebreak/pagebreak.php +++ b/plugins/content/pagebreak/pagebreak.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.pagebreak * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/pagebreak/pagebreak.xml b/plugins/content/pagebreak/pagebreak.xml index 7818bd55cf5ca..3361bb843584d 100644 --- a/plugins/content/pagebreak/pagebreak.xml +++ b/plugins/content/pagebreak/pagebreak.xml @@ -3,7 +3,7 @@ <name>plg_content_pagebreak</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/pagenavigation/pagenavigation.php b/plugins/content/pagenavigation/pagenavigation.php index 4ad3c2b6646c5..015c4057488b4 100644 --- a/plugins/content/pagenavigation/pagenavigation.php +++ b/plugins/content/pagenavigation/pagenavigation.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.pagenavigation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/pagenavigation/pagenavigation.xml b/plugins/content/pagenavigation/pagenavigation.xml index 599ee4ae7a8ab..d550286c9e718 100644 --- a/plugins/content/pagenavigation/pagenavigation.xml +++ b/plugins/content/pagenavigation/pagenavigation.xml @@ -3,7 +3,7 @@ <name>plg_content_pagenavigation</name> <author>Joomla! Project</author> <creationDate>January 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/content/pagenavigation/tmpl/default.php b/plugins/content/pagenavigation/tmpl/default.php index 08e172ca2ab6d..be90841a5e45c 100644 --- a/plugins/content/pagenavigation/tmpl/default.php +++ b/plugins/content/pagenavigation/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.pagenavigation * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/vote/tmpl/rating.php b/plugins/content/vote/tmpl/rating.php index 3e584d8b6f555..acbc7522a9cf2 100644 --- a/plugins/content/vote/tmpl/rating.php +++ b/plugins/content/vote/tmpl/rating.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.vote * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/vote/tmpl/vote.php b/plugins/content/vote/tmpl/vote.php index 0a230dcfdb576..3e27ed6e512a9 100644 --- a/plugins/content/vote/tmpl/vote.php +++ b/plugins/content/vote/tmpl/vote.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.vote * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/vote/vote.php b/plugins/content/vote/vote.php index a2f0720e9fe41..82b5cc5379549 100644 --- a/plugins/content/vote/vote.php +++ b/plugins/content/vote/vote.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Content.vote * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/content/vote/vote.xml b/plugins/content/vote/vote.xml index f616fdc048d44..42881e6e2ac9d 100644 --- a/plugins/content/vote/vote.xml +++ b/plugins/content/vote/vote.xml @@ -3,7 +3,7 @@ <name>plg_content_vote</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/article/article.php b/plugins/editors-xtd/article/article.php index 59837df6165a0..3b35f7550a414 100644 --- a/plugins/editors-xtd/article/article.php +++ b/plugins/editors-xtd/article/article.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.article * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/article/article.xml b/plugins/editors-xtd/article/article.xml index 243d4f5aaf429..0586349389a8d 100644 --- a/plugins/editors-xtd/article/article.xml +++ b/plugins/editors-xtd/article/article.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_article</name> <author>Joomla! Project</author> <creationDate>October 2009</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/contact/contact.php b/plugins/editors-xtd/contact/contact.php index bd1361940f2e1..d51abea5248ab 100644 --- a/plugins/editors-xtd/contact/contact.php +++ b/plugins/editors-xtd/contact/contact.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/contact/contact.xml b/plugins/editors-xtd/contact/contact.xml index 6e7461a2bdc9e..df5f47a6b50c4 100644 --- a/plugins/editors-xtd/contact/contact.xml +++ b/plugins/editors-xtd/contact/contact.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_contact</name> <author>Joomla! Project</author> <creationDate>October 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/fields/fields.php b/plugins/editors-xtd/fields/fields.php index 067729b38bb27..0c8f095875083 100644 --- a/plugins/editors-xtd/fields/fields.php +++ b/plugins/editors-xtd/fields/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/fields/fields.xml b/plugins/editors-xtd/fields/fields.xml index 8b3f8cd63510f..a708f59ec7036 100644 --- a/plugins/editors-xtd/fields/fields.xml +++ b/plugins/editors-xtd/fields/fields.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_fields</name> <author>Joomla! Project</author> <creationDate>February 2017</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/image/image.php b/plugins/editors-xtd/image/image.php index 65c6dc73aab66..7f424c28635dc 100644 --- a/plugins/editors-xtd/image/image.php +++ b/plugins/editors-xtd/image/image.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/image/image.xml b/plugins/editors-xtd/image/image.xml index def96e42a44a7..a9b0cfdb0e263 100644 --- a/plugins/editors-xtd/image/image.xml +++ b/plugins/editors-xtd/image/image.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_image</name> <author>Joomla! Project</author> <creationDate>August 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/menu/menu.php b/plugins/editors-xtd/menu/menu.php index c153eb4c32a46..132b3d795694f 100644 --- a/plugins/editors-xtd/menu/menu.php +++ b/plugins/editors-xtd/menu/menu.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.menu * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/menu/menu.xml b/plugins/editors-xtd/menu/menu.xml index 3903c9b7314e2..c3897f8eee204 100644 --- a/plugins/editors-xtd/menu/menu.xml +++ b/plugins/editors-xtd/menu/menu.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_menu</name> <author>Joomla! Project</author> <creationDate>August 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/module/module.php b/plugins/editors-xtd/module/module.php index 45570271759c5..092885bb8cc1c 100644 --- a/plugins/editors-xtd/module/module.php +++ b/plugins/editors-xtd/module/module.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.module * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/module/module.xml b/plugins/editors-xtd/module/module.xml index dae8f1bc73f0f..1b0b8952d427d 100644 --- a/plugins/editors-xtd/module/module.xml +++ b/plugins/editors-xtd/module/module.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_module</name> <author>Joomla! Project</author> <creationDate>October 2015</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/pagebreak/pagebreak.php b/plugins/editors-xtd/pagebreak/pagebreak.php index 68a60241da27e..7100d0962220a 100644 --- a/plugins/editors-xtd/pagebreak/pagebreak.php +++ b/plugins/editors-xtd/pagebreak/pagebreak.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.pagebreak * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/pagebreak/pagebreak.xml b/plugins/editors-xtd/pagebreak/pagebreak.xml index e27a03928a4a8..b42f7355edf40 100644 --- a/plugins/editors-xtd/pagebreak/pagebreak.xml +++ b/plugins/editors-xtd/pagebreak/pagebreak.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_pagebreak</name> <author>Joomla! Project</author> <creationDate>August 2004</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors-xtd/readmore/readmore.php b/plugins/editors-xtd/readmore/readmore.php index 570df634b1293..d151ffab0a3ca 100644 --- a/plugins/editors-xtd/readmore/readmore.php +++ b/plugins/editors-xtd/readmore/readmore.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors-xtd.readmore * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors-xtd/readmore/readmore.xml b/plugins/editors-xtd/readmore/readmore.xml index 7494975761d8b..a658a8c79be73 100644 --- a/plugins/editors-xtd/readmore/readmore.xml +++ b/plugins/editors-xtd/readmore/readmore.xml @@ -3,7 +3,7 @@ <name>plg_editors-xtd_readmore</name> <author>Joomla! Project</author> <creationDate>March 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/editors/codemirror/codemirror.php b/plugins/editors/codemirror/codemirror.php index 5ba9144996938..ff6f0153439e5 100644 --- a/plugins/editors/codemirror/codemirror.php +++ b/plugins/editors/codemirror/codemirror.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.codemirror * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/codemirror/fonts.php b/plugins/editors/codemirror/fonts.php index c0c570a97f088..7ba4a0a6f0771 100644 --- a/plugins/editors/codemirror/fonts.php +++ b/plugins/editors/codemirror/fonts.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.codemirror * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/element.php b/plugins/editors/codemirror/layouts/editors/codemirror/element.php index 539d0aab6a107..0a87c9ca22f52 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/element.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/element.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.codemirror * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/init.php b/plugins/editors/codemirror/layouts/editors/codemirror/init.php index b85099adcb005..5215c3c8d441f 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/init.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/init.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.codemirror * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/styles.php b/plugins/editors/codemirror/layouts/editors/codemirror/styles.php index 2c592adefd9e9..20d829130a5a5 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/styles.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/styles.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.codemirror * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/none/none.php b/plugins/editors/none/none.php index 81dfb59cef494..8c3af2a6b4ee1 100644 --- a/plugins/editors/none/none.php +++ b/plugins/editors/none/none.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.none * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/none/none.xml b/plugins/editors/none/none.xml index 967e30fa3a46d..4751fd1d89911 100644 --- a/plugins/editors/none/none.xml +++ b/plugins/editors/none/none.xml @@ -6,7 +6,7 @@ <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>PLG_NONE_XML_DESCRIPTION</description> <files> diff --git a/plugins/editors/tinymce/field/skins.php b/plugins/editors/tinymce/field/skins.php index da3e5ecd32b03..425e82bb51286 100644 --- a/plugins/editors/tinymce/field/skins.php +++ b/plugins/editors/tinymce/field/skins.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/tinymce/field/tinymcebuilder.php b/plugins/editors/tinymce/field/tinymcebuilder.php index a649bd4c8e008..1853c7f1f8d7b 100644 --- a/plugins/editors/tinymce/field/tinymcebuilder.php +++ b/plugins/editors/tinymce/field/tinymcebuilder.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/tinymce/field/uploaddirs.php b/plugins/editors/tinymce/field/uploaddirs.php index 0b292a4cc4867..cf326d1cdccfa 100644 --- a/plugins/editors/tinymce/field/uploaddirs.php +++ b/plugins/editors/tinymce/field/uploaddirs.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/editors/tinymce/tinymce.php b/plugins/editors/tinymce/tinymce.php index 8749dc41e356d..22018c7de155b 100644 --- a/plugins/editors/tinymce/tinymce.php +++ b/plugins/editors/tinymce/tinymce.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Editors.tinymce * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/extension/joomla/joomla.php b/plugins/extension/joomla/joomla.php index 104cce0b070f9..c385cadc690b5 100644 --- a/plugins/extension/joomla/joomla.php +++ b/plugins/extension/joomla/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Extension.Joomla * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/extension/joomla/joomla.xml b/plugins/extension/joomla/joomla.xml index 7c74911b5b587..12ad82057b26b 100644 --- a/plugins/extension/joomla/joomla.xml +++ b/plugins/extension/joomla/joomla.xml @@ -3,7 +3,7 @@ <name>plg_extension_joomla</name> <author>Joomla! Project</author> <creationDate>May 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/calendar/calendar.php b/plugins/fields/calendar/calendar.php index 5ae7d9eb48110..4d22d81d1f3ab 100644 --- a/plugins/fields/calendar/calendar.php +++ b/plugins/fields/calendar/calendar.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Calendar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/calendar/calendar.xml b/plugins/fields/calendar/calendar.xml index 56bae52f00cd2..892157e49dd39 100644 --- a/plugins/fields/calendar/calendar.xml +++ b/plugins/fields/calendar/calendar.xml @@ -3,7 +3,7 @@ <name>plg_fields_calendar</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/calendar/tmpl/calendar.php b/plugins/fields/calendar/tmpl/calendar.php index aedfddc8f3402..57b6ae667f84a 100644 --- a/plugins/fields/calendar/tmpl/calendar.php +++ b/plugins/fields/calendar/tmpl/calendar.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Calendar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/checkboxes/checkboxes.php b/plugins/fields/checkboxes/checkboxes.php index e8b5981cafa26..8c31ce0a515a1 100644 --- a/plugins/fields/checkboxes/checkboxes.php +++ b/plugins/fields/checkboxes/checkboxes.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Checkboxes * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/checkboxes/checkboxes.xml b/plugins/fields/checkboxes/checkboxes.xml index 851eb8296fb2b..bf922346b9b99 100644 --- a/plugins/fields/checkboxes/checkboxes.xml +++ b/plugins/fields/checkboxes/checkboxes.xml @@ -3,7 +3,7 @@ <name>plg_fields_checkboxes</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/checkboxes/tmpl/checkboxes.php b/plugins/fields/checkboxes/tmpl/checkboxes.php index d19d736b2ac4c..afb27c68bb511 100644 --- a/plugins/fields/checkboxes/tmpl/checkboxes.php +++ b/plugins/fields/checkboxes/tmpl/checkboxes.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Checkboxes * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/color/color.php b/plugins/fields/color/color.php index 08bff7c8a04b9..36da949a98435 100644 --- a/plugins/fields/color/color.php +++ b/plugins/fields/color/color.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Color * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/color/color.xml b/plugins/fields/color/color.xml index 75942bb31165d..a70f27d2585fb 100644 --- a/plugins/fields/color/color.xml +++ b/plugins/fields/color/color.xml @@ -3,7 +3,7 @@ <name>plg_fields_color</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/color/tmpl/color.php b/plugins/fields/color/tmpl/color.php index d5cb12b07f720..1d2b165351f52 100644 --- a/plugins/fields/color/tmpl/color.php +++ b/plugins/fields/color/tmpl/color.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Color * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/editor/editor.php b/plugins/fields/editor/editor.php index cd5dacaccee4e..62fc35b790eab 100644 --- a/plugins/fields/editor/editor.php +++ b/plugins/fields/editor/editor.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Editor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/editor/editor.xml b/plugins/fields/editor/editor.xml index 2a8f81e7652aa..fe27f3180b7ee 100644 --- a/plugins/fields/editor/editor.xml +++ b/plugins/fields/editor/editor.xml @@ -3,7 +3,7 @@ <name>plg_fields_editor</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/editor/tmpl/editor.php b/plugins/fields/editor/tmpl/editor.php index 312ed741477bc..019185cac9278 100644 --- a/plugins/fields/editor/tmpl/editor.php +++ b/plugins/fields/editor/tmpl/editor.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Editor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/imagelist/imagelist.php b/plugins/fields/imagelist/imagelist.php index 63248cd292f02..96c584aaaf89f 100644 --- a/plugins/fields/imagelist/imagelist.php +++ b/plugins/fields/imagelist/imagelist.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Imagelist * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/imagelist/imagelist.xml b/plugins/fields/imagelist/imagelist.xml index f407656a967bc..4b8358a96e10e 100644 --- a/plugins/fields/imagelist/imagelist.xml +++ b/plugins/fields/imagelist/imagelist.xml @@ -3,7 +3,7 @@ <name>plg_fields_imagelist</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/imagelist/tmpl/imagelist.php b/plugins/fields/imagelist/tmpl/imagelist.php index 6cf8a5c766473..8c956c7dbb6a8 100644 --- a/plugins/fields/imagelist/tmpl/imagelist.php +++ b/plugins/fields/imagelist/tmpl/imagelist.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Imagelist * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/integer/integer.php b/plugins/fields/integer/integer.php index db1e9932d37ce..5ef99d3fadee4 100644 --- a/plugins/fields/integer/integer.php +++ b/plugins/fields/integer/integer.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Integer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/integer/integer.xml b/plugins/fields/integer/integer.xml index 9fb56a852eddf..ef73946eb439e 100644 --- a/plugins/fields/integer/integer.xml +++ b/plugins/fields/integer/integer.xml @@ -3,7 +3,7 @@ <name>plg_fields_integer</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/integer/tmpl/integer.php b/plugins/fields/integer/tmpl/integer.php index ae420152a8d28..fce68668a683c 100644 --- a/plugins/fields/integer/tmpl/integer.php +++ b/plugins/fields/integer/tmpl/integer.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Integer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/list/list.php b/plugins/fields/list/list.php index fc4b3487b63ed..66a0dc7423ba2 100644 --- a/plugins/fields/list/list.php +++ b/plugins/fields/list/list.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.List * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/list/list.xml b/plugins/fields/list/list.xml index 1c3cc2b24eeb1..7bea9c7d12632 100644 --- a/plugins/fields/list/list.xml +++ b/plugins/fields/list/list.xml @@ -3,7 +3,7 @@ <name>plg_fields_list</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/list/tmpl/list.php b/plugins/fields/list/tmpl/list.php index 476ba653420e4..870a69fc77c6e 100644 --- a/plugins/fields/list/tmpl/list.php +++ b/plugins/fields/list/tmpl/list.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.List * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/media/media.php b/plugins/fields/media/media.php index 5bc64f3a48997..a5e5f6a824adb 100644 --- a/plugins/fields/media/media.php +++ b/plugins/fields/media/media.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/media/media.xml b/plugins/fields/media/media.xml index eab579ffbe010..52477a7a2938b 100644 --- a/plugins/fields/media/media.xml +++ b/plugins/fields/media/media.xml @@ -3,7 +3,7 @@ <name>plg_fields_media</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/media/tmpl/media.php b/plugins/fields/media/tmpl/media.php index d0e8f7988e29b..bc3dc72745804 100644 --- a/plugins/fields/media/tmpl/media.php +++ b/plugins/fields/media/tmpl/media.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/radio/radio.php b/plugins/fields/radio/radio.php index faf606a9d6580..6dc96448f0872 100644 --- a/plugins/fields/radio/radio.php +++ b/plugins/fields/radio/radio.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Radio * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/radio/radio.xml b/plugins/fields/radio/radio.xml index 450df04e83a16..3ea7d9112e0ca 100644 --- a/plugins/fields/radio/radio.xml +++ b/plugins/fields/radio/radio.xml @@ -3,7 +3,7 @@ <name>plg_fields_radio</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/radio/tmpl/radio.php b/plugins/fields/radio/tmpl/radio.php index 8fa32ef293a87..84ce316609d0c 100644 --- a/plugins/fields/radio/tmpl/radio.php +++ b/plugins/fields/radio/tmpl/radio.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Radio * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/sql/sql.php b/plugins/fields/sql/sql.php index f29a8f7d0527b..8ebfc5ccccd4f 100644 --- a/plugins/fields/sql/sql.php +++ b/plugins/fields/sql/sql.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Sql * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/sql/sql.xml b/plugins/fields/sql/sql.xml index 85b06086d2476..e7dd0dd8a9e9b 100644 --- a/plugins/fields/sql/sql.xml +++ b/plugins/fields/sql/sql.xml @@ -3,7 +3,7 @@ <name>plg_fields_sql</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/sql/tmpl/sql.php b/plugins/fields/sql/tmpl/sql.php index 77d8e5ff42d16..0206f15eed835 100644 --- a/plugins/fields/sql/tmpl/sql.php +++ b/plugins/fields/sql/tmpl/sql.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Sql * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/text/text.php b/plugins/fields/text/text.php index b22ac02d42579..e09535ba0870a 100644 --- a/plugins/fields/text/text.php +++ b/plugins/fields/text/text.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Text * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/text/text.xml b/plugins/fields/text/text.xml index 432865bc04d8f..bb7f36cf738cc 100644 --- a/plugins/fields/text/text.xml +++ b/plugins/fields/text/text.xml @@ -3,7 +3,7 @@ <name>plg_fields_text</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/text/tmpl/text.php b/plugins/fields/text/tmpl/text.php index 55e39a202cd5c..8ab4f25c04c62 100644 --- a/plugins/fields/text/tmpl/text.php +++ b/plugins/fields/text/tmpl/text.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Text * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/textarea/textarea.php b/plugins/fields/textarea/textarea.php index bdfa4963e565d..a5e440b357c90 100644 --- a/plugins/fields/textarea/textarea.php +++ b/plugins/fields/textarea/textarea.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Textarea * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/textarea/textarea.xml b/plugins/fields/textarea/textarea.xml index 596298dee41f9..da39ed7f27956 100644 --- a/plugins/fields/textarea/textarea.xml +++ b/plugins/fields/textarea/textarea.xml @@ -3,7 +3,7 @@ <name>plg_fields_textarea</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/textarea/tmpl/textarea.php b/plugins/fields/textarea/tmpl/textarea.php index ee3c85743d85a..a849f06bb428f 100644 --- a/plugins/fields/textarea/tmpl/textarea.php +++ b/plugins/fields/textarea/tmpl/textarea.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Textarea * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/url/tmpl/url.php b/plugins/fields/url/tmpl/url.php index be329b443e44d..560246e454946 100644 --- a/plugins/fields/url/tmpl/url.php +++ b/plugins/fields/url/tmpl/url.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.URL * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/url/url.php b/plugins/fields/url/url.php index 15399320fc9c9..c84e54379c7e9 100644 --- a/plugins/fields/url/url.php +++ b/plugins/fields/url/url.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.URL * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/url/url.xml b/plugins/fields/url/url.xml index c5c7c8d4ebf2c..5baf5899b9f54 100644 --- a/plugins/fields/url/url.xml +++ b/plugins/fields/url/url.xml @@ -3,7 +3,7 @@ <name>plg_fields_url</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/user/tmpl/user.php b/plugins/fields/user/tmpl/user.php index f713fbf2cd6f4..de7a035a8ffde 100644 --- a/plugins/fields/user/tmpl/user.php +++ b/plugins/fields/user/tmpl/user.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/user/user.php b/plugins/fields/user/user.php index bc88a76c01f60..33244efa140e1 100644 --- a/plugins/fields/user/user.php +++ b/plugins/fields/user/user.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/user/user.xml b/plugins/fields/user/user.xml index 42634aca1cf6b..4a1c88d48edbf 100644 --- a/plugins/fields/user/user.xml +++ b/plugins/fields/user/user.xml @@ -3,7 +3,7 @@ <name>plg_fields_user</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/fields/usergrouplist/tmpl/usergrouplist.php b/plugins/fields/usergrouplist/tmpl/usergrouplist.php index 158971fe6352a..7ae25946f2c14 100644 --- a/plugins/fields/usergrouplist/tmpl/usergrouplist.php +++ b/plugins/fields/usergrouplist/tmpl/usergrouplist.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Usergrouplist * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/fields/usergrouplist/usergrouplist.php b/plugins/fields/usergrouplist/usergrouplist.php index a9083a8e134f9..58fa2958c3b10 100644 --- a/plugins/fields/usergrouplist/usergrouplist.php +++ b/plugins/fields/usergrouplist/usergrouplist.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Fields.Usergrouplist * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/fields/usergrouplist/usergrouplist.xml b/plugins/fields/usergrouplist/usergrouplist.xml index d5995c7a2715a..73ee52a931384 100644 --- a/plugins/fields/usergrouplist/usergrouplist.xml +++ b/plugins/fields/usergrouplist/usergrouplist.xml @@ -3,7 +3,7 @@ <name>plg_fields_usergrouplist</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/finder/categories/categories.php b/plugins/finder/categories/categories.php index 38cf1f73bcc9b..d9be659e33150 100644 --- a/plugins/finder/categories/categories.php +++ b/plugins/finder/categories/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Finder.Categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/finder/categories/categories.xml b/plugins/finder/categories/categories.xml index 12000c006a475..6b9290334ecee 100644 --- a/plugins/finder/categories/categories.xml +++ b/plugins/finder/categories/categories.xml @@ -3,7 +3,7 @@ <name>plg_finder_categories</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/finder/contacts/contacts.php b/plugins/finder/contacts/contacts.php index b3a7eb84dfc77..51797206a874b 100644 --- a/plugins/finder/contacts/contacts.php +++ b/plugins/finder/contacts/contacts.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Finder.Contacts * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/finder/contacts/contacts.xml b/plugins/finder/contacts/contacts.xml index 03a7558f5c398..f7d37c6b9f68e 100644 --- a/plugins/finder/contacts/contacts.xml +++ b/plugins/finder/contacts/contacts.xml @@ -3,7 +3,7 @@ <name>plg_finder_contacts</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/finder/content/content.php b/plugins/finder/content/content.php index 32ac58a64a194..1ad10a6028285 100644 --- a/plugins/finder/content/content.php +++ b/plugins/finder/content/content.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Finder.Content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/finder/content/content.xml b/plugins/finder/content/content.xml index 3619f3e53d702..f64a5bffe5525 100644 --- a/plugins/finder/content/content.xml +++ b/plugins/finder/content/content.xml @@ -3,7 +3,7 @@ <name>plg_finder_content</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/finder/newsfeeds/newsfeeds.php b/plugins/finder/newsfeeds/newsfeeds.php index 3cfee4be731b5..b897dc478a407 100644 --- a/plugins/finder/newsfeeds/newsfeeds.php +++ b/plugins/finder/newsfeeds/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Finder.Newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/finder/newsfeeds/newsfeeds.xml b/plugins/finder/newsfeeds/newsfeeds.xml index 8ac020d39c10e..b3949955a9f2b 100644 --- a/plugins/finder/newsfeeds/newsfeeds.xml +++ b/plugins/finder/newsfeeds/newsfeeds.xml @@ -3,7 +3,7 @@ <name>plg_finder_newsfeeds</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/finder/tags/tags.php b/plugins/finder/tags/tags.php index 3aaefeac34d75..179c7a622f637 100644 --- a/plugins/finder/tags/tags.php +++ b/plugins/finder/tags/tags.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Finder.Tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/finder/tags/tags.xml b/plugins/finder/tags/tags.xml index cb0da6ec182cf..f60c2732683a8 100644 --- a/plugins/finder/tags/tags.xml +++ b/plugins/finder/tags/tags.xml @@ -3,7 +3,7 @@ <name>plg_finder_tags</name> <author>Joomla! Project</author> <creationDate>February 2013</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/installer/folderinstaller/folderinstaller.php b/plugins/installer/folderinstaller/folderinstaller.php index 32252767a408a..a16e2c35ddf9d 100644 --- a/plugins/installer/folderinstaller/folderinstaller.php +++ b/plugins/installer/folderinstaller/folderinstaller.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.folderInstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/installer/folderinstaller/folderinstaller.xml b/plugins/installer/folderinstaller/folderinstaller.xml index 55de4769f53d7..a9c062a464928 100644 --- a/plugins/installer/folderinstaller/folderinstaller.xml +++ b/plugins/installer/folderinstaller/folderinstaller.xml @@ -3,7 +3,7 @@ <name>PLG_INSTALLER_FOLDERINSTALLER</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/installer/folderinstaller/tmpl/default.php b/plugins/installer/folderinstaller/tmpl/default.php index da0d13b76068b..cca5a88d5be25 100644 --- a/plugins/installer/folderinstaller/tmpl/default.php +++ b/plugins/installer/folderinstaller/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.folderinstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/installer/packageinstaller/packageinstaller.php b/plugins/installer/packageinstaller/packageinstaller.php index 178083a876b97..67da528f73a0c 100644 --- a/plugins/installer/packageinstaller/packageinstaller.php +++ b/plugins/installer/packageinstaller/packageinstaller.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.packageInstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/installer/packageinstaller/packageinstaller.xml b/plugins/installer/packageinstaller/packageinstaller.xml index 3ae4419909178..112a712878318 100644 --- a/plugins/installer/packageinstaller/packageinstaller.xml +++ b/plugins/installer/packageinstaller/packageinstaller.xml @@ -3,7 +3,7 @@ <name>plg_installer_packageinstaller</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/installer/packageinstaller/tmpl/default.php b/plugins/installer/packageinstaller/tmpl/default.php index 2a198d804a7aa..d9046c2f6b9b5 100644 --- a/plugins/installer/packageinstaller/tmpl/default.php +++ b/plugins/installer/packageinstaller/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.packageinstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/installer/urlinstaller/tmpl/default.php b/plugins/installer/urlinstaller/tmpl/default.php index 0b2e2dedca4fe..ba2167050bff5 100644 --- a/plugins/installer/urlinstaller/tmpl/default.php +++ b/plugins/installer/urlinstaller/tmpl/default.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.urlinstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/installer/urlinstaller/urlinstaller.php b/plugins/installer/urlinstaller/urlinstaller.php index 6ecb36550800f..4d25bdb484c4e 100644 --- a/plugins/installer/urlinstaller/urlinstaller.php +++ b/plugins/installer/urlinstaller/urlinstaller.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Installer.urlinstaller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/installer/urlinstaller/urlinstaller.xml b/plugins/installer/urlinstaller/urlinstaller.xml index 8292200247349..03618b6ca3bf1 100644 --- a/plugins/installer/urlinstaller/urlinstaller.xml +++ b/plugins/installer/urlinstaller/urlinstaller.xml @@ -3,7 +3,7 @@ <name>PLG_INSTALLER_URLINSTALLER</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/quickicon/extensionupdate/extensionupdate.php b/plugins/quickicon/extensionupdate/extensionupdate.php index 43a04097195ac..dad583c199682 100644 --- a/plugins/quickicon/extensionupdate/extensionupdate.php +++ b/plugins/quickicon/extensionupdate/extensionupdate.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Quickicon.Extensionupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/quickicon/extensionupdate/extensionupdate.xml b/plugins/quickicon/extensionupdate/extensionupdate.xml index ddd948c1120ea..357e364e58b4b 100644 --- a/plugins/quickicon/extensionupdate/extensionupdate.xml +++ b/plugins/quickicon/extensionupdate/extensionupdate.xml @@ -3,7 +3,7 @@ <name>plg_quickicon_extensionupdate</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/quickicon/joomlaupdate/joomlaupdate.php b/plugins/quickicon/joomlaupdate/joomlaupdate.php index b103cd1b3447f..31b00041309f6 100644 --- a/plugins/quickicon/joomlaupdate/joomlaupdate.php +++ b/plugins/quickicon/joomlaupdate/joomlaupdate.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Quickicon.Joomlaupdate * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/quickicon/joomlaupdate/joomlaupdate.xml b/plugins/quickicon/joomlaupdate/joomlaupdate.xml index 51bbaddb21665..3796508be9dde 100644 --- a/plugins/quickicon/joomlaupdate/joomlaupdate.xml +++ b/plugins/quickicon/joomlaupdate/joomlaupdate.xml @@ -3,7 +3,7 @@ <name>plg_quickicon_joomlaupdate</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/quickicon/phpversioncheck/phpversioncheck.php b/plugins/quickicon/phpversioncheck/phpversioncheck.php index fdeab46e78ac9..aed6f7e5f06f8 100644 --- a/plugins/quickicon/phpversioncheck/phpversioncheck.php +++ b/plugins/quickicon/phpversioncheck/phpversioncheck.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Quickicon.phpversioncheck * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/quickicon/phpversioncheck/phpversioncheck.xml b/plugins/quickicon/phpversioncheck/phpversioncheck.xml index c1cb2c7190036..7131843e5ebaa 100644 --- a/plugins/quickicon/phpversioncheck/phpversioncheck.xml +++ b/plugins/quickicon/phpversioncheck/phpversioncheck.xml @@ -3,7 +3,7 @@ <name>plg_quickicon_phpversioncheck</name> <author>Joomla! Project</author> <creationDate>August 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/sampledata/blog/blog.php b/plugins/sampledata/blog/blog.php index ab39d7198fe0d..50cc83a2b7d65 100644 --- a/plugins/sampledata/blog/blog.php +++ b/plugins/sampledata/blog/blog.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Sampledata.Blog * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/sampledata/blog/blog.xml b/plugins/sampledata/blog/blog.xml index f9afd2a92fa3d..a8f960d80925b 100644 --- a/plugins/sampledata/blog/blog.xml +++ b/plugins/sampledata/blog/blog.xml @@ -3,7 +3,7 @@ <name>plg_sampledata_blog</name> <author>Joomla! Project</author> <creationDate>July 2017</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/search/categories/categories.php b/plugins/search/categories/categories.php index 94e686f8518df..350a595b3b2a9 100644 --- a/plugins/search/categories/categories.php +++ b/plugins/search/categories/categories.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Search.categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/search/categories/categories.xml b/plugins/search/categories/categories.xml index 69b328dab2226..338cdc1b1bc63 100644 --- a/plugins/search/categories/categories.xml +++ b/plugins/search/categories/categories.xml @@ -3,7 +3,7 @@ <name>plg_search_categories</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/search/contacts/contacts.php b/plugins/search/contacts/contacts.php index a416e665740a9..fcc12e03778be 100644 --- a/plugins/search/contacts/contacts.php +++ b/plugins/search/contacts/contacts.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Search.contacts * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/search/contacts/contacts.xml b/plugins/search/contacts/contacts.xml index fb9a703dcaded..227c976dae759 100644 --- a/plugins/search/contacts/contacts.xml +++ b/plugins/search/contacts/contacts.xml @@ -3,7 +3,7 @@ <name>plg_search_contacts</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/search/content/content.php b/plugins/search/content/content.php index edbc86ab2a27e..edfb42f858f39 100644 --- a/plugins/search/content/content.php +++ b/plugins/search/content/content.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Search.content * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/search/content/content.xml b/plugins/search/content/content.xml index d3aa1a15afa39..313eb4d6905b8 100644 --- a/plugins/search/content/content.xml +++ b/plugins/search/content/content.xml @@ -3,7 +3,7 @@ <name>plg_search_content</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/search/newsfeeds/newsfeeds.php b/plugins/search/newsfeeds/newsfeeds.php index 8084344fb45df..31358473f764b 100644 --- a/plugins/search/newsfeeds/newsfeeds.php +++ b/plugins/search/newsfeeds/newsfeeds.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Search.newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/search/newsfeeds/newsfeeds.xml b/plugins/search/newsfeeds/newsfeeds.xml index f4e7b575c4b8c..f9f1400df16ad 100644 --- a/plugins/search/newsfeeds/newsfeeds.xml +++ b/plugins/search/newsfeeds/newsfeeds.xml @@ -3,7 +3,7 @@ <name>plg_search_newsfeeds</name> <author>Joomla! Project</author> <creationDate>November 2005</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/search/tags/tags.php b/plugins/search/tags/tags.php index 09fd3e3e68a13..9fbf94be90b75 100644 --- a/plugins/search/tags/tags.php +++ b/plugins/search/tags/tags.php @@ -4,7 +4,7 @@ * @package Joomla.Plugin * @subpackage Search.tags * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/plugins/search/tags/tags.xml b/plugins/search/tags/tags.xml index 511f22835091a..72bb6c0819e16 100644 --- a/plugins/search/tags/tags.xml +++ b/plugins/search/tags/tags.xml @@ -3,7 +3,7 @@ <name>plg_search_tags</name> <author>Joomla! Project</author> <creationDate>March 2014</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/cache/cache.php b/plugins/system/cache/cache.php index b843dd17cd6c7..53e53008ad142 100644 --- a/plugins/system/cache/cache.php +++ b/plugins/system/cache/cache.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/cache/cache.xml b/plugins/system/cache/cache.xml index ce19e04be866c..1552bdc6f93ef 100644 --- a/plugins/system/cache/cache.xml +++ b/plugins/system/cache/cache.xml @@ -3,7 +3,7 @@ <name>plg_system_cache</name> <author>Joomla! Project</author> <creationDate>February 2007</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/debug/debug.php b/plugins/system/debug/debug.php index d57b2e686fefb..19a30c0910a1c 100644 --- a/plugins/system/debug/debug.php +++ b/plugins/system/debug/debug.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.Debug * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/debug/debug.xml b/plugins/system/debug/debug.xml index 09e2d2fde7dad..474d32d6664e1 100644 --- a/plugins/system/debug/debug.xml +++ b/plugins/system/debug/debug.xml @@ -3,7 +3,7 @@ <name>plg_system_debug</name> <author>Joomla! Project</author> <creationDate>December 2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/fields/fields.php b/plugins/system/fields/fields.php index 23afd468bd8e0..ba1e1396b3009 100644 --- a/plugins/system/fields/fields.php +++ b/plugins/system/fields/fields.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.Fields * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -503,7 +503,7 @@ public function onPrepareFinderContent($item) * * @return object * - * @since __DEPLOY_VERSION__ + * @since 3.8.4 */ private function prepareTagItem($item) { diff --git a/plugins/system/fields/fields.xml b/plugins/system/fields/fields.xml index 8d201ac2346b9..0ed586f733f09 100644 --- a/plugins/system/fields/fields.xml +++ b/plugins/system/fields/fields.xml @@ -3,7 +3,7 @@ <name>plg_system_fields</name> <author>Joomla! Project</author> <creationDate>March 2016</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/highlight/highlight.php b/plugins/system/highlight/highlight.php index 4c8f2e2c2a09d..dfa2f33900c0c 100644 --- a/plugins/system/highlight/highlight.php +++ b/plugins/system/highlight/highlight.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.Highlight * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/highlight/highlight.xml b/plugins/system/highlight/highlight.xml index d9201ec966e36..e3e077b66f65c 100644 --- a/plugins/system/highlight/highlight.xml +++ b/plugins/system/highlight/highlight.xml @@ -3,7 +3,7 @@ <name>plg_system_highlight</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.ini b/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.ini index 35b18d2ce2e7d..8de29193674fb 100644 --- a/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.ini +++ b/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.sys.ini b/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.sys.ini index 44fa028ca5d13..b671d2ee0cb26 100644 --- a/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.sys.ini +++ b/plugins/system/languagecode/language/en-GB/en-GB.plg_system_languagecode.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/plugins/system/languagecode/languagecode.php b/plugins/system/languagecode/languagecode.php index e781ad3946d80..9826fc01cd519 100644 --- a/plugins/system/languagecode/languagecode.php +++ b/plugins/system/languagecode/languagecode.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.languagecode * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/languagecode/languagecode.xml b/plugins/system/languagecode/languagecode.xml index 88fdc5e7e22f0..8203f5ffd4e97 100644 --- a/plugins/system/languagecode/languagecode.xml +++ b/plugins/system/languagecode/languagecode.xml @@ -3,7 +3,7 @@ <name>plg_system_languagecode</name> <author>Joomla! Project</author> <creationDate>November 2011</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 1da72224e58e9..7a76282730efb 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.languagefilter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/languagefilter/languagefilter.xml b/plugins/system/languagefilter/languagefilter.xml index 724934dd0cdda..02c0564d42e9b 100644 --- a/plugins/system/languagefilter/languagefilter.xml +++ b/plugins/system/languagefilter/languagefilter.xml @@ -3,7 +3,7 @@ <name>plg_system_languagefilter</name> <author>Joomla! Project</author> <creationDate>July 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/log/log.php b/plugins/system/log/log.php index 1f64e032314ae..58aa2c916c9a4 100644 --- a/plugins/system/log/log.php +++ b/plugins/system/log/log.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/log/log.xml b/plugins/system/log/log.xml index 28ec1ffa8ef0d..9e0b1e5131b7a 100644 --- a/plugins/system/log/log.xml +++ b/plugins/system/log/log.xml @@ -3,7 +3,7 @@ <name>plg_system_log</name> <author>Joomla! Project</author> <creationDate>April 2007</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/logout/logout.php b/plugins/system/logout/logout.php index 1cac5808152f0..53486a8eddc88 100644 --- a/plugins/system/logout/logout.php +++ b/plugins/system/logout/logout.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.logout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/logout/logout.xml b/plugins/system/logout/logout.xml index 69f01cbc87cfa..b41c99138aed2 100644 --- a/plugins/system/logout/logout.xml +++ b/plugins/system/logout/logout.xml @@ -3,7 +3,7 @@ <name>plg_system_logout</name> <author>Joomla! Project</author> <creationDate>April 2009</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/p3p/p3p.php b/plugins/system/p3p/p3p.php index 6cde40dc48707..162ae008fc038 100644 --- a/plugins/system/p3p/p3p.php +++ b/plugins/system/p3p/p3p.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.p3p * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/p3p/p3p.xml b/plugins/system/p3p/p3p.xml index 2e318fb048355..552bb946ae1cd 100644 --- a/plugins/system/p3p/p3p.xml +++ b/plugins/system/p3p/p3p.xml @@ -3,7 +3,7 @@ <name>plg_system_p3p</name> <author>Joomla! Project</author> <creationDate>September 2010</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/redirect/redirect.php b/plugins/system/redirect/redirect.php index 1ed439ffeefd2..7e328327fb401 100644 --- a/plugins/system/redirect/redirect.php +++ b/plugins/system/redirect/redirect.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.redirect * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/redirect/redirect.xml b/plugins/system/redirect/redirect.xml index 48f9dd3185394..7bfa8ecfc7b32 100644 --- a/plugins/system/redirect/redirect.xml +++ b/plugins/system/redirect/redirect.xml @@ -3,7 +3,7 @@ <name>plg_system_redirect</name> <author>Joomla! Project</author> <creationDate>April 2009</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/remember/remember.php b/plugins/system/remember/remember.php index 7f6c6a606a333..a6e177bf4b7eb 100644 --- a/plugins/system/remember/remember.php +++ b/plugins/system/remember/remember.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.remember * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/remember/remember.xml b/plugins/system/remember/remember.xml index 4244d159706be..f43aead4bb509 100644 --- a/plugins/system/remember/remember.xml +++ b/plugins/system/remember/remember.xml @@ -3,7 +3,7 @@ <name>plg_system_remember</name> <author>Joomla! Project</author> <creationDate>April 2007</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/sef/sef.php b/plugins/system/sef/sef.php index 89b386270d393..e68993b55876e 100644 --- a/plugins/system/sef/sef.php +++ b/plugins/system/sef/sef.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.sef * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/sef/sef.xml b/plugins/system/sef/sef.xml index 94040c17cf278..be0f436819800 100644 --- a/plugins/system/sef/sef.xml +++ b/plugins/system/sef/sef.xml @@ -3,7 +3,7 @@ <name>plg_system_sef</name> <author>Joomla! Project</author> <creationDate>December 2007</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/stats/field/base.php b/plugins/system/stats/field/base.php index 7b24be45b4a6c..56d5ba2bb359d 100644 --- a/plugins/system/stats/field/base.php +++ b/plugins/system/stats/field/base.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/field/data.php b/plugins/system/stats/field/data.php index c82aff334969c..c7f00e96fbd45 100644 --- a/plugins/system/stats/field/data.php +++ b/plugins/system/stats/field/data.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/field/uniqueid.php b/plugins/system/stats/field/uniqueid.php index 929bacd59f6d9..246b31060c42b 100644 --- a/plugins/system/stats/field/uniqueid.php +++ b/plugins/system/stats/field/uniqueid.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/layouts/field/data.php b/plugins/system/stats/layouts/field/data.php index 088be69878ec6..f77845df4c26b 100644 --- a/plugins/system/stats/layouts/field/data.php +++ b/plugins/system/stats/layouts/field/data.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/layouts/field/uniqueid.php b/plugins/system/stats/layouts/field/uniqueid.php index 57b0de4e70dd4..537521da9a9e5 100644 --- a/plugins/system/stats/layouts/field/uniqueid.php +++ b/plugins/system/stats/layouts/field/uniqueid.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/layouts/message.php b/plugins/system/stats/layouts/message.php index 81b778c9e2e7f..c6a083421ca6b 100644 --- a/plugins/system/stats/layouts/message.php +++ b/plugins/system/stats/layouts/message.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/layouts/stats.php b/plugins/system/stats/layouts/stats.php index 8b697420db663..dc067c9666526 100644 --- a/plugins/system/stats/layouts/stats.php +++ b/plugins/system/stats/layouts/stats.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/stats.php b/plugins/system/stats/stats.php index a6876b3965426..d886c0b61ad0c 100644 --- a/plugins/system/stats/stats.php +++ b/plugins/system/stats/stats.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.stats * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/stats/stats.xml b/plugins/system/stats/stats.xml index e104bf176e39c..d4bde9b7e9a5e 100644 --- a/plugins/system/stats/stats.xml +++ b/plugins/system/stats/stats.xml @@ -3,7 +3,7 @@ <name>plg_system_stats</name> <author>Joomla! Project</author> <creationDate>November 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/system/updatenotification/postinstall/updatecachetime.php b/plugins/system/updatenotification/postinstall/updatecachetime.php index 962a999ff16fa..3dab71c928989 100644 --- a/plugins/system/updatenotification/postinstall/updatecachetime.php +++ b/plugins/system/updatenotification/postinstall/updatecachetime.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.updatenotification * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/updatenotification/updatenotification.php b/plugins/system/updatenotification/updatenotification.php index b08c8a61e3a03..8af6dcd22a5e7 100644 --- a/plugins/system/updatenotification/updatenotification.php +++ b/plugins/system/updatenotification/updatenotification.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage System.updatenotification * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/system/updatenotification/updatenotification.xml b/plugins/system/updatenotification/updatenotification.xml index 87326d7686045..fc9e17a011239 100644 --- a/plugins/system/updatenotification/updatenotification.xml +++ b/plugins/system/updatenotification/updatenotification.xml @@ -3,7 +3,7 @@ <name>plg_system_updatenotification</name> <author>Joomla! Project</author> <creationDate>May 2015</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/twofactorauth/totp/postinstall/actions.php b/plugins/twofactorauth/totp/postinstall/actions.php index 36d2b0ef2699d..c6989b74084ba 100644 --- a/plugins/twofactorauth/totp/postinstall/actions.php +++ b/plugins/twofactorauth/totp/postinstall/actions.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Twofactorauth.totp * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * This file contains the functions used by the com_postinstall code to deliver diff --git a/plugins/twofactorauth/totp/tmpl/form.php b/plugins/twofactorauth/totp/tmpl/form.php index 517bd73002021..3a155efca5c56 100644 --- a/plugins/twofactorauth/totp/tmpl/form.php +++ b/plugins/twofactorauth/totp/tmpl/form.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Twofactorauth.totp.tmpl * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/twofactorauth/totp/totp.php b/plugins/twofactorauth/totp/totp.php index 4b49636560e32..a70e91d6261c5 100644 --- a/plugins/twofactorauth/totp/totp.php +++ b/plugins/twofactorauth/totp/totp.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Twofactorauth.totp * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/twofactorauth/totp/totp.xml b/plugins/twofactorauth/totp/totp.xml index 601020d98bc02..96d5f36b38620 100644 --- a/plugins/twofactorauth/totp/totp.xml +++ b/plugins/twofactorauth/totp/totp.xml @@ -3,7 +3,7 @@ <name>plg_twofactorauth_totp</name> <author>Joomla! Project</author> <creationDate>August 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/twofactorauth/yubikey/tmpl/form.php b/plugins/twofactorauth/yubikey/tmpl/form.php index a3d6ab351e450..f5ae02c71af18 100644 --- a/plugins/twofactorauth/yubikey/tmpl/form.php +++ b/plugins/twofactorauth/yubikey/tmpl/form.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Twofactorauth.yubikey.tmpl * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/twofactorauth/yubikey/yubikey.php b/plugins/twofactorauth/yubikey/yubikey.php index ba12ea94ccb79..a4d5e79421bef 100644 --- a/plugins/twofactorauth/yubikey/yubikey.php +++ b/plugins/twofactorauth/yubikey/yubikey.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage Twofactorauth.yubikey * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/twofactorauth/yubikey/yubikey.xml b/plugins/twofactorauth/yubikey/yubikey.xml index 28d31731fc0f9..df9cd82acc5fb 100644 --- a/plugins/twofactorauth/yubikey/yubikey.xml +++ b/plugins/twofactorauth/yubikey/yubikey.xml @@ -3,7 +3,7 @@ <name>plg_twofactorauth_yubikey</name> <author>Joomla! Project</author> <creationDate>September 2013</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/user/contactcreator/contactcreator.php b/plugins/user/contactcreator/contactcreator.php index 244ec4b2868de..56b6638416e9e 100644 --- a/plugins/user/contactcreator/contactcreator.php +++ b/plugins/user/contactcreator/contactcreator.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage User.contactcreator * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/user/contactcreator/contactcreator.xml b/plugins/user/contactcreator/contactcreator.xml index a47ccd5afa41c..b06a1e9ff9885 100644 --- a/plugins/user/contactcreator/contactcreator.xml +++ b/plugins/user/contactcreator/contactcreator.xml @@ -3,7 +3,7 @@ <name>plg_user_contactcreator</name> <author>Joomla! Project</author> <creationDate>August 2009</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/user/joomla/joomla.php b/plugins/user/joomla/joomla.php index fa3485405dffe..e248f07c65a88 100644 --- a/plugins/user/joomla/joomla.php +++ b/plugins/user/joomla/joomla.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage User.joomla * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/user/joomla/joomla.xml b/plugins/user/joomla/joomla.xml index 8bcfcf38168e8..8ea25ffff492b 100644 --- a/plugins/user/joomla/joomla.xml +++ b/plugins/user/joomla/joomla.xml @@ -3,7 +3,7 @@ <name>plg_user_joomla</name> <author>Joomla! Project</author> <creationDate>December 2006</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/plugins/user/profile/field/dob.php b/plugins/user/profile/field/dob.php index e56486c96db5d..b29575823f253 100644 --- a/plugins/user/profile/field/dob.php +++ b/plugins/user/profile/field/dob.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage User.profile * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/user/profile/field/tos.php b/plugins/user/profile/field/tos.php index 5654ee826c6b8..4c167c7d589e5 100644 --- a/plugins/user/profile/field/tos.php +++ b/plugins/user/profile/field/tos.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage User.profile * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/user/profile/profile.php b/plugins/user/profile/profile.php index ce937a32002ac..29f98e67a1864 100644 --- a/plugins/user/profile/profile.php +++ b/plugins/user/profile/profile.php @@ -3,7 +3,7 @@ * @package Joomla.Plugin * @subpackage User.profile * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/plugins/user/profile/profile.xml b/plugins/user/profile/profile.xml index d111dfe8ea566..57227ca6e41ca 100644 --- a/plugins/user/profile/profile.xml +++ b/plugins/user/profile/profile.xml @@ -3,7 +3,7 @@ <name>plg_user_profile</name> <author>Joomla! Project</author> <creationDate>January 2008</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/templates/beez3/component.php b/templates/beez3/component.php index 63cdfabcb33fa..891630995a7e6 100644 --- a/templates/beez3/component.php +++ b/templates/beez3/component.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/css/ie7only.css b/templates/beez3/css/ie7only.css index 6474ea7c3842c..a23b1cad83c77 100644 --- a/templates/beez3/css/ie7only.css +++ b/templates/beez3/css/ie7only.css @@ -2,7 +2,7 @@ * @author ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/ieonly.css b/templates/beez3/css/ieonly.css index dbccd942df4ad..4d65e760226c0 100644 --- a/templates/beez3/css/ieonly.css +++ b/templates/beez3/css/ieonly.css @@ -3,7 +3,7 @@ * @author ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/layout.css b/templates/beez3/css/layout.css index f7f220a807221..a93bbd7f90389 100644 --- a/templates/beez3/css/layout.css +++ b/templates/beez3/css/layout.css @@ -2,7 +2,7 @@ * @author ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/position.css b/templates/beez3/css/position.css index edab752285020..1a675dbea2a56 100644 --- a/templates/beez3/css/position.css +++ b/templates/beez3/css/position.css @@ -3,7 +3,7 @@ * @author ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/print.css b/templates/beez3/css/print.css index 8fad1bc4682a5..67988222bed90 100644 --- a/templates/beez3/css/print.css +++ b/templates/beez3/css/print.css @@ -2,7 +2,7 @@ * @author Design & Accessible Team ( Angie Radtke / Robert Deutz ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/template.css b/templates/beez3/css/template.css index 1bcf411db0a49..82451abb47fd1 100644 --- a/templates/beez3/css/template.css +++ b/templates/beez3/css/template.css @@ -2,7 +2,7 @@ * @author Design & Accessible Team ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/css/template_rtl.css b/templates/beez3/css/template_rtl.css index 3879cb2c6ead1..f27a0b94e9796 100644 --- a/templates/beez3/css/template_rtl.css +++ b/templates/beez3/css/template_rtl.css @@ -2,7 +2,7 @@ * @author Design & Accessible Team ( Angie Radtke ) * @package Joomla * @subpackage Accessible-Template-Beez - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative diff --git a/templates/beez3/error.php b/templates/beez3/error.php index 32477f08e20b5..06e4c749f0d50 100644 --- a/templates/beez3/error.php +++ b/templates/beez3/error.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/categories/default.php b/templates/beez3/html/com_contact/categories/default.php index bad1fed52afce..c47d0bd399a19 100644 --- a/templates/beez3/html/com_contact/categories/default.php +++ b/templates/beez3/html/com_contact/categories/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/categories/default_items.php b/templates/beez3/html/com_contact/categories/default_items.php index 273f9ff06a3e8..77abb50b5bd1b 100644 --- a/templates/beez3/html/com_contact/categories/default_items.php +++ b/templates/beez3/html/com_contact/categories/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/category/default.php b/templates/beez3/html/com_contact/category/default.php index dd5bdac9fec27..5cc81804bb9de 100644 --- a/templates/beez3/html/com_contact/category/default.php +++ b/templates/beez3/html/com_contact/category/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/category/default_children.php b/templates/beez3/html/com_contact/category/default_children.php index 04c882c5016d9..2a781592e2d2a 100644 --- a/templates/beez3/html/com_contact/category/default_children.php +++ b/templates/beez3/html/com_contact/category/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/category/default_items.php b/templates/beez3/html/com_contact/category/default_items.php index 057e3dfe8ad67..1f6564bc4217d 100644 --- a/templates/beez3/html/com_contact/category/default_items.php +++ b/templates/beez3/html/com_contact/category/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default.php b/templates/beez3/html/com_contact/contact/default.php index 676a660d925a1..1fbc42e214937 100644 --- a/templates/beez3/html/com_contact/contact/default.php +++ b/templates/beez3/html/com_contact/contact/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_address.php b/templates/beez3/html/com_contact/contact/default_address.php index 7cf43094c41c9..093e791300c54 100644 --- a/templates/beez3/html/com_contact/contact/default_address.php +++ b/templates/beez3/html/com_contact/contact/default_address.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_articles.php b/templates/beez3/html/com_contact/contact/default_articles.php index eb5cdbe89f37e..319b7b84e9f94 100644 --- a/templates/beez3/html/com_contact/contact/default_articles.php +++ b/templates/beez3/html/com_contact/contact/default_articles.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_form.php b/templates/beez3/html/com_contact/contact/default_form.php index 6a5a496f9bc19..1d1f4b479b4db 100644 --- a/templates/beez3/html/com_contact/contact/default_form.php +++ b/templates/beez3/html/com_contact/contact/default_form.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_links.php b/templates/beez3/html/com_contact/contact/default_links.php index cdcb7b4726f15..66a2ca3720252 100644 --- a/templates/beez3/html/com_contact/contact/default_links.php +++ b/templates/beez3/html/com_contact/contact/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_profile.php b/templates/beez3/html/com_contact/contact/default_profile.php index b639f6dc7e374..e0fb921aee6bb 100644 --- a/templates/beez3/html/com_contact/contact/default_profile.php +++ b/templates/beez3/html/com_contact/contact/default_profile.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/default_user_custom_fields.php b/templates/beez3/html/com_contact/contact/default_user_custom_fields.php index 2f3dd034c4d62..21379a6c5ba23 100644 --- a/templates/beez3/html/com_contact/contact/default_user_custom_fields.php +++ b/templates/beez3/html/com_contact/contact/default_user_custom_fields.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_contact * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_contact/contact/encyclopedia.php b/templates/beez3/html/com_contact/contact/encyclopedia.php index a92a01191f405..f86a6955c2bbb 100644 --- a/templates/beez3/html/com_contact/contact/encyclopedia.php +++ b/templates/beez3/html/com_contact/contact/encyclopedia.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/archive/default.php b/templates/beez3/html/com_content/archive/default.php index 11ff1b47927e2..e083dd2397bad 100644 --- a/templates/beez3/html/com_content/archive/default.php +++ b/templates/beez3/html/com_content/archive/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.beez5 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/archive/default_items.php b/templates/beez3/html/com_content/archive/default_items.php index 01dff1b8cc00e..c1724cca2fda1 100644 --- a/templates/beez3/html/com_content/archive/default_items.php +++ b/templates/beez3/html/com_content/archive/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.beez5 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/article/default.php b/templates/beez3/html/com_content/article/default.php index 2e2d6e22ae016..7479756397611 100644 --- a/templates/beez3/html/com_content/article/default.php +++ b/templates/beez3/html/com_content/article/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/article/default_links.php b/templates/beez3/html/com_content/article/default_links.php index b0e4cb70e6165..3cec787dd17d0 100644 --- a/templates/beez3/html/com_content/article/default_links.php +++ b/templates/beez3/html/com_content/article/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/categories/default.php b/templates/beez3/html/com_content/categories/default.php index a2546b3f12001..0833461ca19ae 100644 --- a/templates/beez3/html/com_content/categories/default.php +++ b/templates/beez3/html/com_content/categories/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.beez5 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/categories/default_items.php b/templates/beez3/html/com_content/categories/default_items.php index 68fd3472321c8..62620c6cb9c1f 100644 --- a/templates/beez3/html/com_content/categories/default_items.php +++ b/templates/beez3/html/com_content/categories/default_items.php @@ -3,7 +3,7 @@ /** * @package Joomla.Site * @subpackage com_content - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/blog.php b/templates/beez3/html/com_content/category/blog.php index 2d58213ae7c48..b304e43450c91 100644 --- a/templates/beez3/html/com_content/category/blog.php +++ b/templates/beez3/html/com_content/category/blog.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/blog_children.php b/templates/beez3/html/com_content/category/blog_children.php index 2ba4c9d94cefc..707ac210598d4 100644 --- a/templates/beez3/html/com_content/category/blog_children.php +++ b/templates/beez3/html/com_content/category/blog_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/blog_item.php b/templates/beez3/html/com_content/category/blog_item.php index 542417f51d1e6..44f2d42b08f14 100644 --- a/templates/beez3/html/com_content/category/blog_item.php +++ b/templates/beez3/html/com_content/category/blog_item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; diff --git a/templates/beez3/html/com_content/category/blog_links.php b/templates/beez3/html/com_content/category/blog_links.php index e235119dabe8b..3d83a46a992bf 100644 --- a/templates/beez3/html/com_content/category/blog_links.php +++ b/templates/beez3/html/com_content/category/blog_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/default.php b/templates/beez3/html/com_content/category/default.php index b74aab710e657..222320e444346 100644 --- a/templates/beez3/html/com_content/category/default.php +++ b/templates/beez3/html/com_content/category/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/default_articles.php b/templates/beez3/html/com_content/category/default_articles.php index 97b79de7494d4..20e525b3e236f 100644 --- a/templates/beez3/html/com_content/category/default_articles.php +++ b/templates/beez3/html/com_content/category/default_articles.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/category/default_children.php b/templates/beez3/html/com_content/category/default_children.php index 43cf3d87d146f..0c81876ca3d4e 100644 --- a/templates/beez3/html/com_content/category/default_children.php +++ b/templates/beez3/html/com_content/category/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/featured/default.php b/templates/beez3/html/com_content/featured/default.php index 2eb3431ad7f8f..72e9eb3ca6b54 100644 --- a/templates/beez3/html/com_content/featured/default.php +++ b/templates/beez3/html/com_content/featured/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/featured/default_item.php b/templates/beez3/html/com_content/featured/default_item.php index 7e73ff732c0cf..c635dc4c60c57 100644 --- a/templates/beez3/html/com_content/featured/default_item.php +++ b/templates/beez3/html/com_content/featured/default_item.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/featured/default_links.php b/templates/beez3/html/com_content/featured/default_links.php index b1dfb52a8f361..821f6acd8e2f0 100644 --- a/templates/beez3/html/com_content/featured/default_links.php +++ b/templates/beez3/html/com_content/featured/default_links.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_content/form/edit.php b/templates/beez3/html/com_content/form/edit.php index b613236f8db8f..bf3755f1fa64d 100644 --- a/templates/beez3/html/com_content/form/edit.php +++ b/templates/beez3/html/com_content/form/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_newsfeeds/categories/default.php b/templates/beez3/html/com_newsfeeds/categories/default.php index d51ef2b92bc29..a4269461e9fac 100644 --- a/templates/beez3/html/com_newsfeeds/categories/default.php +++ b/templates/beez3/html/com_newsfeeds/categories/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_newsfeeds/categories/default_items.php b/templates/beez3/html/com_newsfeeds/categories/default_items.php index 5bbe047aa2bff..538ff1c7cd287 100644 --- a/templates/beez3/html/com_newsfeeds/categories/default_items.php +++ b/templates/beez3/html/com_newsfeeds/categories/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_newsfeeds/category/default.php b/templates/beez3/html/com_newsfeeds/category/default.php index 1b5bcd9444f14..b1fe0416893ae 100644 --- a/templates/beez3/html/com_newsfeeds/category/default.php +++ b/templates/beez3/html/com_newsfeeds/category/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_newsfeeds/category/default_children.php b/templates/beez3/html/com_newsfeeds/category/default_children.php index 15cf9a7c0786f..b01abcb74c29d 100644 --- a/templates/beez3/html/com_newsfeeds/category/default_children.php +++ b/templates/beez3/html/com_newsfeeds/category/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_newsfeeds/category/default_items.php b/templates/beez3/html/com_newsfeeds/category/default_items.php index 499fb5ae8b584..453e73ab39498 100644 --- a/templates/beez3/html/com_newsfeeds/category/default_items.php +++ b/templates/beez3/html/com_newsfeeds/category/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_newsfeeds * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/categories/default.php b/templates/beez3/html/com_weblinks/categories/default.php index eaf815d4cbe8f..cc080f0a5fbf3 100644 --- a/templates/beez3/html/com_weblinks/categories/default.php +++ b/templates/beez3/html/com_weblinks/categories/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/categories/default_items.php b/templates/beez3/html/com_weblinks/categories/default_items.php index 2b65f382ebf23..475a8fe1853ca 100644 --- a/templates/beez3/html/com_weblinks/categories/default_items.php +++ b/templates/beez3/html/com_weblinks/categories/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/category/default.php b/templates/beez3/html/com_weblinks/category/default.php index 9baa95753cb42..392f21e3089ac 100644 --- a/templates/beez3/html/com_weblinks/category/default.php +++ b/templates/beez3/html/com_weblinks/category/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/category/default_children.php b/templates/beez3/html/com_weblinks/category/default_children.php index 459ebed31291b..690d947ac410f 100644 --- a/templates/beez3/html/com_weblinks/category/default_children.php +++ b/templates/beez3/html/com_weblinks/category/default_children.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/category/default_items.php b/templates/beez3/html/com_weblinks/category/default_items.php index 67b58e2b5b7d8..993624f5f2327 100644 --- a/templates/beez3/html/com_weblinks/category/default_items.php +++ b/templates/beez3/html/com_weblinks/category/default_items.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/com_weblinks/form/edit.php b/templates/beez3/html/com_weblinks/form/edit.php index 69dbab1a5ca3f..5e852b29c92f7 100644 --- a/templates/beez3/html/com_weblinks/form/edit.php +++ b/templates/beez3/html/com_weblinks/form/edit.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage com_weblinks * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/layouts/joomla/system/message.php b/templates/beez3/html/layouts/joomla/system/message.php index 04e1d9947b9f6..c2f6b2420b3f1 100644 --- a/templates/beez3/html/layouts/joomla/system/message.php +++ b/templates/beez3/html/layouts/joomla/system/message.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/mod_breadcrumbs/default.php b/templates/beez3/html/mod_breadcrumbs/default.php index a4174738640b0..539ac9a1af582 100644 --- a/templates/beez3/html/mod_breadcrumbs/default.php +++ b/templates/beez3/html/mod_breadcrumbs/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/mod_languages/default.php b/templates/beez3/html/mod_languages/default.php index b3591f5242702..c3dd2dd79b83f 100644 --- a/templates/beez3/html/mod_languages/default.php +++ b/templates/beez3/html/mod_languages/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage mod_languages * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/mod_login/default.php b/templates/beez3/html/mod_login/default.php index 9dcac1fe54983..6eb57cbb80522 100644 --- a/templates/beez3/html/mod_login/default.php +++ b/templates/beez3/html/mod_login/default.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/mod_login/default_logout.php b/templates/beez3/html/mod_login/default_logout.php index 7f4428c4edf20..164399b738bd9 100644 --- a/templates/beez3/html/mod_login/default_logout.php +++ b/templates/beez3/html/mod_login/default_logout.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/html/modules.php b/templates/beez3/html/modules.php index ac050c9141ba3..4c75831505456 100644 --- a/templates/beez3/html/modules.php +++ b/templates/beez3/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/index.php b/templates/beez3/index.php index 6706bc41152b0..c85a66267732a 100644 --- a/templates/beez3/index.php +++ b/templates/beez3/index.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/javascript/template.js b/templates/beez3/javascript/template.js index 27959e932894f..53954d9e2849b 100644 --- a/templates/beez3/javascript/template.js +++ b/templates/beez3/javascript/template.js @@ -1,7 +1,7 @@ /** * @package Joomla.Site * @subpackage Templates.beez3 - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 3.2 */ diff --git a/templates/beez3/jsstrings.php b/templates/beez3/jsstrings.php index e587daf9d3ef7..8b949e0d7df22 100644 --- a/templates/beez3/jsstrings.php +++ b/templates/beez3/jsstrings.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.beez3 * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/beez3/language/en-GB/en-GB.tpl_beez3.ini b/templates/beez3/language/en-GB/en-GB.tpl_beez3.ini index b58e38406505f..3045420c414b7 100644 --- a/templates/beez3/language/en-GB/en-GB.tpl_beez3.ini +++ b/templates/beez3/language/en-GB/en-GB.tpl_beez3.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/templates/beez3/language/en-GB/en-GB.tpl_beez3.sys.ini b/templates/beez3/language/en-GB/en-GB.tpl_beez3.sys.ini index f286dabb47009..94294a1f1d3e9 100644 --- a/templates/beez3/language/en-GB/en-GB.tpl_beez3.sys.ini +++ b/templates/beez3/language/en-GB/en-GB.tpl_beez3.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/templates/beez3/templateDetails.xml b/templates/beez3/templateDetails.xml index 9e27c66dee026..45f53077ab082 100644 --- a/templates/beez3/templateDetails.xml +++ b/templates/beez3/templateDetails.xml @@ -6,7 +6,7 @@ <author>Angie Radtke</author> <authorEmail>a.radtke@derauftritt.de</authorEmail> <authorUrl>http://www.der-auftritt.de</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <version>3.1.0</version> <description>TPL_BEEZ3_XML_DESCRIPTION</description> diff --git a/templates/protostar/component.php b/templates/protostar/component.php index 8c1f12825dad4..ad5977040cd2f 100644 --- a/templates/protostar/component.php +++ b/templates/protostar/component.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/css/offline.css b/templates/protostar/css/offline.css index 2cbf10e3df9ba..af3cb3cbb5677 100644 --- a/templates/protostar/css/offline.css +++ b/templates/protostar/css/offline.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/error.php b/templates/protostar/error.php index 49bf3637d0b8c..72b55bbe9f730 100644 --- a/templates/protostar/error.php +++ b/templates/protostar/error.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/com_media/imageslist/default_folder.php b/templates/protostar/html/com_media/imageslist/default_folder.php index 74d0e836781d7..6fd2b12f53dd1 100644 --- a/templates/protostar/html/com_media/imageslist/default_folder.php +++ b/templates/protostar/html/com_media/imageslist/default_folder.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/com_media/imageslist/default_image.php b/templates/protostar/html/com_media/imageslist/default_image.php index b6ab5746e681a..6a5eea836df14 100644 --- a/templates/protostar/html/com_media/imageslist/default_image.php +++ b/templates/protostar/html/com_media/imageslist/default_image.php @@ -3,7 +3,7 @@ * @package Joomla.Administrator * @subpackage com_media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/layouts/joomla/form/field/contenthistory.php b/templates/protostar/html/layouts/joomla/form/field/contenthistory.php index 902d314d88145..d4959cc7fc435 100644 --- a/templates/protostar/html/layouts/joomla/form/field/contenthistory.php +++ b/templates/protostar/html/layouts/joomla/form/field/contenthistory.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/layouts/joomla/form/field/media.php b/templates/protostar/html/layouts/joomla/form/field/media.php index 00f5601c88afa..0cf31f85f0162 100644 --- a/templates/protostar/html/layouts/joomla/form/field/media.php +++ b/templates/protostar/html/layouts/joomla/form/field/media.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/layouts/joomla/form/field/user.php b/templates/protostar/html/layouts/joomla/form/field/user.php index 6e593dc2cc30c..876729e22f9c4 100644 --- a/templates/protostar/html/layouts/joomla/form/field/user.php +++ b/templates/protostar/html/layouts/joomla/form/field/user.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/layouts/joomla/system/message.php b/templates/protostar/html/layouts/joomla/system/message.php index 528a44efb4685..011e8a8b49dbc 100644 --- a/templates/protostar/html/layouts/joomla/system/message.php +++ b/templates/protostar/html/layouts/joomla/system/message.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/modules.php b/templates/protostar/html/modules.php index 4e0bc20e15400..4d44234c36ec9 100644 --- a/templates/protostar/html/modules.php +++ b/templates/protostar/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/html/pagination.php b/templates/protostar/html/pagination.php index c59297b347182..88f4017659f56 100644 --- a/templates/protostar/html/pagination.php +++ b/templates/protostar/html/pagination.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/index.php b/templates/protostar/index.php index a0acd1f828c0c..541974a2af681 100644 --- a/templates/protostar/index.php +++ b/templates/protostar/index.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/js/template.js b/templates/protostar/js/template.js index 5dff887fd2d81..70fdc58af8fec 100644 --- a/templates/protostar/js/template.js +++ b/templates/protostar/js/template.js @@ -1,7 +1,7 @@ /** * @package Joomla.Site * @subpackage Templates.protostar - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 3.2 */ diff --git a/templates/protostar/language/en-GB/en-GB.tpl_protostar.ini b/templates/protostar/language/en-GB/en-GB.tpl_protostar.ini index 569b510fb5a40..74cc2aded121f 100644 --- a/templates/protostar/language/en-GB/en-GB.tpl_protostar.ini +++ b/templates/protostar/language/en-GB/en-GB.tpl_protostar.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/templates/protostar/language/en-GB/en-GB.tpl_protostar.sys.ini b/templates/protostar/language/en-GB/en-GB.tpl_protostar.sys.ini index 4f15e02aac06a..45c0a8d09834f 100644 --- a/templates/protostar/language/en-GB/en-GB.tpl_protostar.sys.ini +++ b/templates/protostar/language/en-GB/en-GB.tpl_protostar.sys.ini @@ -1,5 +1,5 @@ ; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 diff --git a/templates/protostar/offline.php b/templates/protostar/offline.php index 5abbdca8cf7fd..192a980ed07bc 100644 --- a/templates/protostar/offline.php +++ b/templates/protostar/offline.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Templates.protostar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/protostar/templateDetails.xml b/templates/protostar/templateDetails.xml index 78e1f05593c04..20795a584739f 100644 --- a/templates/protostar/templateDetails.xml +++ b/templates/protostar/templateDetails.xml @@ -6,7 +6,7 @@ <creationDate>4/30/2012</creationDate> <author>Kyle Ledbetter</author> <authorEmail>admin@joomla.org</authorEmail> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.</copyright> <description>TPL_PROTOSTAR_XML_DESCRIPTION</description> <files> <filename>component.php</filename> diff --git a/templates/system/component.php b/templates/system/component.php index 1033341ad2f03..f26ef15363e0d 100644 --- a/templates/system/component.php +++ b/templates/system/component.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/editor.css b/templates/system/css/editor.css index 28735471d05b1..5238683a49791 100644 --- a/templates/system/css/editor.css +++ b/templates/system/css/editor.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/error.css b/templates/system/css/error.css index 30ee13aae4f71..1288fc75f82e9 100644 --- a/templates/system/css/error.css +++ b/templates/system/css/error.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/error_rtl.css b/templates/system/css/error_rtl.css index 2c362b8fdf00e..ddadcadd74489 100644 --- a/templates/system/css/error_rtl.css +++ b/templates/system/css/error_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/general.css b/templates/system/css/general.css index d186039ddee56..2bf4c27d0241a 100644 --- a/templates/system/css/general.css +++ b/templates/system/css/general.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/offline.css b/templates/system/css/offline.css index 58150fe0362f0..7afe4e19445dd 100644 --- a/templates/system/css/offline.css +++ b/templates/system/css/offline.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/offline_rtl.css b/templates/system/css/offline_rtl.css index d4793714513b4..bca83af52d0e7 100644 --- a/templates/system/css/offline_rtl.css +++ b/templates/system/css/offline_rtl.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/system.css b/templates/system/css/system.css index ff31a4928c493..413b671579fd1 100644 --- a/templates/system/css/system.css +++ b/templates/system/css/system.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/css/toolbar.css b/templates/system/css/toolbar.css index ea9a66aa40691..fdf150d79b3c8 100644 --- a/templates/system/css/toolbar.css +++ b/templates/system/css/toolbar.css @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/error.php b/templates/system/error.php index c6ce1dd70e3a1..e0ebd8d0832a7 100644 --- a/templates/system/error.php +++ b/templates/system/error.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/html/modules.php b/templates/system/html/modules.php index 0ffdca999e53d..b62ae6b71b4a1 100644 --- a/templates/system/html/modules.php +++ b/templates/system/html/modules.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/index.php b/templates/system/index.php index 47f5b70492710..75ff973e56f6b 100644 --- a/templates/system/index.php +++ b/templates/system/index.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/templates/system/offline.php b/templates/system/offline.php index 0988bc12aeda6..db5194dc4b28c 100644 --- a/templates/system/offline.php +++ b/templates/system/offline.php @@ -3,7 +3,7 @@ * @package Joomla.Site * @subpackage Template.system * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/AcceptanceTester.php b/tests/codeception/_support/AcceptanceTester.php index fba87d56b9786..eacdd99387556 100644 --- a/tests/codeception/_support/AcceptanceTester.php +++ b/tests/codeception/_support/AcceptanceTester.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage AcceptanceTester * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/FunctionalTester.php b/tests/codeception/_support/FunctionalTester.php index 79011159fbd07..c0b150ed91943 100644 --- a/tests/codeception/_support/FunctionalTester.php +++ b/tests/codeception/_support/FunctionalTester.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage FunctionalTester * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Helper/Acceptance.php b/tests/codeception/_support/Helper/Acceptance.php index 11b969c9daacd..65bda53ca660e 100644 --- a/tests/codeception/_support/Helper/Acceptance.php +++ b/tests/codeception/_support/Helper/Acceptance.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Helper; diff --git a/tests/codeception/_support/Helper/Functional.php b/tests/codeception/_support/Helper/Functional.php index c7b55b70d1f7c..16e22c6d5f72f 100644 --- a/tests/codeception/_support/Helper/Functional.php +++ b/tests/codeception/_support/Helper/Functional.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Helper/JoomlaDb.php b/tests/codeception/_support/Helper/JoomlaDb.php index ddf4ecbffbdca..e78ab8f5842c4 100644 --- a/tests/codeception/_support/Helper/JoomlaDb.php +++ b/tests/codeception/_support/Helper/JoomlaDb.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Helper; diff --git a/tests/codeception/_support/Helper/Unit.php b/tests/codeception/_support/Helper/Unit.php index 89f9f1bda06d6..3834dc1ab8006 100644 --- a/tests/codeception/_support/Helper/Unit.php +++ b/tests/codeception/_support/Helper/Unit.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Page/Acceptance/Administrator/AdminPage.php b/tests/codeception/_support/Page/Acceptance/Administrator/AdminPage.php index 24d7c02ddf983..4d288db058d6b 100644 --- a/tests/codeception/_support/Page/Acceptance/Administrator/AdminPage.php +++ b/tests/codeception/_support/Page/Acceptance/Administrator/AdminPage.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage AcceptanceTester.Page * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Page/Acceptance/Administrator/UserManagerPage.php b/tests/codeception/_support/Page/Acceptance/Administrator/UserManagerPage.php index da49b0f96d676..f59c94e58844d 100644 --- a/tests/codeception/_support/Page/Acceptance/Administrator/UserManagerPage.php +++ b/tests/codeception/_support/Page/Acceptance/Administrator/UserManagerPage.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage AcceptanceTester.Page * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Page/Acceptance/Site/FrontPage.php b/tests/codeception/_support/Page/Acceptance/Site/FrontPage.php index be523ea5819b3..070a15dc30c85 100644 --- a/tests/codeception/_support/Page/Acceptance/Site/FrontPage.php +++ b/tests/codeception/_support/Page/Acceptance/Site/FrontPage.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage AcceptanceTester.Page * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/Shared/UserCredentials.php b/tests/codeception/_support/Shared/UserCredentials.php index 9e1790baf25d4..92bbea4d63cba 100644 --- a/tests/codeception/_support/Shared/UserCredentials.php +++ b/tests/codeception/_support/Shared/UserCredentials.php @@ -3,7 +3,7 @@ * @package Joomla.Tests * @subpackage Acceptance.tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/_support/UnitTester.php b/tests/codeception/_support/UnitTester.php index 2dc6fa834613f..b102e320aa556 100644 --- a/tests/codeception/_support/UnitTester.php +++ b/tests/codeception/_support/UnitTester.php @@ -3,7 +3,7 @@ * @package Joomla.Test * @subpackage UnitTester * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/acceptance/administrator/components/com_users/UserCest.php b/tests/codeception/acceptance/administrator/components/com_users/UserCest.php index 1dcffc7a82a22..f4124b686f6e1 100644 --- a/tests/codeception/acceptance/administrator/components/com_users/UserCest.php +++ b/tests/codeception/acceptance/administrator/components/com_users/UserCest.php @@ -3,7 +3,7 @@ * @package Joomla.Tests * @subpackage Acceptance.tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/acceptance/components/com_users/UserCest.php b/tests/codeception/acceptance/components/com_users/UserCest.php index a7de6058e004f..3d336698938ac 100644 --- a/tests/codeception/acceptance/components/com_users/UserCest.php +++ b/tests/codeception/acceptance/components/com_users/UserCest.php @@ -3,7 +3,7 @@ * @package Joomla.Tests * @subpackage Acceptance.tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/codeception/acceptance/install/InstallCest.php b/tests/codeception/acceptance/install/InstallCest.php index c0f88b813f726..68b6a8d4b44fc 100644 --- a/tests/codeception/acceptance/install/InstallCest.php +++ b/tests/codeception/acceptance/install/InstallCest.php @@ -3,7 +3,7 @@ * @package Joomla.Tests * @subpackage Acceptance.tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/javascript/calendar/spec-setup.js b/tests/javascript/calendar/spec-setup.js index 5f31e04944706..890cbbb804091 100644 --- a/tests/javascript/calendar/spec-setup.js +++ b/tests/javascript/calendar/spec-setup.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @package Joomla * @subpackage JavaScript Tests diff --git a/tests/javascript/calendar/spec.js b/tests/javascript/calendar/spec.js index a0d53bb7e2b25..3c4b933ddf90c 100644 --- a/tests/javascript/calendar/spec.js +++ b/tests/javascript/calendar/spec.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @package Joomla * @subpackage JavaScript Tests diff --git a/tests/javascript/caption/spec-setup.js b/tests/javascript/caption/spec-setup.js index c39e173893da7..3bec03c9d4e58 100644 --- a/tests/javascript/caption/spec-setup.js +++ b/tests/javascript/caption/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/caption/spec.js b/tests/javascript/caption/spec.js index 0297821449918..f0e01bc99d430 100644 --- a/tests/javascript/caption/spec.js +++ b/tests/javascript/caption/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/combobox/spec-setup.js b/tests/javascript/combobox/spec-setup.js index 6576bddb2f4eb..a5bf9080d14e7 100644 --- a/tests/javascript/combobox/spec-setup.js +++ b/tests/javascript/combobox/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/combobox/spec.js b/tests/javascript/combobox/spec.js index d5a4cf725909f..83f0f79801845 100644 --- a/tests/javascript/combobox/spec.js +++ b/tests/javascript/combobox/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/core/spec-setup.js b/tests/javascript/core/spec-setup.js index c3893f4607615..75dfd5be5ffa0 100644 --- a/tests/javascript/core/spec-setup.js +++ b/tests/javascript/core/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/core/spec.js b/tests/javascript/core/spec.js index bd3f56c3615cb..d6750532a92a8 100644 --- a/tests/javascript/core/spec.js +++ b/tests/javascript/core/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/highlighter/spec-setup.js b/tests/javascript/highlighter/spec-setup.js index 30b5b4a6cef82..5f27b06ccf5d7 100644 --- a/tests/javascript/highlighter/spec-setup.js +++ b/tests/javascript/highlighter/spec-setup.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @package Joomla * @subpackage JavaScript Tests diff --git a/tests/javascript/highlighter/spec.js b/tests/javascript/highlighter/spec.js index a729400e141fd..bcdd085ac1994 100644 --- a/tests/javascript/highlighter/spec.js +++ b/tests/javascript/highlighter/spec.js @@ -1,5 +1,5 @@ /** - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @package Joomla * @subpackage JavaScript Tests diff --git a/tests/javascript/permissions/spec-setup.js b/tests/javascript/permissions/spec-setup.js index 2d8b3f8d44f0c..e0639a4377fb3 100644 --- a/tests/javascript/permissions/spec-setup.js +++ b/tests/javascript/permissions/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/permissions/spec.js b/tests/javascript/permissions/spec.js index 813d2f149b36d..d28699f1969e1 100644 --- a/tests/javascript/permissions/spec.js +++ b/tests/javascript/permissions/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/repeatable/spec-setup.js b/tests/javascript/repeatable/spec-setup.js index 034197c27aed4..854ae61fd50d9 100644 --- a/tests/javascript/repeatable/spec-setup.js +++ b/tests/javascript/repeatable/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/repeatable/spec.js b/tests/javascript/repeatable/spec.js index 8eedddeb80ffd..5f1d35e214e38 100644 --- a/tests/javascript/repeatable/spec.js +++ b/tests/javascript/repeatable/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/sendtestmail/spec-setup.js b/tests/javascript/sendtestmail/spec-setup.js index c2a7b8ec03737..4c7b6198ceba8 100644 --- a/tests/javascript/sendtestmail/spec-setup.js +++ b/tests/javascript/sendtestmail/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/sendtestmail/spec.js b/tests/javascript/sendtestmail/spec.js index fd3e2d5ee9cea..9f28e58525687 100644 --- a/tests/javascript/sendtestmail/spec.js +++ b/tests/javascript/sendtestmail/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/subform-repeatable/spec-setup.js b/tests/javascript/subform-repeatable/spec-setup.js index 2ce28ce2efc0b..14fec5e41995d 100644 --- a/tests/javascript/subform-repeatable/spec-setup.js +++ b/tests/javascript/subform-repeatable/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/subform-repeatable/spec.js b/tests/javascript/subform-repeatable/spec.js index 4a72c0ed1d4ed..7f56a8d86c9ee 100644 --- a/tests/javascript/subform-repeatable/spec.js +++ b/tests/javascript/subform-repeatable/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/switcher/spec-setup.js b/tests/javascript/switcher/spec-setup.js index 5733d17b821f1..0eee4af2ccacb 100644 --- a/tests/javascript/switcher/spec-setup.js +++ b/tests/javascript/switcher/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/switcher/spec.js b/tests/javascript/switcher/spec.js index e276644af5fc2..a48a0efbc11cf 100644 --- a/tests/javascript/switcher/spec.js +++ b/tests/javascript/switcher/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/validate/spec-setup.js b/tests/javascript/validate/spec-setup.js index 7e95fcac5acbe..35f3a61935e6a 100644 --- a/tests/javascript/validate/spec-setup.js +++ b/tests/javascript/validate/spec-setup.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/javascript/validate/spec.js b/tests/javascript/validate/spec.js index 3d53656638f2e..d1f959510f12d 100644 --- a/tests/javascript/validate/spec.js +++ b/tests/javascript/validate/spec.js @@ -2,7 +2,7 @@ * @package Joomla.Tests * @subpackage JavaScript Tests * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * * @since 3.6.3 diff --git a/tests/unit/bootstrap.php b/tests/unit/bootstrap.php index b0fc8298e786e..2176d68e25ad5 100644 --- a/tests/unit/bootstrap.php +++ b/tests/unit/bootstrap.php @@ -7,7 +7,7 @@ * * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @link http://www.phpunit.de/manual/current/en/installation.html */ diff --git a/tests/unit/core/case/cache.php b/tests/unit/core/case/cache.php index aa442fe09ba10..597591b8b91b8 100644 --- a/tests/unit/core/case/cache.php +++ b/tests/unit/core/case/cache.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/case.php b/tests/unit/core/case/case.php index 419d7a91f010d..96ee197cbd6f7 100644 --- a/tests/unit/core/case/case.php +++ b/tests/unit/core/case/case.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database.php b/tests/unit/core/case/database.php index babc2a17bb291..9ac3118fc3005 100644 --- a/tests/unit/core/case/database.php +++ b/tests/unit/core/case/database.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/mysql.php b/tests/unit/core/case/database/mysql.php index b534ef8303f05..c4d72a774cf8f 100644 --- a/tests/unit/core/case/database/mysql.php +++ b/tests/unit/core/case/database/mysql.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/mysqli.php b/tests/unit/core/case/database/mysqli.php index 314bf3a2895d8..268debe35c20b 100644 --- a/tests/unit/core/case/database/mysqli.php +++ b/tests/unit/core/case/database/mysqli.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/oracle.php b/tests/unit/core/case/database/oracle.php index 058f28a3638a0..e7ce8aaddec81 100644 --- a/tests/unit/core/case/database/oracle.php +++ b/tests/unit/core/case/database/oracle.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/pdomysql.php b/tests/unit/core/case/database/pdomysql.php index eb2f3a023034b..5c151253e1211 100644 --- a/tests/unit/core/case/database/pdomysql.php +++ b/tests/unit/core/case/database/pdomysql.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/postgresql.php b/tests/unit/core/case/database/postgresql.php index 902e2902dbade..52cb2a6ed3164 100644 --- a/tests/unit/core/case/database/postgresql.php +++ b/tests/unit/core/case/database/postgresql.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/case/database/sqlsrv.php b/tests/unit/core/case/database/sqlsrv.php index 3b05434c337f8..888026939b4ef 100644 --- a/tests/unit/core/case/database/sqlsrv.php +++ b/tests/unit/core/case/database/sqlsrv.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/helper.php b/tests/unit/core/helper.php index 8a3a092efe70a..3e15755cfc80b 100644 --- a/tests/unit/core/helper.php +++ b/tests/unit/core/helper.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/application.php b/tests/unit/core/mock/application.php index b93dd21622d76..94b2e42b314e7 100644 --- a/tests/unit/core/mock/application.php +++ b/tests/unit/core/mock/application.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/application/base.php b/tests/unit/core/mock/application/base.php index 1023d0260e542..5e0019b42da0f 100644 --- a/tests/unit/core/mock/application/base.php +++ b/tests/unit/core/mock/application/base.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/application/cli.php b/tests/unit/core/mock/application/cli.php index 07312ec94d5d7..048b029a7ecf1 100644 --- a/tests/unit/core/mock/application/cli.php +++ b/tests/unit/core/mock/application/cli.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/application/cms.php b/tests/unit/core/mock/application/cms.php index 7be973665bbf7..57ad9d5ea6b76 100644 --- a/tests/unit/core/mock/application/cms.php +++ b/tests/unit/core/mock/application/cms.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/application/web.php b/tests/unit/core/mock/application/web.php index ca19e193a38df..7d6c9d8736595 100644 --- a/tests/unit/core/mock/application/web.php +++ b/tests/unit/core/mock/application/web.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/cache.php b/tests/unit/core/mock/cache.php index e014cb268ae22..fe8d772f86ad0 100644 --- a/tests/unit/core/mock/cache.php +++ b/tests/unit/core/mock/cache.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/config.php b/tests/unit/core/mock/config.php index 6d9e86ba893b9..d1289e2777c34 100644 --- a/tests/unit/core/mock/config.php +++ b/tests/unit/core/mock/config.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/controller.php b/tests/unit/core/mock/controller.php index 7440a57231a6b..50dc51eafb33c 100644 --- a/tests/unit/core/mock/controller.php +++ b/tests/unit/core/mock/controller.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/database/driver.php b/tests/unit/core/mock/database/driver.php index 86b249f9d939a..c15e7a691cb60 100644 --- a/tests/unit/core/mock/database/driver.php +++ b/tests/unit/core/mock/database/driver.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/database/query.php b/tests/unit/core/mock/database/query.php index 2a60d1a8e3db4..ce8c0fa627e39 100644 --- a/tests/unit/core/mock/database/query.php +++ b/tests/unit/core/mock/database/query.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/dispatcher.php b/tests/unit/core/mock/dispatcher.php index 993469b6ca745..7471a48ec89ff 100644 --- a/tests/unit/core/mock/dispatcher.php +++ b/tests/unit/core/mock/dispatcher.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/document.php b/tests/unit/core/mock/document.php index 581e8f1022de4..367a5f43f154e 100644 --- a/tests/unit/core/mock/document.php +++ b/tests/unit/core/mock/document.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/input.php b/tests/unit/core/mock/input.php index 5b86ce9ede77c..7cb4eb5e87ded 100644 --- a/tests/unit/core/mock/input.php +++ b/tests/unit/core/mock/input.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/language.php b/tests/unit/core/mock/language.php index 0a98c3af43a15..40fa6d3176c63 100644 --- a/tests/unit/core/mock/language.php +++ b/tests/unit/core/mock/language.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/menu.php b/tests/unit/core/mock/menu.php index 63aa2864c96f8..54479f1ea8278 100644 --- a/tests/unit/core/mock/menu.php +++ b/tests/unit/core/mock/menu.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/rules.php b/tests/unit/core/mock/rules.php index b06a66bfce16c..776c518bb52f4 100644 --- a/tests/unit/core/mock/rules.php +++ b/tests/unit/core/mock/rules.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/mock/session.php b/tests/unit/core/mock/session.php index 8165cae405f97..a48ce029ab229 100644 --- a/tests/unit/core/mock/session.php +++ b/tests/unit/core/mock/session.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/core/reflection.php b/tests/unit/core/reflection.php index 866b81e2d11e6..4c24f83e999a0 100644 --- a/tests/unit/core/reflection.php +++ b/tests/unit/core/reflection.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/DummyNamespace/DummyClass.php b/tests/unit/stubs/DummyNamespace/DummyClass.php index a1f716226e630..cd517de5f4d62 100644 --- a/tests/unit/stubs/DummyNamespace/DummyClass.php +++ b/tests/unit/stubs/DummyNamespace/DummyClass.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace DummyNamespace; diff --git a/tests/unit/stubs/FormInspectors.php b/tests/unit/stubs/FormInspectors.php index 29ff8a3423d4b..2cb3b5312b558 100644 --- a/tests/unit/stubs/FormInspectors.php +++ b/tests/unit/stubs/FormInspectors.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/bogusload.php b/tests/unit/stubs/bogusload.php index de53ab4f3d03a..2d65b08315d38 100644 --- a/tests/unit/stubs/bogusload.php +++ b/tests/unit/stubs/bogusload.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/config.wrongclass.php b/tests/unit/stubs/config.wrongclass.php index 48821b7482569..b5d6c68409324 100644 --- a/tests/unit/stubs/config.wrongclass.php +++ b/tests/unit/stubs/config.wrongclass.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/configuration.php b/tests/unit/stubs/configuration.php index 59afbca085574..5a87dd2c7d336 100644 --- a/tests/unit/stubs/configuration.php +++ b/tests/unit/stubs/configuration.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/database/jos_extensions.csv b/tests/unit/stubs/database/jos_extensions.csv index 3aba25a27605e..92b61cd82f65f 100644 --- a/tests/unit/stubs/database/jos_extensions.csv +++ b/tests/unit/stubs/database/jos_extensions.csv @@ -1,129 +1,129 @@ 'extension_id','name','type','element','folder','client_id','enabled','access','protected','manifest_cache','params','custom_data','system_data','checked_out','checked_out_time','ordering','state' -'1','com_mailto','component','com_mailto',,'0','1','1','1','{"name":"com_mailto","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MAILTO_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'2','com_wrapper','component','com_wrapper',,'0','1','1','1','{"name":"com_wrapper","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_WRAPPER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'3','com_admin','component','com_admin',,'1','1','1','1','{"name":"com_admin","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_ADMIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'4','com_banners','component','com_banners',,'1','1','1','0','{"name":"com_banners","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_BANNERS_XML_DESCRIPTION","group":""}','{"purchase_type":"3","track_impressions":"0","track_clicks":"0","metakey_prefix":""}',,,'0','0000-00-00 00:00:00','0','0' -'5','com_cache','component','com_cache',,'1','1','1','1','{"name":"com_cache","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CACHE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'6','com_categories','component','com_categories',,'1','1','1','1','{"name":"com_categories","type":"component","creationDate":"December 2007","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CATEGORIES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'7','com_checkin','component','com_checkin',,'1','1','1','1','{"name":"com_checkin","type":"component","creationDate":"Unknown","author":"Joomla! Project","copyright":"(C) 2005 - 2008 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CHECKIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'8','com_contact','component','com_contact',,'1','1','1','0','{"name":"com_contact","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTACT_XML_DESCRIPTION","group":""}','{"show_contact_category":"hide","show_contact_list":"0","presentation_style":"sliders","show_name":"1","show_position":"1","show_email":"0","show_street_address":"1","show_suburb":"1","show_state":"1","show_postcode":"1","show_country":"1","show_telephone":"1","show_mobile":"1","show_fax":"1","show_webpage":"1","show_misc":"1","show_image":"1","image":"","allow_vcard":"0","show_articles":"0","show_profile":"0","show_links":"0","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","contact_icons":"0","icon_address":"","icon_email":"","icon_telephone":"","icon_mobile":"","icon_fax":"","icon_misc":"","show_headings":"1","show_position_headings":"1","show_email_headings":"0","show_telephone_headings":"1","show_mobile_headings":"0","show_fax_headings":"0","allow_vcard_headings":"0","show_suburb_headings":"1","show_state_headings":"1","show_country_headings":"1","show_email_form":"1","show_email_copy":"0","banned_email":"","banned_subject":"","banned_text":"","validate_session":"1","custom_reply":"0","redirect":"","show_category_crumb":"0","metakey":"","metadesc":"","robots":"","author":"","rights":"","xreference":""}',,,'0','0000-00-00 00:00:00','0','0' -'9','com_cpanel','component','com_cpanel',,'1','1','1','1','{"name":"com_cpanel","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CPANEL_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'10','com_installer','component','com_installer',,'1','1','1','1','{"name":"com_installer","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_INSTALLER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'11','com_languages','component','com_languages',,'1','1','1','1','{"name":"com_languages","type":"component","creationDate":"2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_LANGUAGES_XML_DESCRIPTION","group":""}','{"administrator":"en-GB","site":"en-GB"}',,,'0','0000-00-00 00:00:00','0','0' -'12','com_login','component','com_login',,'1','1','1','1','{"name":"com_login","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'13','com_media','component','com_media',,'1','1','0','1','{"name":"com_media","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MEDIA_XML_DESCRIPTION","group":""}','{"upload_extensions":"bmp,csv,doc,gif,ico,jpg,jpeg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,BMP,CSV,DOC,GIF,ICO,JPG,JPEG,ODG,ODP,ODS,ODT,PDF,PNG,PPT,SWF,TXT,XCF,XLS","upload_maxsize":"10","file_path":"images","image_path":"images","restrict_uploads":"1","allowed_media_usergroup":"3","check_mime":"1","image_extensions":"bmp,gif,jpg,png","ignore_extensions":"","upload_mime":"image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip","upload_mime_illegal":"text/html"}',,,'0','0000-00-00 00:00:00','0','0' -'14','com_menus','component','com_menus',,'1','1','1','1','{"name":"com_menus","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MENUS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'15','com_messages','component','com_messages',,'1','1','1','1','{"name":"com_messages","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MESSAGES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'16','com_modules','component','com_modules',,'1','1','1','1','{"name":"com_modules","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MODULES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'17','com_newsfeeds','component','com_newsfeeds',,'1','1','1','0','{"name":"com_newsfeeds","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_NEWSFEEDS_XML_DESCRIPTION","group":""}','{"show_feed_image":"1","show_feed_description":"1","show_item_description":"1","feed_word_count":"0","show_headings":"1","show_name":"1","show_articles":"0","show_link":"1","show_description":"1","show_description_image":"1","display_num":"","show_pagination_limit":"1","show_pagination":"1","show_pagination_results":"1","show_cat_items":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'18','com_plugins','component','com_plugins',,'1','1','1','1','{"name":"com_plugins","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_PLUGINS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'19','com_search','component','com_search',,'1','1','1','0','{"name":"com_search","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_SEARCH_XML_DESCRIPTION","group":""}','{"enabled":"0","show_date":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'20','com_templates','component','com_templates',,'1','1','1','1','{"name":"com_templates","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TEMPLATES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'21','com_weblinks','component','com_weblinks',,'1','1','1','0','{"name":"com_weblinks","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_WEBLINKS_XML_DESCRIPTION","group":""}','{"show_comp_description":"1","comp_description":"","show_link_hits":"1","show_link_description":"1","show_other_cats":"0","show_headings":"0","show_numbers":"0","show_report":"1","count_clicks":"1","target":"0","link_icons":""}',,,'0','0000-00-00 00:00:00','0','0' -'22','com_content','component','com_content',,'1','1','0','1','{"name":"com_content","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTENT_XML_DESCRIPTION","group":""}','{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}',,,'0','0000-00-00 00:00:00','0','0' -'23','com_config','component','com_config',,'1','1','0','1','{"name":"com_config","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONFIG_XML_DESCRIPTION","group":""}','{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}',,,'0','0000-00-00 00:00:00','0','0' -'24','com_redirect','component','com_redirect',,'1','1','0','1','{"name":"com_redirect","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'25','com_users','component','com_users',,'1','1','0','1','{"name":"com_users","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_USERS_XML_DESCRIPTION","group":""}','{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":""}',,,'0','0000-00-00 00:00:00','0','0' -'27','com_finder','component','com_finder',,'1','1','0','0','{"name":"com_finder","type":"component","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_FINDER_XML_DESCRIPTION","group":""}','{"show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_advanced":"1","expand_advanced":"0","show_date_filters":"0","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stemmer":"snowball"}',,,'0','0000-00-00 00:00:00','0','0' -'28','com_joomlaupdate','component','com_joomlaupdate',,'1','1','0','1','{"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'29','com_tags','component','com_tags',,'1','1','1','1','{"name":"com_tags","type":"component","creationDate":"December 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}','{"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'1','com_mailto','component','com_mailto',,'0','1','1','1','{"name":"com_mailto","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MAILTO_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'2','com_wrapper','component','com_wrapper',,'0','1','1','1','{"name":"com_wrapper","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_WRAPPER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'3','com_admin','component','com_admin',,'1','1','1','1','{"name":"com_admin","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_ADMIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'4','com_banners','component','com_banners',,'1','1','1','0','{"name":"com_banners","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_BANNERS_XML_DESCRIPTION","group":""}','{"purchase_type":"3","track_impressions":"0","track_clicks":"0","metakey_prefix":""}',,,'0','0000-00-00 00:00:00','0','0' +'5','com_cache','component','com_cache',,'1','1','1','1','{"name":"com_cache","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CACHE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'6','com_categories','component','com_categories',,'1','1','1','1','{"name":"com_categories","type":"component","creationDate":"December 2007","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CATEGORIES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'7','com_checkin','component','com_checkin',,'1','1','1','1','{"name":"com_checkin","type":"component","creationDate":"Unknown","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CHECKIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'8','com_contact','component','com_contact',,'1','1','1','0','{"name":"com_contact","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTACT_XML_DESCRIPTION","group":""}','{"show_contact_category":"hide","show_contact_list":"0","presentation_style":"sliders","show_name":"1","show_position":"1","show_email":"0","show_street_address":"1","show_suburb":"1","show_state":"1","show_postcode":"1","show_country":"1","show_telephone":"1","show_mobile":"1","show_fax":"1","show_webpage":"1","show_misc":"1","show_image":"1","image":"","allow_vcard":"0","show_articles":"0","show_profile":"0","show_links":"0","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","contact_icons":"0","icon_address":"","icon_email":"","icon_telephone":"","icon_mobile":"","icon_fax":"","icon_misc":"","show_headings":"1","show_position_headings":"1","show_email_headings":"0","show_telephone_headings":"1","show_mobile_headings":"0","show_fax_headings":"0","allow_vcard_headings":"0","show_suburb_headings":"1","show_state_headings":"1","show_country_headings":"1","show_email_form":"1","show_email_copy":"0","banned_email":"","banned_subject":"","banned_text":"","validate_session":"1","custom_reply":"0","redirect":"","show_category_crumb":"0","metakey":"","metadesc":"","robots":"","author":"","rights":"","xreference":""}',,,'0','0000-00-00 00:00:00','0','0' +'9','com_cpanel','component','com_cpanel',,'1','1','1','1','{"name":"com_cpanel","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CPANEL_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'10','com_installer','component','com_installer',,'1','1','1','1','{"name":"com_installer","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_INSTALLER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'11','com_languages','component','com_languages',,'1','1','1','1','{"name":"com_languages","type":"component","creationDate":"2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_LANGUAGES_XML_DESCRIPTION","group":""}','{"administrator":"en-GB","site":"en-GB"}',,,'0','0000-00-00 00:00:00','0','0' +'12','com_login','component','com_login',,'1','1','1','1','{"name":"com_login","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'13','com_media','component','com_media',,'1','1','0','1','{"name":"com_media","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MEDIA_XML_DESCRIPTION","group":""}','{"upload_extensions":"bmp,csv,doc,gif,ico,jpg,jpeg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,BMP,CSV,DOC,GIF,ICO,JPG,JPEG,ODG,ODP,ODS,ODT,PDF,PNG,PPT,SWF,TXT,XCF,XLS","upload_maxsize":"10","file_path":"images","image_path":"images","restrict_uploads":"1","allowed_media_usergroup":"3","check_mime":"1","image_extensions":"bmp,gif,jpg,png","ignore_extensions":"","upload_mime":"image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip","upload_mime_illegal":"text/html"}',,,'0','0000-00-00 00:00:00','0','0' +'14','com_menus','component','com_menus',,'1','1','1','1','{"name":"com_menus","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MENUS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'15','com_messages','component','com_messages',,'1','1','1','1','{"name":"com_messages","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MESSAGES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'16','com_modules','component','com_modules',,'1','1','1','1','{"name":"com_modules","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MODULES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'17','com_newsfeeds','component','com_newsfeeds',,'1','1','1','0','{"name":"com_newsfeeds","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_NEWSFEEDS_XML_DESCRIPTION","group":""}','{"show_feed_image":"1","show_feed_description":"1","show_item_description":"1","feed_word_count":"0","show_headings":"1","show_name":"1","show_articles":"0","show_link":"1","show_description":"1","show_description_image":"1","display_num":"","show_pagination_limit":"1","show_pagination":"1","show_pagination_results":"1","show_cat_items":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'18','com_plugins','component','com_plugins',,'1','1','1','1','{"name":"com_plugins","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_PLUGINS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'19','com_search','component','com_search',,'1','1','1','0','{"name":"com_search","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_SEARCH_XML_DESCRIPTION","group":""}','{"enabled":"0","show_date":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'20','com_templates','component','com_templates',,'1','1','1','1','{"name":"com_templates","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TEMPLATES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'21','com_weblinks','component','com_weblinks',,'1','1','1','0','{"name":"com_weblinks","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_WEBLINKS_XML_DESCRIPTION","group":""}','{"show_comp_description":"1","comp_description":"","show_link_hits":"1","show_link_description":"1","show_other_cats":"0","show_headings":"0","show_numbers":"0","show_report":"1","count_clicks":"1","target":"0","link_icons":""}',,,'0','0000-00-00 00:00:00','0','0' +'22','com_content','component','com_content',,'1','1','0','1','{"name":"com_content","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTENT_XML_DESCRIPTION","group":""}','{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'23','com_config','component','com_config',,'1','1','0','1','{"name":"com_config","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONFIG_XML_DESCRIPTION","group":""}','{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}',,,'0','0000-00-00 00:00:00','0','0' +'24','com_redirect','component','com_redirect',,'1','1','0','1','{"name":"com_redirect","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'25','com_users','component','com_users',,'1','1','0','1','{"name":"com_users","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_USERS_XML_DESCRIPTION","group":""}','{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":""}',,,'0','0000-00-00 00:00:00','0','0' +'27','com_finder','component','com_finder',,'1','1','0','0','{"name":"com_finder","type":"component","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_FINDER_XML_DESCRIPTION","group":""}','{"show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_advanced":"1","expand_advanced":"0","show_date_filters":"0","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stemmer":"snowball"}',,,'0','0000-00-00 00:00:00','0','0' +'28','com_joomlaupdate','component','com_joomlaupdate',,'1','1','0','1','{"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'29','com_tags','component','com_tags',,'1','1','1','1','{"name":"com_tags","type":"component","creationDate":"December 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}','{"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}',,,'0','0000-00-00 00:00:00','0','0' '100','PHPMailer','library','phpmailer',,'0','1','1','1','{"name":"PHPMailer","type":"library","creationDate":"2001","author":"PHPMailer","copyright":"(c) 2001-2003, Brent R. Matzelle, (c) 2004-2009, Andy Prevost. All Rights Reserved., (c) 2010-2013, Jim Jagielski. All Rights Reserved.","authorEmail":"jimjag@gmail.com","authorUrl":"https:\\/\\/code.google.com\\/a\\/apache-extras.org\\/p\\/phpmailer\\/","version":"5.2.3","description":"LIB_PHPMAILER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' '101','SimplePie','library','simplepie',,'0','1','1','1','{"name":"SimplePie","type":"library","creationDate":"2004","author":"SimplePie","copyright":"Copyright (c) 2004-2009, Ryan Parman and Geoffrey Sneddon","authorEmail":"","authorUrl":"http:\\/\\/simplepie.org\\/","version":"1.2","description":"LIB_SIMPLEPIE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' '102','phputf8','library','phputf8',,'0','1','1','1','{"name":"phputf8","type":"library","creationDate":"2006","author":"Harry Fuecks","copyright":"Copyright various authors","authorEmail":"hfuecks@gmail.com","authorUrl":"http:\\/\\/sourceforge.net\\/projects\\/phputf8","version":"0.5","description":"LIB_PHPUTF8_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'103','Joomla! Platform','library','joomla',,'0','1','1','1','{"name":"Joomla! Platform","type":"library","creationDate":"2008","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"https:\\/\\/www.joomla.org","version":"12.2","description":"LIB_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'200','mod_articles_archive','module','mod_articles_archive',,'0','1','1','0','{"name":"mod_articles_archive","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters.\\n\\t\\tAll rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'201','mod_articles_latest','module','mod_articles_latest',,'0','1','1','0','{"name":"mod_articles_latest","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LATEST_NEWS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'202','mod_articles_popular','module','mod_articles_popular',,'0','1','1','0','{"name":"mod_articles_popular","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_POPULAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'203','mod_banners','module','mod_banners',,'0','1','1','0','{"name":"mod_banners","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_BANNERS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'204','mod_breadcrumbs','module','mod_breadcrumbs',,'0','1','1','1','{"name":"mod_breadcrumbs","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_BREADCRUMBS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'205','mod_custom','module','mod_custom',,'0','1','1','1','{"name":"mod_custom","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_CUSTOM_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'206','mod_feed','module','mod_feed',,'0','1','1','0','{"name":"mod_feed","type":"module","creationDate":"July 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FEED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'207','mod_footer','module','mod_footer',,'0','1','1','0','{"name":"mod_footer","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FOOTER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'208','mod_login','module','mod_login',,'0','1','1','1','{"name":"mod_login","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'209','mod_menu','module','mod_menu',,'0','1','1','1','{"name":"mod_menu","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'210','mod_articles_news','module','mod_articles_news',,'0','1','1','0','{"name":"mod_articles_news","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_NEWS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'211','mod_random_image','module','mod_random_image',,'0','1','1','0','{"name":"mod_random_image","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_RANDOM_IMAGE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'212','mod_related_items','module','mod_related_items',,'0','1','1','0','{"name":"mod_related_items","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_RELATED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'213','mod_search','module','mod_search',,'0','1','1','0','{"name":"mod_search","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SEARCH_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'214','mod_stats','module','mod_stats',,'0','1','1','0','{"name":"mod_stats","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'215','mod_syndicate','module','mod_syndicate',,'0','1','1','1','{"name":"mod_syndicate","type":"module","creationDate":"May 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SYNDICATE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'216','mod_users_latest','module','mod_users_latest',,'0','1','1','0','{"name":"mod_users_latest","type":"module","creationDate":"December 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_USERS_LATEST_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'217','mod_weblinks','module','mod_weblinks',,'0','1','1','0','{"name":"mod_weblinks","type":"module","creationDate":"July 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WEBLINKS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'218','mod_whosonline','module','mod_whosonline',,'0','1','1','0','{"name":"mod_whosonline","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WHOSONLINE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'219','mod_wrapper','module','mod_wrapper',,'0','1','1','0','{"name":"mod_wrapper","type":"module","creationDate":"October 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WRAPPER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'220','mod_articles_category','module','mod_articles_category',,'0','1','1','0','{"name":"mod_articles_category","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_CATEGORY_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'221','mod_articles_categories','module','mod_articles_categories',,'0','1','1','0','{"name":"mod_articles_categories","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_CATEGORIES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'222','mod_languages','module','mod_languages',,'0','1','1','1','{"name":"mod_languages","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LANGUAGES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'223','mod_finder','module','mod_finder',,'0','1','0','0','{"name":"mod_finder","type":"module","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FINDER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'300','mod_custom','module','mod_custom',,'1','1','1','1','{"name":"mod_custom","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_CUSTOM_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'301','mod_feed','module','mod_feed',,'1','1','1','0','{"name":"mod_feed","type":"module","creationDate":"July 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FEED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'302','mod_latest','module','mod_latest',,'1','1','1','0','{"name":"mod_latest","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LATEST_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'303','mod_logged','module','mod_logged',,'1','1','1','0','{"name":"mod_logged","type":"module","creationDate":"January 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGGED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'304','mod_login','module','mod_login',,'1','1','1','1','{"name":"mod_login","type":"module","creationDate":"March 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'305','mod_menu','module','mod_menu',,'1','1','1','0','{"name":"mod_menu","type":"module","creationDate":"March 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'307','mod_popular','module','mod_popular',,'1','1','1','0','{"name":"mod_popular","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_POPULAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'308','mod_quickicon','module','mod_quickicon',,'1','1','1','1','{"name":"mod_quickicon","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_QUICKICON_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'309','mod_status','module','mod_status',,'1','1','1','0','{"name":"mod_status","type":"module","creationDate":"Feb 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATUS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'310','mod_submenu','module','mod_submenu',,'1','1','1','0','{"name":"mod_submenu","type":"module","creationDate":"Feb 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SUBMENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'311','mod_title','module','mod_title',,'1','1','1','0','{"name":"mod_title","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_TITLE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'312','mod_toolbar','module','mod_toolbar',,'1','1','1','1','{"name":"mod_toolbar","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_TOOLBAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'313','mod_multilangstatus','module','mod_multilangstatus',,'1','1','1','0','{"name":"mod_multilangstatus","type":"module","creationDate":"September 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MULTILANGSTATUS_XML_DESCRIPTION","group":""}','{"cache":"0"}',,,'0','0000-00-00 00:00:00','0','0' -'314','mod_version','module','mod_version',,'1','1','1','0','{"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}','{"format":"short","product":"1","cache":"0"}',,,'0','0000-00-00 00:00:00','0','0' -'315','mod_stats_admin','module','mod_stats_admin',,'1','1','1','0','{"name":"mod_stats_admin","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}','{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}',,,'0','0000-00-00 00:00:00','0','0' -'316','mod_tags_popular','module','mod_tags_popular',,'0','1','1','0','{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}','{"maximum":"5","timeframe":"alltime","owncache":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'317','mod_tags_similar','module','mod_tags_similar',,'0','1','1','0','{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}','{"maximum":"5","matchtype":"any","owncache":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'400','plg_authentication_gmail','plugin','gmail','authentication','0','0','1','0','{"name":"plg_authentication_gmail","type":"plugin","creationDate":"February 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_GMAIL_XML_DESCRIPTION","group":""}','{"applysuffix":"0","suffix":"","verifypeer":"1","user_blacklist":""}',,,'0','0000-00-00 00:00:00','1','0' -'401','plg_authentication_joomla','plugin','joomla','authentication','0','1','1','1','{"name":"plg_authentication_joomla","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'402','plg_authentication_ldap','plugin','ldap','authentication','0','0','1','0','{"name":"plg_authentication_ldap","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LDAP_XML_DESCRIPTION","group":""}','{"host":"","port":"389","use_ldapV3":"0","negotiate_tls":"0","no_referrals":"0","auth_method":"bind","base_dn":"","search_string":"","users_dn":"","username":"admin","password":"bobby7","ldap_fullname":"fullName","ldap_email":"mail","ldap_uid":"uid"}',,,'0','0000-00-00 00:00:00','3','0' -'403','plg_content_contact','plugin','contact','content','0','1','1','0','{"name":"plg_content_contact","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_CONTACT_XML_DESCRIPTION","group":""}','{"mode":"1"}',,,'0','0000-00-00 00:00:00','1','0' -'404','plg_content_emailcloak','plugin','emailcloak','content','0','1','1','0','{"name":"plg_content_emailcloak","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_EMAILCLOAK_XML_DESCRIPTION","group":""}','{"mode":"1"}',,,'0','0000-00-00 00:00:00','1','0' -'406','plg_content_loadmodule','plugin','loadmodule','content','0','1','1','0','{"name":"plg_content_loadmodule","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LOADMODULE_XML_DESCRIPTION","group":""}','{"style":"xhtml"}',,,'0','2011-09-18 15:22:50','0','0' -'407','plg_content_pagebreak','plugin','pagebreak','content','0','1','1','0','{"name":"plg_content_pagebreak","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION","group":""}','{"title":"1","multipage_toc":"1","showall":"1"}',,,'0','0000-00-00 00:00:00','4','0' -'408','plg_content_pagenavigation','plugin','pagenavigation','content','0','1','1','0','{"name":"plg_content_pagenavigation","type":"plugin","creationDate":"January 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_PAGENAVIGATION_XML_DESCRIPTION","group":""}','{"position":"1"}',,,'0','0000-00-00 00:00:00','5','0' -'409','plg_content_vote','plugin','vote','content','0','1','1','0','{"name":"plg_content_vote","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_VOTE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','6','0' +'103','Joomla! Platform','library','joomla',,'0','1','1','1','{"name":"Joomla! Platform","type":"library","creationDate":"2008","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"https:\\/\\/www.joomla.org","version":"12.2","description":"LIB_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'200','mod_articles_archive','module','mod_articles_archive',,'0','1','1','0','{"name":"mod_articles_archive","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters.\\n\\t\\tAll rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'201','mod_articles_latest','module','mod_articles_latest',,'0','1','1','0','{"name":"mod_articles_latest","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LATEST_NEWS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'202','mod_articles_popular','module','mod_articles_popular',,'0','1','1','0','{"name":"mod_articles_popular","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_POPULAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'203','mod_banners','module','mod_banners',,'0','1','1','0','{"name":"mod_banners","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_BANNERS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'204','mod_breadcrumbs','module','mod_breadcrumbs',,'0','1','1','1','{"name":"mod_breadcrumbs","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_BREADCRUMBS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'205','mod_custom','module','mod_custom',,'0','1','1','1','{"name":"mod_custom","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_CUSTOM_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'206','mod_feed','module','mod_feed',,'0','1','1','0','{"name":"mod_feed","type":"module","creationDate":"July 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FEED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'207','mod_footer','module','mod_footer',,'0','1','1','0','{"name":"mod_footer","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FOOTER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'208','mod_login','module','mod_login',,'0','1','1','1','{"name":"mod_login","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'209','mod_menu','module','mod_menu',,'0','1','1','1','{"name":"mod_menu","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'210','mod_articles_news','module','mod_articles_news',,'0','1','1','0','{"name":"mod_articles_news","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_NEWS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'211','mod_random_image','module','mod_random_image',,'0','1','1','0','{"name":"mod_random_image","type":"module","creationDate":"July 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_RANDOM_IMAGE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'212','mod_related_items','module','mod_related_items',,'0','1','1','0','{"name":"mod_related_items","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_RELATED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'213','mod_search','module','mod_search',,'0','1','1','0','{"name":"mod_search","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SEARCH_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'214','mod_stats','module','mod_stats',,'0','1','1','0','{"name":"mod_stats","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'215','mod_syndicate','module','mod_syndicate',,'0','1','1','1','{"name":"mod_syndicate","type":"module","creationDate":"May 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SYNDICATE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'216','mod_users_latest','module','mod_users_latest',,'0','1','1','0','{"name":"mod_users_latest","type":"module","creationDate":"December 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_USERS_LATEST_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'217','mod_weblinks','module','mod_weblinks',,'0','1','1','0','{"name":"mod_weblinks","type":"module","creationDate":"July 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WEBLINKS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'218','mod_whosonline','module','mod_whosonline',,'0','1','1','0','{"name":"mod_whosonline","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WHOSONLINE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'219','mod_wrapper','module','mod_wrapper',,'0','1','1','0','{"name":"mod_wrapper","type":"module","creationDate":"October 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_WRAPPER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'220','mod_articles_category','module','mod_articles_category',,'0','1','1','0','{"name":"mod_articles_category","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_CATEGORY_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'221','mod_articles_categories','module','mod_articles_categories',,'0','1','1','0','{"name":"mod_articles_categories","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_ARTICLES_CATEGORIES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'222','mod_languages','module','mod_languages',,'0','1','1','1','{"name":"mod_languages","type":"module","creationDate":"February 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LANGUAGES_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'223','mod_finder','module','mod_finder',,'0','1','0','0','{"name":"mod_finder","type":"module","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FINDER_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'300','mod_custom','module','mod_custom',,'1','1','1','1','{"name":"mod_custom","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_CUSTOM_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'301','mod_feed','module','mod_feed',,'1','1','1','0','{"name":"mod_feed","type":"module","creationDate":"July 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_FEED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'302','mod_latest','module','mod_latest',,'1','1','1','0','{"name":"mod_latest","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LATEST_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'303','mod_logged','module','mod_logged',,'1','1','1','0','{"name":"mod_logged","type":"module","creationDate":"January 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGGED_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'304','mod_login','module','mod_login',,'1','1','1','1','{"name":"mod_login","type":"module","creationDate":"March 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_LOGIN_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'305','mod_menu','module','mod_menu',,'1','1','1','0','{"name":"mod_menu","type":"module","creationDate":"March 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'307','mod_popular','module','mod_popular',,'1','1','1','0','{"name":"mod_popular","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_POPULAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'308','mod_quickicon','module','mod_quickicon',,'1','1','1','1','{"name":"mod_quickicon","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_QUICKICON_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'309','mod_status','module','mod_status',,'1','1','1','0','{"name":"mod_status","type":"module","creationDate":"Feb 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATUS_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'310','mod_submenu','module','mod_submenu',,'1','1','1','0','{"name":"mod_submenu","type":"module","creationDate":"Feb 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_SUBMENU_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'311','mod_title','module','mod_title',,'1','1','1','0','{"name":"mod_title","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_TITLE_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'312','mod_toolbar','module','mod_toolbar',,'1','1','1','1','{"name":"mod_toolbar","type":"module","creationDate":"Nov 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_TOOLBAR_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'313','mod_multilangstatus','module','mod_multilangstatus',,'1','1','1','0','{"name":"mod_multilangstatus","type":"module","creationDate":"September 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_MULTILANGSTATUS_XML_DESCRIPTION","group":""}','{"cache":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'314','mod_version','module','mod_version',,'1','1','1','0','{"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}','{"format":"short","product":"1","cache":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'315','mod_stats_admin','module','mod_stats_admin',,'1','1','1','0','{"name":"mod_stats_admin","type":"module","creationDate":"July 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}','{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}',,,'0','0000-00-00 00:00:00','0','0' +'316','mod_tags_popular','module','mod_tags_popular',,'0','1','1','0','{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}','{"maximum":"5","timeframe":"alltime","owncache":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'317','mod_tags_similar','module','mod_tags_similar',,'0','1','1','0','{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}','{"maximum":"5","matchtype":"any","owncache":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'400','plg_authentication_gmail','plugin','gmail','authentication','0','0','1','0','{"name":"plg_authentication_gmail","type":"plugin","creationDate":"February 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_GMAIL_XML_DESCRIPTION","group":""}','{"applysuffix":"0","suffix":"","verifypeer":"1","user_blacklist":""}',,,'0','0000-00-00 00:00:00','1','0' +'401','plg_authentication_joomla','plugin','joomla','authentication','0','1','1','1','{"name":"plg_authentication_joomla","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'402','plg_authentication_ldap','plugin','ldap','authentication','0','0','1','0','{"name":"plg_authentication_ldap","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LDAP_XML_DESCRIPTION","group":""}','{"host":"","port":"389","use_ldapV3":"0","negotiate_tls":"0","no_referrals":"0","auth_method":"bind","base_dn":"","search_string":"","users_dn":"","username":"admin","password":"bobby7","ldap_fullname":"fullName","ldap_email":"mail","ldap_uid":"uid"}',,,'0','0000-00-00 00:00:00','3','0' +'403','plg_content_contact','plugin','contact','content','0','1','1','0','{"name":"plg_content_contact","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_CONTACT_XML_DESCRIPTION","group":""}','{"mode":"1"}',,,'0','0000-00-00 00:00:00','1','0' +'404','plg_content_emailcloak','plugin','emailcloak','content','0','1','1','0','{"name":"plg_content_emailcloak","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_EMAILCLOAK_XML_DESCRIPTION","group":""}','{"mode":"1"}',,,'0','0000-00-00 00:00:00','1','0' +'406','plg_content_loadmodule','plugin','loadmodule','content','0','1','1','0','{"name":"plg_content_loadmodule","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LOADMODULE_XML_DESCRIPTION","group":""}','{"style":"xhtml"}',,,'0','2011-09-18 15:22:50','0','0' +'407','plg_content_pagebreak','plugin','pagebreak','content','0','1','1','0','{"name":"plg_content_pagebreak","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION","group":""}','{"title":"1","multipage_toc":"1","showall":"1"}',,,'0','0000-00-00 00:00:00','4','0' +'408','plg_content_pagenavigation','plugin','pagenavigation','content','0','1','1','0','{"name":"plg_content_pagenavigation","type":"plugin","creationDate":"January 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_PAGENAVIGATION_XML_DESCRIPTION","group":""}','{"position":"1"}',,,'0','0000-00-00 00:00:00','5','0' +'409','plg_content_vote','plugin','vote','content','0','1','1','0','{"name":"plg_content_vote","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_VOTE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','6','0' '410','plg_editors_codemirror','plugin','codemirror','editors','0','1','1','1','{"name":"plg_editors_codemirror","type":"plugin","creationDate":"28 March 2011","author":"Marijn Haverbeke","copyright":"","authorEmail":"N\\/A","authorUrl":"","version":"1.0","description":"PLG_CODEMIRROR_XML_DESCRIPTION","group":""}','{"linenumbers":"0","tabmode":"indent"}',,,'0','0000-00-00 00:00:00','1','0' '411','plg_editors_none','plugin','none','editors','0','1','1','1','{"name":"plg_editors_none","type":"plugin","creationDate":"August 2004","author":"Unknown","copyright":"","authorEmail":"N\\/A","authorUrl":"","version":"3.0.0","description":"PLG_NONE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','2','0' '412','plg_editors_tinymce','plugin','tinymce','editors','0','1','1','0','{"name":"plg_editors_tinymce","type":"plugin","creationDate":"2005-2012","author":"Moxiecode Systems AB","copyright":"Moxiecode Systems AB","authorEmail":"N\\/A","authorUrl":"tinymce.moxiecode.com\\/","version":"3.5.6","description":"PLG_TINY_XML_DESCRIPTION","group":""}','{"mode":"1","skin":"0","entity_encoding":"raw","lang_mode":"0","lang_code":"en","text_direction":"ltr","content_css":"1","content_css_custom":"","relative_urls":"1","newlines":"0","invalid_elements":"script,applet,iframe","extended_elements":"","toolbar":"top","toolbar_align":"left","html_height":"550","html_width":"750","resizing":"true","resize_horizontal":"false","element_path":"1","fonts":"1","paste":"1","searchreplace":"1","insertdate":"1","format_date":"%Y-%m-%d","inserttime":"1","format_time":"%H:%M:%S","colors":"1","table":"1","smilies":"1","media":"1","hr":"1","directionality":"1","fullscreen":"1","style":"1","layer":"1","xhtmlxtras":"1","visualchars":"1","nonbreaking":"1","template":"1","blockquote":"1","wordcount":"1","advimage":"1","advlink":"1","advlist":"1","autosave":"1","contextmenu":"1","inlinepopups":"1","custom_plugin":"","custom_button":""}',,,'0','0000-00-00 00:00:00','3','0' -'413','plg_editors-xtd_article','plugin','article','editors-xtd','0','1','1','1','{"name":"plg_editors-xtd_article","type":"plugin","creationDate":"October 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_ARTICLE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' -'414','plg_editors-xtd_image','plugin','image','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_image","type":"plugin","creationDate":"August 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_IMAGE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','2','0' -'415','plg_editors-xtd_pagebreak','plugin','pagebreak','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_pagebreak","type":"plugin","creationDate":"August 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_EDITORSXTD_PAGEBREAK_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' -'416','plg_editors-xtd_readmore','plugin','readmore','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_readmore","type":"plugin","creationDate":"March 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_READMORE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','4','0' -'417','plg_search_categories','plugin','categories','search','0','1','1','0','{"name":"plg_search_categories","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CATEGORIES_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'418','plg_search_contacts','plugin','contacts','search','0','1','1','0','{"name":"plg_search_contacts","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CONTACTS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'419','plg_search_content','plugin','content','search','0','1','1','0','{"name":"plg_search_content","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CONTENT_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'420','plg_search_newsfeeds','plugin','newsfeeds','search','0','1','1','0','{"name":"plg_search_newsfeeds","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_NEWSFEEDS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'421','plg_search_weblinks','plugin','weblinks','search','0','1','1','0','{"name":"plg_search_weblinks","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_WEBLINKS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'422','plg_system_languagefilter','plugin','languagefilter','system','0','0','1','1','{"name":"plg_system_languagefilter","type":"plugin","creationDate":"July 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LANGUAGEFILTER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' -'423','plg_system_p3p','plugin','p3p','system','0','1','1','0','{"name":"plg_system_p3p","type":"plugin","creationDate":"September 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_P3P_XML_DESCRIPTION","group":""}','{"headers":"NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"}',,,'0','0000-00-00 00:00:00','2','0' -'424','plg_system_cache','plugin','cache','system','0','0','1','1','{"name":"plg_system_cache","type":"plugin","creationDate":"February 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CACHE_XML_DESCRIPTION","group":""}','{"browsercache":"0","cachetime":"15"}',,,'0','0000-00-00 00:00:00','9','0' -'425','plg_system_debug','plugin','debug','system','0','1','1','0','{"name":"plg_system_debug","type":"plugin","creationDate":"December 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_DEBUG_XML_DESCRIPTION","group":""}','{"profile":"1","queries":"1","memory":"1","language_files":"1","language_strings":"1","strip-first":"1","strip-prefix":"","strip-suffix":""}',,,'0','0000-00-00 00:00:00','4','0' -'426','plg_system_log','plugin','log','system','0','1','1','1','{"name":"plg_system_log","type":"plugin","creationDate":"April 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LOG_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','5','0' -'427','plg_system_redirect','plugin','redirect','system','0','0','1','1','{"name":"plg_system_redirect","type":"plugin","creationDate":"April 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','6','0' -'428','plg_system_remember','plugin','remember','system','0','1','1','1','{"name":"plg_system_remember","type":"plugin","creationDate":"April 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_REMEMBER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','7','0' -'429','plg_system_sef','plugin','sef','system','0','1','1','0','{"name":"plg_system_sef","type":"plugin","creationDate":"December 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEF_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','8','0' -'430','plg_system_logout','plugin','logout','system','0','1','1','1','{"name":"plg_system_logout","type":"plugin","creationDate":"April 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LOGOUT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' -'431','plg_user_contactcreator','plugin','contactcreator','user','0','0','1','0','{"name":"plg_user_contactcreator","type":"plugin","creationDate":"August 2009","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTACTCREATOR_XML_DESCRIPTION","group":""}','{"autowebpage":"","category":"34","autopublish":"0"}',,,'0','0000-00-00 00:00:00','1','0' -'432','plg_user_joomla','plugin','joomla','user','0','1','1','0','{"name":"plg_user_joomla","type":"plugin","creationDate":"December 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2009 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_USER_JOOMLA_XML_DESCRIPTION","group":""}','{"autoregister":"1"}',,,'0','0000-00-00 00:00:00','2','0' -'433','plg_user_profile','plugin','profile','user','0','0','1','0','{"name":"plg_user_profile","type":"plugin","creationDate":"January 2008","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_USER_PROFILE_XML_DESCRIPTION","group":""}','{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"1","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_tos":"1","profile-require_dob":"1"}',,,'0','0000-00-00 00:00:00','0','0' -'434','plg_extension_joomla','plugin','joomla','extension','0','1','1','1','{"name":"plg_extension_joomla","type":"plugin","creationDate":"May 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_EXTENSION_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' -'435','plg_content_joomla','plugin','joomla','content','0','1','1','0','{"name":"plg_content_joomla","type":"plugin","creationDate":"November 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'436','plg_system_languagecode','plugin','languagecode','system','0','0','1','0','{"name":"plg_system_languagecode","type":"plugin","creationDate":"November 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LANGUAGECODE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','10','0' -'437','plg_quickicon_joomlaupdate','plugin','joomlaupdate','quickicon','0','1','1','1','{"name":"plg_quickicon_joomlaupdate","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_QUICKICON_JOOMLAUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'438','plg_quickicon_extensionupdate','plugin','extensionupdate','quickicon','0','1','1','1','{"name":"plg_quickicon_extensionupdate","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_QUICKICON_EXTENSIONUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'439','plg_captcha_recaptcha','plugin','recaptcha','captcha','0','0','1','0','{"name":"plg_captcha_recaptcha","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CAPTCHA_RECAPTCHA_XML_DESCRIPTION","group":""}','{"public_key":"","private_key":"","theme":"clean"}',,,'0','0000-00-00 00:00:00','0','0' -'440','plg_system_highlight','plugin','highlight','system','0','1','1','0','{"name":"plg_system_highlight","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_HIGHLIGHT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','7','0' -'441','plg_content_finder','plugin','finder','content','0','0','1','0','{"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'442','plg_finder_categories','plugin','categories','finder','0','1','1','0','{"name":"plg_finder_categories","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CATEGORIES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' -'443','plg_finder_contacts','plugin','contacts','finder','0','1','1','0','{"name":"plg_finder_contacts","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CONTACTS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','2','0' -'444','plg_finder_content','plugin','content','finder','0','1','1','0','{"name":"plg_finder_content","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CONTENT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' -'445','plg_finder_newsfeeds','plugin','newsfeeds','finder','0','1','1','0','{"name":"plg_finder_newsfeeds","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_NEWSFEEDS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','4','0' -'446','plg_finder_weblinks','plugin','weblinks','finder','0','1','1','0','{"name":"plg_finder_weblinks","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_WEBLINKS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','5','0' -'447','plg_finder_tags','plugin','tags','finder','0','1','1','0','{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'503','beez3','template','beez3',,'0','1','1','0','{"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"3.1.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}','{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}',,,'0','0000-00-00 00:00:00','0','0' -'504','hathor','template','hathor',,'1','1','1','0','{"name":"hathor","type":"template","creationDate":"May 2010","author":"Andrea Tarr","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"3.0.0","description":"TPL_HATHOR_XML_DESCRIPTION","group":""}','{"showSiteName":"0","colourChoice":"0","boldText":"0"}',,,'0','0000-00-00 00:00:00','0','0' -'506','protostar','template','protostar',,'0','1','1','0','{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}','{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}',,,'0','0000-00-00 00:00:00','0','0' -'507','isis','template','isis',,'1','1','1','0','{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}','{"templateColor":"","logoFile":""}',,,'0','0000-00-00 00:00:00','0','0' -'600','English (en-GB)','language','en-GB',,'0','1','1','1','{"name":"English (en-GB)","type":"language","creationDate":"2013-03-07","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"en-GB site language","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'601','English (en-GB)','language','en-GB',,'1','1','1','1','{"name":"English (en-GB)","type":"language","creationDate":"2013-03-07","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"en-GB administrator language","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'700','files_joomla','file','joomla',,'0','1','1','1','{"name":"files_joomla","type":"file","creationDate":"June 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.2","description":"FILES_JOOMLA_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' -'802','English (en-GB) Language Pack','package','pkg_en-GB',,'0','1','1','1','{"name":"English (en-GB) Language Pack","type":"package","creationDate":"August 2016","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.6.3.1","description":"en-GB language pack","group":"","filename":"pkg_en-GB"}',,,,'0','0000-00-00 00:00:00','0','0' +'413','plg_editors-xtd_article','plugin','article','editors-xtd','0','1','1','1','{"name":"plg_editors-xtd_article","type":"plugin","creationDate":"October 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_ARTICLE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' +'414','plg_editors-xtd_image','plugin','image','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_image","type":"plugin","creationDate":"August 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_IMAGE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','2','0' +'415','plg_editors-xtd_pagebreak','plugin','pagebreak','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_pagebreak","type":"plugin","creationDate":"August 2004","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_EDITORSXTD_PAGEBREAK_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' +'416','plg_editors-xtd_readmore','plugin','readmore','editors-xtd','0','1','1','0','{"name":"plg_editors-xtd_readmore","type":"plugin","creationDate":"March 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_READMORE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','4','0' +'417','plg_search_categories','plugin','categories','search','0','1','1','0','{"name":"plg_search_categories","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CATEGORIES_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'418','plg_search_contacts','plugin','contacts','search','0','1','1','0','{"name":"plg_search_contacts","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CONTACTS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'419','plg_search_content','plugin','content','search','0','1','1','0','{"name":"plg_search_content","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_CONTENT_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'420','plg_search_newsfeeds','plugin','newsfeeds','search','0','1','1','0','{"name":"plg_search_newsfeeds","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_NEWSFEEDS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'421','plg_search_weblinks','plugin','weblinks','search','0','1','1','0','{"name":"plg_search_weblinks","type":"plugin","creationDate":"November 2005","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEARCH_WEBLINKS_XML_DESCRIPTION","group":""}','{"search_limit":"50","search_content":"1","search_archived":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'422','plg_system_languagefilter','plugin','languagefilter','system','0','0','1','1','{"name":"plg_system_languagefilter","type":"plugin","creationDate":"July 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LANGUAGEFILTER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' +'423','plg_system_p3p','plugin','p3p','system','0','1','1','0','{"name":"plg_system_p3p","type":"plugin","creationDate":"September 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_P3P_XML_DESCRIPTION","group":""}','{"headers":"NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"}',,,'0','0000-00-00 00:00:00','2','0' +'424','plg_system_cache','plugin','cache','system','0','0','1','1','{"name":"plg_system_cache","type":"plugin","creationDate":"February 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CACHE_XML_DESCRIPTION","group":""}','{"browsercache":"0","cachetime":"15"}',,,'0','0000-00-00 00:00:00','9','0' +'425','plg_system_debug','plugin','debug','system','0','1','1','0','{"name":"plg_system_debug","type":"plugin","creationDate":"December 2006","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_DEBUG_XML_DESCRIPTION","group":""}','{"profile":"1","queries":"1","memory":"1","language_files":"1","language_strings":"1","strip-first":"1","strip-prefix":"","strip-suffix":""}',,,'0','0000-00-00 00:00:00','4','0' +'426','plg_system_log','plugin','log','system','0','1','1','1','{"name":"plg_system_log","type":"plugin","creationDate":"April 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_LOG_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','5','0' +'427','plg_system_redirect','plugin','redirect','system','0','0','1','1','{"name":"plg_system_redirect","type":"plugin","creationDate":"April 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','6','0' +'428','plg_system_remember','plugin','remember','system','0','1','1','1','{"name":"plg_system_remember","type":"plugin","creationDate":"April 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_REMEMBER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','7','0' +'429','plg_system_sef','plugin','sef','system','0','1','1','0','{"name":"plg_system_sef","type":"plugin","creationDate":"December 2007","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SEF_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','8','0' +'430','plg_system_logout','plugin','logout','system','0','1','1','1','{"name":"plg_system_logout","type":"plugin","creationDate":"April 2009","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LOGOUT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' +'431','plg_user_contactcreator','plugin','contactcreator','user','0','0','1','0','{"name":"plg_user_contactcreator","type":"plugin","creationDate":"August 2009","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTACTCREATOR_XML_DESCRIPTION","group":""}','{"autowebpage":"","category":"34","autopublish":"0"}',,,'0','0000-00-00 00:00:00','1','0' +'432','plg_user_joomla','plugin','joomla','user','0','1','1','0','{"name":"plg_user_joomla","type":"plugin","creationDate":"December 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_USER_JOOMLA_XML_DESCRIPTION","group":""}','{"autoregister":"1"}',,,'0','0000-00-00 00:00:00','2','0' +'433','plg_user_profile','plugin','profile','user','0','0','1','0','{"name":"plg_user_profile","type":"plugin","creationDate":"January 2008","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_USER_PROFILE_XML_DESCRIPTION","group":""}','{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"1","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_tos":"1","profile-require_dob":"1"}',,,'0','0000-00-00 00:00:00','0','0' +'434','plg_extension_joomla','plugin','joomla','extension','0','1','1','1','{"name":"plg_extension_joomla","type":"plugin","creationDate":"May 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_EXTENSION_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' +'435','plg_content_joomla','plugin','joomla','content','0','1','1','0','{"name":"plg_content_joomla","type":"plugin","creationDate":"November 2010","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_JOOMLA_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'436','plg_system_languagecode','plugin','languagecode','system','0','0','1','0','{"name":"plg_system_languagecode","type":"plugin","creationDate":"November 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_LANGUAGECODE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','10','0' +'437','plg_quickicon_joomlaupdate','plugin','joomlaupdate','quickicon','0','1','1','1','{"name":"plg_quickicon_joomlaupdate","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_QUICKICON_JOOMLAUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'438','plg_quickicon_extensionupdate','plugin','extensionupdate','quickicon','0','1','1','1','{"name":"plg_quickicon_extensionupdate","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_QUICKICON_EXTENSIONUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'439','plg_captcha_recaptcha','plugin','recaptcha','captcha','0','0','1','0','{"name":"plg_captcha_recaptcha","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CAPTCHA_RECAPTCHA_XML_DESCRIPTION","group":""}','{"public_key":"","private_key":"","theme":"clean"}',,,'0','0000-00-00 00:00:00','0','0' +'440','plg_system_highlight','plugin','highlight','system','0','1','1','0','{"name":"plg_system_highlight","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_SYSTEM_HIGHLIGHT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','7','0' +'441','plg_content_finder','plugin','finder','content','0','0','1','0','{"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'442','plg_finder_categories','plugin','categories','finder','0','1','1','0','{"name":"plg_finder_categories","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CATEGORIES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','1','0' +'443','plg_finder_contacts','plugin','contacts','finder','0','1','1','0','{"name":"plg_finder_contacts","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CONTACTS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','2','0' +'444','plg_finder_content','plugin','content','finder','0','1','1','0','{"name":"plg_finder_content","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_CONTENT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','3','0' +'445','plg_finder_newsfeeds','plugin','newsfeeds','finder','0','1','1','0','{"name":"plg_finder_newsfeeds","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_NEWSFEEDS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','4','0' +'446','plg_finder_weblinks','plugin','weblinks','finder','0','1','1','0','{"name":"plg_finder_weblinks","type":"plugin","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_WEBLINKS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','5','0' +'447','plg_finder_tags','plugin','tags','finder','0','1','1','0','{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' +'503','beez3','template','beez3',,'0','1','1','0','{"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"3.1.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}','{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}',,,'0','0000-00-00 00:00:00','0','0' +'504','hathor','template','hathor',,'1','1','1','0','{"name":"hathor","type":"template","creationDate":"May 2010","author":"Andrea Tarr","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"3.0.0","description":"TPL_HATHOR_XML_DESCRIPTION","group":""}','{"showSiteName":"0","colourChoice":"0","boldText":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'506','protostar','template','protostar',,'0','1','1','0','{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}','{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'507','isis','template','isis',,'1','1','1','0','{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}','{"templateColor":"","logoFile":""}',,,'0','0000-00-00 00:00:00','0','0' +'600','English (en-GB)','language','en-GB',,'0','1','1','1','{"name":"English (en-GB)","type":"language","creationDate":"2013-03-07","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"en-GB site language","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'601','English (en-GB)','language','en-GB',,'1','1','1','1','{"name":"English (en-GB)","type":"language","creationDate":"2013-03-07","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"en-GB administrator language","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'700','files_joomla','file','joomla',,'0','1','1','1','{"name":"files_joomla","type":"file","creationDate":"June 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.2","description":"FILES_JOOMLA_XML_DESCRIPTION","group":""}',,,,'0','0000-00-00 00:00:00','0','0' +'802','English (en-GB) Language Pack','package','pkg_en-GB',,'0','1','1','1','{"name":"English (en-GB) Language Pack","type":"package","creationDate":"August 2016","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.6.3.1","description":"en-GB language pack","group":"","filename":"pkg_en-GB"}',,,,'0','0000-00-00 00:00:00','0','0' diff --git a/tests/unit/stubs/discover2/challenger.php b/tests/unit/stubs/discover2/challenger.php index 75b3e5b49d9d5..8cc7966e356c1 100644 --- a/tests/unit/stubs/discover2/challenger.php +++ b/tests/unit/stubs/discover2/challenger.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/discover2/endeavour.php b/tests/unit/stubs/discover2/endeavour.php index cbdb45e524674..48d8680df3c98 100644 --- a/tests/unit/stubs/discover2/endeavour.php +++ b/tests/unit/stubs/discover2/endeavour.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/jhttp_stub.php b/tests/unit/stubs/jhttp_stub.php index dc377312ae641..a7ea56e8771da 100644 --- a/tests/unit/stubs/jhttp_stub.php +++ b/tests/unit/stubs/jhttp_stub.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Http * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/loader/patch.php b/tests/unit/stubs/loader/patch.php index 3bebf4533eef6..93831b5d67e98 100644 --- a/tests/unit/stubs/loader/patch.php +++ b/tests/unit/stubs/loader/patch.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/loader/patch/tester.php b/tests/unit/stubs/loader/patch/tester.php index 8fe905f432779..69cc832e67fc6 100644 --- a/tests/unit/stubs/loader/patch/tester.php +++ b/tests/unit/stubs/loader/patch/tester.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/loader/tester/tester.php b/tests/unit/stubs/loader/tester/tester.php index 981a49cc26051..f1703df9373fd 100644 --- a/tests/unit/stubs/loader/tester/tester.php +++ b/tests/unit/stubs/loader/tester/tester.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/stubs/loaderoveralias/jloaderaliasstub.php b/tests/unit/stubs/loaderoveralias/jloaderaliasstub.php index 5ac0e1cbe5658..d079174477d63 100644 --- a/tests/unit/stubs/loaderoveralias/jloaderaliasstub.php +++ b/tests/unit/stubs/loaderoveralias/jloaderaliasstub.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/tests/unit/stubs/loaderoverride/aliasnewclass.php b/tests/unit/stubs/loaderoverride/aliasnewclass.php index 087d2eb44226b..e6f25c736ced9 100644 --- a/tests/unit/stubs/loaderoverride/aliasnewclass.php +++ b/tests/unit/stubs/loaderoverride/aliasnewclass.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/tests/unit/stubs/loaderoverride/aliasoverrideclass.php b/tests/unit/stubs/loaderoverride/aliasoverrideclass.php index 28416f97853ff..8907f908ce80f 100644 --- a/tests/unit/stubs/loaderoverride/aliasoverrideclass.php +++ b/tests/unit/stubs/loaderoverride/aliasoverrideclass.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/tests/unit/stubs/loaderoverride/originalnewclass.php b/tests/unit/stubs/loaderoverride/originalnewclass.php index 290d0c3b50167..e4daf7b9c93ac 100644 --- a/tests/unit/stubs/loaderoverride/originalnewclass.php +++ b/tests/unit/stubs/loaderoverride/originalnewclass.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/tests/unit/stubs/loaderoverride/originaloverrideclass.php b/tests/unit/stubs/loaderoverride/originaloverrideclass.php index c0ca986ea8786..998eab1bc842d 100644 --- a/tests/unit/stubs/loaderoverride/originaloverrideclass.php +++ b/tests/unit/stubs/loaderoverride/originaloverrideclass.php @@ -2,7 +2,7 @@ /** * @package Joomla.Platform * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ diff --git a/tests/unit/suites/administrator/includes/JAdministratorHelperTest.php b/tests/unit/suites/administrator/includes/JAdministratorHelperTest.php index 070908b074cee..347f87829414b 100644 --- a/tests/unit/suites/administrator/includes/JAdministratorHelperTest.php +++ b/tests/unit/suites/administrator/includes/JAdministratorHelperTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysql/JDatabaseDriverMysqlTest.php b/tests/unit/suites/database/driver/mysql/JDatabaseDriverMysqlTest.php index 52d20555de18e..d46df278a7043 100644 --- a/tests/unit/suites/database/driver/mysql/JDatabaseDriverMysqlTest.php +++ b/tests/unit/suites/database/driver/mysql/JDatabaseDriverMysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysql/JDatabaseExporterMysqlTest.php b/tests/unit/suites/database/driver/mysql/JDatabaseExporterMysqlTest.php index 3a64533d0de0d..6116db3da2d20 100644 --- a/tests/unit/suites/database/driver/mysql/JDatabaseExporterMysqlTest.php +++ b/tests/unit/suites/database/driver/mysql/JDatabaseExporterMysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysql/JDatabaseImporterMysqlTest.php b/tests/unit/suites/database/driver/mysql/JDatabaseImporterMysqlTest.php index 735f8d10378ba..b38237acc4c94 100644 --- a/tests/unit/suites/database/driver/mysql/JDatabaseImporterMysqlTest.php +++ b/tests/unit/suites/database/driver/mysql/JDatabaseImporterMysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysql/JDatabaseIteratorMysqlTest.php b/tests/unit/suites/database/driver/mysql/JDatabaseIteratorMysqlTest.php index 28f1977696ded..89d2406c3be49 100644 --- a/tests/unit/suites/database/driver/mysql/JDatabaseIteratorMysqlTest.php +++ b/tests/unit/suites/database/driver/mysql/JDatabaseIteratorMysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysqli/JDatabaseDriverMysqliTest.php b/tests/unit/suites/database/driver/mysqli/JDatabaseDriverMysqliTest.php index 130e68a3b0f55..5a9a8a8bb8248 100644 --- a/tests/unit/suites/database/driver/mysqli/JDatabaseDriverMysqliTest.php +++ b/tests/unit/suites/database/driver/mysqli/JDatabaseDriverMysqliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysqli/JDatabaseExporterMysqliTest.php b/tests/unit/suites/database/driver/mysqli/JDatabaseExporterMysqliTest.php index e1888b7274f96..7679fa06cdf29 100644 --- a/tests/unit/suites/database/driver/mysqli/JDatabaseExporterMysqliTest.php +++ b/tests/unit/suites/database/driver/mysqli/JDatabaseExporterMysqliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysqli/JDatabaseImporterMysqliTest.php b/tests/unit/suites/database/driver/mysqli/JDatabaseImporterMysqliTest.php index e4492284d7726..e418e144dfc5a 100644 --- a/tests/unit/suites/database/driver/mysqli/JDatabaseImporterMysqliTest.php +++ b/tests/unit/suites/database/driver/mysqli/JDatabaseImporterMysqliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysqli/JDatabaseIteratorMysqliTest.php b/tests/unit/suites/database/driver/mysqli/JDatabaseIteratorMysqliTest.php index 2d62fe97d7828..7598ff22d90f1 100644 --- a/tests/unit/suites/database/driver/mysqli/JDatabaseIteratorMysqliTest.php +++ b/tests/unit/suites/database/driver/mysqli/JDatabaseIteratorMysqliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/mysqli/JDatabaseQueryMysqliTest.php b/tests/unit/suites/database/driver/mysqli/JDatabaseQueryMysqliTest.php index 381d4e11c62a8..b7d319723611a 100644 --- a/tests/unit/suites/database/driver/mysqli/JDatabaseQueryMysqliTest.php +++ b/tests/unit/suites/database/driver/mysqli/JDatabaseQueryMysqliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/pdomysql/JDatabaseDriverPdomysqlTest.php b/tests/unit/suites/database/driver/pdomysql/JDatabaseDriverPdomysqlTest.php index d6c323012edc5..809c0c83449eb 100644 --- a/tests/unit/suites/database/driver/pdomysql/JDatabaseDriverPdomysqlTest.php +++ b/tests/unit/suites/database/driver/pdomysql/JDatabaseDriverPdomysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/pdomysql/JDatabaseExporterPdomysqlTest.php b/tests/unit/suites/database/driver/pdomysql/JDatabaseExporterPdomysqlTest.php index c89f6c109caa2..c9d4deb775ca0 100644 --- a/tests/unit/suites/database/driver/pdomysql/JDatabaseExporterPdomysqlTest.php +++ b/tests/unit/suites/database/driver/pdomysql/JDatabaseExporterPdomysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/pdomysql/JDatabaseImporterPdomysqlTest.php b/tests/unit/suites/database/driver/pdomysql/JDatabaseImporterPdomysqlTest.php index ff611830be08d..0a629e4db5e84 100644 --- a/tests/unit/suites/database/driver/pdomysql/JDatabaseImporterPdomysqlTest.php +++ b/tests/unit/suites/database/driver/pdomysql/JDatabaseImporterPdomysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/pdomysql/JDatabaseIteratorPdomysqlTest.php b/tests/unit/suites/database/driver/pdomysql/JDatabaseIteratorPdomysqlTest.php index c0d4337d2c738..a7bee7632be2d 100644 --- a/tests/unit/suites/database/driver/pdomysql/JDatabaseIteratorPdomysqlTest.php +++ b/tests/unit/suites/database/driver/pdomysql/JDatabaseIteratorPdomysqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/postgresql/JDatabaseDriverPostgresqlTest.php b/tests/unit/suites/database/driver/postgresql/JDatabaseDriverPostgresqlTest.php index 5c1593634cc89..5a770a8c01990 100644 --- a/tests/unit/suites/database/driver/postgresql/JDatabaseDriverPostgresqlTest.php +++ b/tests/unit/suites/database/driver/postgresql/JDatabaseDriverPostgresqlTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/postgresql/JDatabaseExporterPostgresqlTest.php b/tests/unit/suites/database/driver/postgresql/JDatabaseExporterPostgresqlTest.php index b0fe9d6f6d9ba..6da5825064ee3 100644 --- a/tests/unit/suites/database/driver/postgresql/JDatabaseExporterPostgresqlTest.php +++ b/tests/unit/suites/database/driver/postgresql/JDatabaseExporterPostgresqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/postgresql/JDatabaseImporterPostgresqlTest.php b/tests/unit/suites/database/driver/postgresql/JDatabaseImporterPostgresqlTest.php index 2006986304cf2..a56ae150611e2 100644 --- a/tests/unit/suites/database/driver/postgresql/JDatabaseImporterPostgresqlTest.php +++ b/tests/unit/suites/database/driver/postgresql/JDatabaseImporterPostgresqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/postgresql/JDatabaseIteratorPostgresqlTest.php b/tests/unit/suites/database/driver/postgresql/JDatabaseIteratorPostgresqlTest.php index ea51fe71f9a50..9c1c5c3054548 100644 --- a/tests/unit/suites/database/driver/postgresql/JDatabaseIteratorPostgresqlTest.php +++ b/tests/unit/suites/database/driver/postgresql/JDatabaseIteratorPostgresqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/postgresql/JDatabaseQueryPostgresqlTest.php b/tests/unit/suites/database/driver/postgresql/JDatabaseQueryPostgresqlTest.php index 24db48197b41a..1a7ce2afbeaf8 100644 --- a/tests/unit/suites/database/driver/postgresql/JDatabaseQueryPostgresqlTest.php +++ b/tests/unit/suites/database/driver/postgresql/JDatabaseQueryPostgresqlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/sqlite/JDatabaseQuerySqliteTest.php b/tests/unit/suites/database/driver/sqlite/JDatabaseQuerySqliteTest.php index 3624743ebd9be..9769dfc0198ac 100644 --- a/tests/unit/suites/database/driver/sqlite/JDatabaseQuerySqliteTest.php +++ b/tests/unit/suites/database/driver/sqlite/JDatabaseQuerySqliteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/sqlsrv/JDatabaseDriverSqlsrvTest.php b/tests/unit/suites/database/driver/sqlsrv/JDatabaseDriverSqlsrvTest.php index 8da584286e61c..685540c7363da 100644 --- a/tests/unit/suites/database/driver/sqlsrv/JDatabaseDriverSqlsrvTest.php +++ b/tests/unit/suites/database/driver/sqlsrv/JDatabaseDriverSqlsrvTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.Test * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/sqlsrv/JDatabaseIteratorSqlsrvTest.php b/tests/unit/suites/database/driver/sqlsrv/JDatabaseIteratorSqlsrvTest.php index 8a2a589f31347..a25113178ebd0 100644 --- a/tests/unit/suites/database/driver/sqlsrv/JDatabaseIteratorSqlsrvTest.php +++ b/tests/unit/suites/database/driver/sqlsrv/JDatabaseIteratorSqlsrvTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/database/driver/sqlsrv/JDatabaseQuerySqlsrvTest.php b/tests/unit/suites/database/driver/sqlsrv/JDatabaseQuerySqlsrvTest.php index 848de2ae3b685..61942ade4ed54 100644 --- a/tests/unit/suites/database/driver/sqlsrv/JDatabaseQuerySqlsrvTest.php +++ b/tests/unit/suites/database/driver/sqlsrv/JDatabaseQuerySqlsrvTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerHelperTest.php b/tests/unit/suites/finderIndexer/FinderIndexerHelperTest.php index 11aea10a3162b..4ed12d5514dbd 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerHelperTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerParserTest.php b/tests/unit/suites/finderIndexer/FinderIndexerParserTest.php index c59fa3d8f0e1e..32ca149f26b6e 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerParserTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerParserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerResultTest.php b/tests/unit/suites/finderIndexer/FinderIndexerResultTest.php index f7b68176c4e48..188e06b5f24aa 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerResultTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerResultTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerStemmerTest.php b/tests/unit/suites/finderIndexer/FinderIndexerStemmerTest.php index ffa6fc777558b..c88e009c2f48c 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerStemmerTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerStemmerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerTest.php b/tests/unit/suites/finderIndexer/FinderIndexerTest.php index 2bbae9e5ce56f..8a4c8d24b2d8f 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/FinderIndexerTokenTest.php b/tests/unit/suites/finderIndexer/FinderIndexerTokenTest.php index 274eeed6772b4..ce321c4a468ee 100644 --- a/tests/unit/suites/finderIndexer/FinderIndexerTokenTest.php +++ b/tests/unit/suites/finderIndexer/FinderIndexerTokenTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/parser/FinderIndexerParserHtmlTest.php b/tests/unit/suites/finderIndexer/parser/FinderIndexerParserHtmlTest.php index db54316915192..cf1fa08f591d2 100644 --- a/tests/unit/suites/finderIndexer/parser/FinderIndexerParserHtmlTest.php +++ b/tests/unit/suites/finderIndexer/parser/FinderIndexerParserHtmlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/parser/FinderIndexerParserRtfTest.php b/tests/unit/suites/finderIndexer/parser/FinderIndexerParserRtfTest.php index 2393c515ddd3d..481c90383e861 100644 --- a/tests/unit/suites/finderIndexer/parser/FinderIndexerParserRtfTest.php +++ b/tests/unit/suites/finderIndexer/parser/FinderIndexerParserRtfTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerFrTest.php b/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerFrTest.php index b033141b929b5..ed4f4c309fbd8 100644 --- a/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerFrTest.php +++ b/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerFrTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerPorter_EnTest.php b/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerPorter_EnTest.php index 076decfa5737f..7926b3d439cd2 100644 --- a/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerPorter_EnTest.php +++ b/tests/unit/suites/finderIndexer/stemmer/FinderIndexerStemmerPorter_EnTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage com_finder * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/application/JApplicationAdministratorTest.php b/tests/unit/suites/libraries/cms/application/JApplicationAdministratorTest.php index 037c101ffff64..e9cd4aaa73835 100644 --- a/tests/unit/suites/libraries/cms/application/JApplicationAdministratorTest.php +++ b/tests/unit/suites/libraries/cms/application/JApplicationAdministratorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/application/JApplicationCmsTest.php b/tests/unit/suites/libraries/cms/application/JApplicationCmsTest.php index 0cd710c75cf98..b6093f4c56496 100644 --- a/tests/unit/suites/libraries/cms/application/JApplicationCmsTest.php +++ b/tests/unit/suites/libraries/cms/application/JApplicationCmsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/application/JApplicationSiteTest.php b/tests/unit/suites/libraries/cms/application/JApplicationSiteTest.php index db06d3a0adcef..284106d85bfaa 100644 --- a/tests/unit/suites/libraries/cms/application/JApplicationSiteTest.php +++ b/tests/unit/suites/libraries/cms/application/JApplicationSiteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/application/stubs/JApplicationCmsInspector.php b/tests/unit/suites/libraries/cms/application/stubs/JApplicationCmsInspector.php index 420140e89bd43..87464a4fe8fb7 100644 --- a/tests/unit/suites/libraries/cms/application/stubs/JApplicationCmsInspector.php +++ b/tests/unit/suites/libraries/cms/application/stubs/JApplicationCmsInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/application/stubs/JApplicationHelperInspector.php b/tests/unit/suites/libraries/cms/application/stubs/JApplicationHelperInspector.php index c081dcf7c46ea..0f71c5eca2b58 100644 --- a/tests/unit/suites/libraries/cms/application/stubs/JApplicationHelperInspector.php +++ b/tests/unit/suites/libraries/cms/application/stubs/JApplicationHelperInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/JComponentHelperTest.php b/tests/unit/suites/libraries/cms/component/JComponentHelperTest.php index 4a8d38aac1856..c9c0e01a1a836 100644 --- a/tests/unit/suites/libraries/cms/component/JComponentHelperTest.php +++ b/tests/unit/suites/libraries/cms/component/JComponentHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/JComponentRouterBaseTest.php b/tests/unit/suites/libraries/cms/component/router/JComponentRouterBaseTest.php index 13f74656503a5..1ec343c58873c 100644 --- a/tests/unit/suites/libraries/cms/component/router/JComponentRouterBaseTest.php +++ b/tests/unit/suites/libraries/cms/component/router/JComponentRouterBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/JComponentRouterLegacyTest.php b/tests/unit/suites/libraries/cms/component/router/JComponentRouterLegacyTest.php index 8fe016dcabf0d..48440bdf9ed1e 100644 --- a/tests/unit/suites/libraries/cms/component/router/JComponentRouterLegacyTest.php +++ b/tests/unit/suites/libraries/cms/component/router/JComponentRouterLegacyTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewTest.php b/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewTest.php index 2c0c2f21dac2b..959f6cf74f519 100644 --- a/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewTest.php +++ b/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewconfigurationTest.php b/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewconfigurationTest.php index 7479b989aea7d..983df166c39d4 100644 --- a/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewconfigurationTest.php +++ b/tests/unit/suites/libraries/cms/component/router/JComponentRouterViewconfigurationTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php index 4225cf0a11663..6dc7a33e102a0 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesNomenuTest.php b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesNomenuTest.php index 2cd4c4873293f..500fc69f96a16 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesNomenuTest.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesNomenuTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesStandardTest.php b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesStandardTest.php index 46dcd49c387bf..aaceb2678f548 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesStandardTest.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesStandardTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesMenuInspector.php b/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesMenuInspector.php index 43207aebbce75..8c35f6d0416e1 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesMenuInspector.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesMenuInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesNomenuInspector.php b/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesNomenuInspector.php index 7e9208a6f34c2..576cfbaffd00a 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesNomenuInspector.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/stubs/JComponentRouterRulesNomenuInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/rules/stubs/MockJComponentRouterRulesMenuMenuObject.php b/tests/unit/suites/libraries/cms/component/router/rules/stubs/MockJComponentRouterRulesMenuMenuObject.php index daf95cb2d6a3d..9782d5b27a225 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/stubs/MockJComponentRouterRulesMenuMenuObject.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/stubs/MockJComponentRouterRulesMenuMenuObject.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/ComContentRouter.php b/tests/unit/suites/libraries/cms/component/router/stubs/ComContentRouter.php index d0d61e799ddc6..a966d9cc3de0f 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/ComContentRouter.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/ComContentRouter.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/JCategoriesMock.php b/tests/unit/suites/libraries/cms/component/router/stubs/JCategoriesMock.php index e31df35a0127e..ac16387f98ebf 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/JCategoriesMock.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/JCategoriesMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterBaseInspector.php b/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterBaseInspector.php index f512e8c5e0cc7..ab152ae1e5e35 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterBaseInspector.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterBaseInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterViewInspector.php b/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterViewInspector.php index cb42e87c288e9..af46083206655 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterViewInspector.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/JComponentRouterViewInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/componentrouter.php b/tests/unit/suites/libraries/cms/component/router/stubs/componentrouter.php index 9cba097de8aff..fe7aa199858bb 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/componentrouter.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/componentrouter.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/component/router/stubs/componentrouterrule.php b/tests/unit/suites/libraries/cms/component/router/stubs/componentrouterrule.php index d9b92a2b72227..98f5045562d68 100644 --- a/tests/unit/suites/libraries/cms/component/router/stubs/componentrouterrule.php +++ b/tests/unit/suites/libraries/cms/component/router/stubs/componentrouterrule.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Component * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/editor/JEditorTest.php b/tests/unit/suites/libraries/cms/editor/JEditorTest.php index 42091c965464c..02c3db62f2e83 100644 --- a/tests/unit/suites/libraries/cms/editor/JEditorTest.php +++ b/tests/unit/suites/libraries/cms/editor/JEditorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Editor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/editor/stubs/EditorObserver.php b/tests/unit/suites/libraries/cms/editor/stubs/EditorObserver.php index d66aa1903f206..0aa7d6670eea6 100644 --- a/tests/unit/suites/libraries/cms/editor/stubs/EditorObserver.php +++ b/tests/unit/suites/libraries/cms/editor/stubs/EditorObserver.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Editor * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/error/JErrorPageTest.php b/tests/unit/suites/libraries/cms/error/JErrorPageTest.php index 5141cc4b4ac88..2bf870bec9b80 100644 --- a/tests/unit/suites/libraries/cms/error/JErrorPageTest.php +++ b/tests/unit/suites/libraries/cms/error/JErrorPageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Error * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/form/field/JFormFieldHeadertagTest.php b/tests/unit/suites/libraries/cms/form/field/JFormFieldHeadertagTest.php index e840f57965f8b..228e1893c3422 100644 --- a/tests/unit/suites/libraries/cms/form/field/JFormFieldHeadertagTest.php +++ b/tests/unit/suites/libraries/cms/form/field/JFormFieldHeadertagTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/form/field/JFormFieldHelpsiteTest.php b/tests/unit/suites/libraries/cms/form/field/JFormFieldHelpsiteTest.php index 107c5c15365b5..bff6aceaf80b2 100644 --- a/tests/unit/suites/libraries/cms/form/field/JFormFieldHelpsiteTest.php +++ b/tests/unit/suites/libraries/cms/form/field/JFormFieldHelpsiteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/form/field/JFormFieldModuletagTest.php b/tests/unit/suites/libraries/cms/form/field/JFormFieldModuletagTest.php index d217beb5860e5..1158381c3838b 100644 --- a/tests/unit/suites/libraries/cms/form/field/JFormFieldModuletagTest.php +++ b/tests/unit/suites/libraries/cms/form/field/JFormFieldModuletagTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/form/rule/JFormRuleNotequalsTest.php b/tests/unit/suites/libraries/cms/form/rule/JFormRuleNotequalsTest.php index 159ebd6052dcd..1cb00c31191a5 100644 --- a/tests/unit/suites/libraries/cms/form/rule/JFormRuleNotequalsTest.php +++ b/tests/unit/suites/libraries/cms/form/rule/JFormRuleNotequalsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/help/JHelpTest.php b/tests/unit/suites/libraries/cms/help/JHelpTest.php index 0c6d8d7c2d43d..a1d379f70c39e 100644 --- a/tests/unit/suites/libraries/cms/help/JHelpTest.php +++ b/tests/unit/suites/libraries/cms/help/JHelpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Help * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/helper/JHelperContentTest.php b/tests/unit/suites/libraries/cms/helper/JHelperContentTest.php index 08b3ea7a59897..deb43f165d7b2 100644 --- a/tests/unit/suites/libraries/cms/helper/JHelperContentTest.php +++ b/tests/unit/suites/libraries/cms/helper/JHelperContentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/helper/JHelperMediaTest.php b/tests/unit/suites/libraries/cms/helper/JHelperMediaTest.php index b5571e9f41934..6116788918828 100644 --- a/tests/unit/suites/libraries/cms/helper/JHelperMediaTest.php +++ b/tests/unit/suites/libraries/cms/helper/JHelperMediaTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Media * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/helper/JHelperTest.php b/tests/unit/suites/libraries/cms/helper/JHelperTest.php index a90b389947e2f..02e11139f0b8e 100644 --- a/tests/unit/suites/libraries/cms/helper/JHelperTest.php +++ b/tests/unit/suites/libraries/cms/helper/JHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Helper * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlBatchTest.php b/tests/unit/suites/libraries/cms/html/JHtmlBatchTest.php index fd909ebfb89b2..07a3133b2b1a1 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlBatchTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlBatchTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlBehaviorTest.php b/tests/unit/suites/libraries/cms/html/JHtmlBehaviorTest.php index f7772ffc581d4..6bbeb747d3a5c 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlBehaviorTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlBehaviorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php index 3f10262444bb2..7eb7c0a9f9574 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlDateTest.php b/tests/unit/suites/libraries/cms/html/JHtmlDateTest.php index 4854942cca92b..b6dbd7e73d01e 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlDateTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlDateTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlDebugTest.php b/tests/unit/suites/libraries/cms/html/JHtmlDebugTest.php index c49a575ebde9d..99ea9179656be 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlDebugTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlDebugTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlEmailTest.php b/tests/unit/suites/libraries/cms/html/JHtmlEmailTest.php index 96ddfede36c79..dd2a6ba628eec 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlEmailTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlEmailTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlFormTest.php b/tests/unit/suites/libraries/cms/html/JHtmlFormTest.php index 07d86c7dfa28b..0afa8c6641b5b 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlFormTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlFormTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlFormbehaviorTest.php b/tests/unit/suites/libraries/cms/html/JHtmlFormbehaviorTest.php index 2115e85965507..488f033fa3806 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlFormbehaviorTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlFormbehaviorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlIconsTest.php b/tests/unit/suites/libraries/cms/html/JHtmlIconsTest.php index 6c3106320a514..0506d3b995d87 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlIconsTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlIconsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlJqueryTest.php b/tests/unit/suites/libraries/cms/html/JHtmlJqueryTest.php index 683e0f0065a0e..433b7af119765 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlJqueryTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlJqueryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlListTest.php b/tests/unit/suites/libraries/cms/html/JHtmlListTest.php index dc881773cc1a3..bd09b61d95fb3 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlListTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlMenuTest.php b/tests/unit/suites/libraries/cms/html/JHtmlMenuTest.php index 0bcb085064888..d13bd5e6c1dbb 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlMenuTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlMenuTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlNumberTest.php b/tests/unit/suites/libraries/cms/html/JHtmlNumberTest.php index ba280b731c86f..da8855096b785 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlNumberTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlNumberTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlSelectTest.php b/tests/unit/suites/libraries/cms/html/JHtmlSelectTest.php index bfdc47cf078a0..21a8ba49521fc 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlSelectTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlSelectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlStringTest.php b/tests/unit/suites/libraries/cms/html/JHtmlStringTest.php index 8d42d88d3b04d..856797384f4e6 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlStringTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlStringTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlTelTest.php b/tests/unit/suites/libraries/cms/html/JHtmlTelTest.php index b06d7c80cf0d9..ddd175f6506c1 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlTelTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlTelTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlTest.php b/tests/unit/suites/libraries/cms/html/JHtmlTest.php index c57970bb701a8..b0b19bacc4ab5 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/JHtmlUserTest.php b/tests/unit/suites/libraries/cms/html/JHtmlUserTest.php index bedd7bfec5c59..8b4568ad4c323 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlUserTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlUserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/TestHelpers/JHtmlSelect-helper-dataset.php b/tests/unit/suites/libraries/cms/html/TestHelpers/JHtmlSelect-helper-dataset.php index 55bcf4d835ebd..f95c17f218ffa 100644 --- a/tests/unit/suites/libraries/cms/html/TestHelpers/JHtmlSelect-helper-dataset.php +++ b/tests/unit/suites/libraries/cms/html/TestHelpers/JHtmlSelect-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/stubs/JHtmlBehaviorInspector.php b/tests/unit/suites/libraries/cms/html/stubs/JHtmlBehaviorInspector.php index 7e0a12c4d21d6..c3095c513b602 100644 --- a/tests/unit/suites/libraries/cms/html/stubs/JHtmlBehaviorInspector.php +++ b/tests/unit/suites/libraries/cms/html/stubs/JHtmlBehaviorInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/stubs/JHtmlBootstrapInspector.php b/tests/unit/suites/libraries/cms/html/stubs/JHtmlBootstrapInspector.php index 185dbdddd4b3d..458a5e6899317 100644 --- a/tests/unit/suites/libraries/cms/html/stubs/JHtmlBootstrapInspector.php +++ b/tests/unit/suites/libraries/cms/html/stubs/JHtmlBootstrapInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/stubs/JHtmlJqueryInspector.php b/tests/unit/suites/libraries/cms/html/stubs/JHtmlJqueryInspector.php index 8395b5132c11a..1f14fbb487ef1 100644 --- a/tests/unit/suites/libraries/cms/html/stubs/JHtmlJqueryInspector.php +++ b/tests/unit/suites/libraries/cms/html/stubs/JHtmlJqueryInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/testfiles/empty.php b/tests/unit/suites/libraries/cms/html/testfiles/empty.php index 7d938258f13b5..4409b0c845779 100644 --- a/tests/unit/suites/libraries/cms/html/testfiles/empty.php +++ b/tests/unit/suites/libraries/cms/html/testfiles/empty.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/html/testfiles/inspector.php b/tests/unit/suites/libraries/cms/html/testfiles/inspector.php index 499c4df775f47..bdfec5ad966a4 100644 --- a/tests/unit/suites/libraries/cms/html/testfiles/inspector.php +++ b/tests/unit/suites/libraries/cms/html/testfiles/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php b/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php index 06705078c4b1f..409967ec293e2 100644 --- a/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php +++ b/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/JInstallerExtensionTest.php b/tests/unit/suites/libraries/cms/installer/JInstallerExtensionTest.php index 8f2c8b4e1f072..d54b29baa033d 100644 --- a/tests/unit/suites/libraries/cms/installer/JInstallerExtensionTest.php +++ b/tests/unit/suites/libraries/cms/installer/JInstallerExtensionTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/JInstallerHelperTest.php b/tests/unit/suites/libraries/cms/installer/JInstallerHelperTest.php index ee851b818b93b..6c4d976a47423 100644 --- a/tests/unit/suites/libraries/cms/installer/JInstallerHelperTest.php +++ b/tests/unit/suites/libraries/cms/installer/JInstallerHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/JInstallerTest.php b/tests/unit/suites/libraries/cms/installer/JInstallerTest.php index d4ee11ac5e6fd..99da4fc38f859 100644 --- a/tests/unit/suites/libraries/cms/installer/JInstallerTest.php +++ b/tests/unit/suites/libraries/cms/installer/JInstallerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/data/joomla.xml b/tests/unit/suites/libraries/cms/installer/data/joomla.xml index ae8aaf68d59c1..4f4b5c75c02f3 100644 --- a/tests/unit/suites/libraries/cms/installer/data/joomla.xml +++ b/tests/unit/suites/libraries/cms/installer/data/joomla.xml @@ -5,7 +5,7 @@ <version>11.4</version> <description>LIB_JOOMLA_XML_DESCRIPTION</description> <creationDate>2008</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/tests/unit/suites/libraries/cms/installer/data/mod_finder.xml b/tests/unit/suites/libraries/cms/installer/data/mod_finder.xml index 777cbc91306dc..50b282b2daf0c 100644 --- a/tests/unit/suites/libraries/cms/installer/data/mod_finder.xml +++ b/tests/unit/suites/libraries/cms/installer/data/mod_finder.xml @@ -3,7 +3,7 @@ <name>mod_finder</name> <author>Joomla! Project</author> <creationDate>August 2011</creationDate> - <copyright>(C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/tests/unit/suites/libraries/cms/installer/data/pkg_joomla.xml b/tests/unit/suites/libraries/cms/installer/data/pkg_joomla.xml index 2c8f8037fbc9c..63bb9fa2b26fe 100644 --- a/tests/unit/suites/libraries/cms/installer/data/pkg_joomla.xml +++ b/tests/unit/suites/libraries/cms/installer/data/pkg_joomla.xml @@ -5,7 +5,7 @@ <version>2.5.0</version> <description>PKG_JOOMLA_XML_DESCRIPTION</description> <creationDate>2006</creationDate> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestLibraryTest.php b/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestLibraryTest.php index c8f08cf120191..467de4d743d8b 100644 --- a/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestLibraryTest.php +++ b/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestLibraryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestPackageTest.php b/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestPackageTest.php index bea5040a62862..6aa7e47284a23 100644 --- a/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestPackageTest.php +++ b/tests/unit/suites/libraries/cms/installer/manifest/JInstallerManifestPackageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Installer * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/language/JLanguageMultilangTest.php b/tests/unit/suites/libraries/cms/language/JLanguageMultilangTest.php index eb0b4fefe9426..c359c7dee3d70 100644 --- a/tests/unit/suites/libraries/cms/language/JLanguageMultilangTest.php +++ b/tests/unit/suites/libraries/cms/language/JLanguageMultilangTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Language * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/layout/JLayoutBaseTest.php b/tests/unit/suites/libraries/cms/layout/JLayoutBaseTest.php index e3fb7a9e75af4..1922cb5fdd85a 100644 --- a/tests/unit/suites/libraries/cms/layout/JLayoutBaseTest.php +++ b/tests/unit/suites/libraries/cms/layout/JLayoutBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/layout/JLayoutFileTest.php b/tests/unit/suites/libraries/cms/layout/JLayoutFileTest.php index b90fb00a770a2..96276f0373dbb 100644 --- a/tests/unit/suites/libraries/cms/layout/JLayoutFileTest.php +++ b/tests/unit/suites/libraries/cms/layout/JLayoutFileTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Layout * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/module/JModuleHelperTest.php b/tests/unit/suites/libraries/cms/module/JModuleHelperTest.php index e880ceb2910a1..80f247e63edcb 100644 --- a/tests/unit/suites/libraries/cms/module/JModuleHelperTest.php +++ b/tests/unit/suites/libraries/cms/module/JModuleHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Module * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/pagination/JPaginationObjectTest.php b/tests/unit/suites/libraries/cms/pagination/JPaginationObjectTest.php index 8cba0a8292793..46e768ec43d57 100644 --- a/tests/unit/suites/libraries/cms/pagination/JPaginationObjectTest.php +++ b/tests/unit/suites/libraries/cms/pagination/JPaginationObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Pagination * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/pagination/JPaginationTest.php b/tests/unit/suites/libraries/cms/pagination/JPaginationTest.php index 239b02cfe4579..dc00913217c31 100644 --- a/tests/unit/suites/libraries/cms/pagination/JPaginationTest.php +++ b/tests/unit/suites/libraries/cms/pagination/JPaginationTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Pagination * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/pathway/JPathwayTest.php b/tests/unit/suites/libraries/cms/pathway/JPathwayTest.php index 4b0640a3dd393..ae746bd7d6c85 100644 --- a/tests/unit/suites/libraries/cms/pathway/JPathwayTest.php +++ b/tests/unit/suites/libraries/cms/pathway/JPathwayTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Pathway * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/pathway/stubs/includes/pathway.php b/tests/unit/suites/libraries/cms/pathway/stubs/includes/pathway.php index a2deac5ebad28..99c9fd4189ce8 100644 --- a/tests/unit/suites/libraries/cms/pathway/stubs/includes/pathway.php +++ b/tests/unit/suites/libraries/cms/pathway/stubs/includes/pathway.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Pathway * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/plugin/JPluginHelperTest.php b/tests/unit/suites/libraries/cms/plugin/JPluginHelperTest.php index f34aa30140d35..cda5cd37fef84 100644 --- a/tests/unit/suites/libraries/cms/plugin/JPluginHelperTest.php +++ b/tests/unit/suites/libraries/cms/plugin/JPluginHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/plugin/JPluginTest.php b/tests/unit/suites/libraries/cms/plugin/JPluginTest.php index 2f889f1b14f1a..a57e215dfeb38 100644 --- a/tests/unit/suites/libraries/cms/plugin/JPluginTest.php +++ b/tests/unit/suites/libraries/cms/plugin/JPluginTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemBase.php b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemBase.php index 923ced7c8a4c8..a559a51488df3 100644 --- a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemBase.php +++ b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemBase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemJoomla.php b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemJoomla.php index 1ad0f6e3b03f6..58750e1e7a7f3 100644 --- a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemJoomla.php +++ b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemJoomla.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemPrivate.php b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemPrivate.php index a72866d597c47..87ea26537434c 100644 --- a/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemPrivate.php +++ b/tests/unit/suites/libraries/cms/plugin/stubs/PlgSystemPrivate.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/response/JResponseJsonTest.php b/tests/unit/suites/libraries/cms/response/JResponseJsonTest.php index 9e6927896f7dc..7b9ae43e035e3 100644 --- a/tests/unit/suites/libraries/cms/response/JResponseJsonTest.php +++ b/tests/unit/suites/libraries/cms/response/JResponseJsonTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Response * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/response/stubs/mock.application.php b/tests/unit/suites/libraries/cms/response/stubs/mock.application.php index ffa2e22b303f8..f2e613e0dc301 100644 --- a/tests/unit/suites/libraries/cms/response/stubs/mock.application.php +++ b/tests/unit/suites/libraries/cms/response/stubs/mock.application.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Response * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/router/JRouterAdministratorTest.php b/tests/unit/suites/libraries/cms/router/JRouterAdministratorTest.php index b1f15e25fe311..67d181315b149 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterAdministratorTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterAdministratorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Router * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index a3f79af20de3d..7e8656a32a603 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Router * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/router/JRouterTest.php b/tests/unit/suites/libraries/cms/router/JRouterTest.php index c212553b8fadf..62e677cb8938e 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Router * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/router/data/TestRouter.php b/tests/unit/suites/libraries/cms/router/data/TestRouter.php index b49eafe831819..c062b40081ec0 100644 --- a/tests/unit/suites/libraries/cms/router/data/TestRouter.php +++ b/tests/unit/suites/libraries/cms/router/data/TestRouter.php @@ -4,7 +4,7 @@ * @package Joomla.UnitTest * @subpackage Router * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ class TestRouter implements JComponentRouterInterface diff --git a/tests/unit/suites/libraries/cms/router/data/includes/router.php b/tests/unit/suites/libraries/cms/router/data/includes/router.php index c43b407828281..da04b1a49e6de 100644 --- a/tests/unit/suites/libraries/cms/router/data/includes/router.php +++ b/tests/unit/suites/libraries/cms/router/data/includes/router.php @@ -3,7 +3,7 @@ * @package Joomla.Libraries * @subpackage Router * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangeitemTest.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangeitemTest.php index 7ca3d1078cb17..9aaeba2c48864 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangeitemTest.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangeitemTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysql.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysql.php index 9b9364b529332..587a5c7629b4f 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysql.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysql.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysqli.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysqli.php index 6c6f9df91af93..04b9ecf5fcee7 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysqli.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestMysqli.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPdomysql.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPdomysql.php index ce398c2b9e37a..5b054bd137dd4 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPdomysql.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPdomysql.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPostgresql.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPostgresql.php index 30b094d199b09..644abe2f89cee 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPostgresql.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestPostgresql.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestSqlsrv.php b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestSqlsrv.php index 94975ec9ed450..4bd1ac3d4d8ab 100644 --- a/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestSqlsrv.php +++ b/tests/unit/suites/libraries/cms/schema/JSchemaChangesetTestSqlsrv.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Schema * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.0.0.sql b/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.0.0.sql index bdc8bd9eddfcd..7043e21224775 100644 --- a/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.0.0.sql +++ b/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.0.0.sql @@ -114,9 +114,9 @@ ALTER TABLE `#__finder_tokens_aggregate` ADD COLUMN `language` char(3) NOT NULL INSERT INTO `#__extensions` (`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES - ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); + ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), + ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), + ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__template_styles` (`template`, `client_id`, `home`, `title`, `params`) VALUES ('protostar', 0, '0', 'protostar - Default', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}'), @@ -139,7 +139,7 @@ SET home = 0 WHERE template = 'bluestork'; INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0); UPDATE `#__update_sites` SET location = 'https://update.joomla.org/language/translationlist_3.xml' diff --git a/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.2.0.sql b/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.2.0.sql index 02b067d2e97b6..591393406a7b3 100644 --- a/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.2.0.sql +++ b/tests/unit/suites/libraries/cms/schema/stubs/mysql/3.2.0.sql @@ -19,13 +19,13 @@ UPDATE `#__extensions` SET `params` = '{"template_positions_display":"0","upload UPDATE `#__extensions` SET `params` = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE `extension_id` = 410; INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); +(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0); INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES ('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '0000-00-00 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1); diff --git a/tests/unit/suites/libraries/cms/schema/stubs/postgresql/3.2.0.sql b/tests/unit/suites/libraries/cms/schema/stubs/postgresql/3.2.0.sql index b6020f0a3b936..bc22cf3698af2 100644 --- a/tests/unit/suites/libraries/cms/schema/stubs/postgresql/3.2.0.sql +++ b/tests/unit/suites/libraries/cms/schema/stubs/postgresql/3.2.0.sql @@ -19,13 +19,13 @@ UPDATE "#__extensions" SET "params" = '{"template_positions_display":"0","upload UPDATE "#__extensions" SET "params" = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE "extension_id" = 410; INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES -(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); +(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0); INSERT INTO "#__menu" ("menutype", "title", "alias", "note", "path", "link", "type", "published", "parent_id", "level", "component_id", "checked_out", "checked_out_time", "browserNav", "access", "img", "template_style_id", "params", "lft", "rgt", "home", "language", "client_id") VALUES ('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '1970-01-01 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1); diff --git a/tests/unit/suites/libraries/cms/table/JTableContenttypeTest.php b/tests/unit/suites/libraries/cms/table/JTableContenttypeTest.php index ca793b2dc1478..cad04d0542d04 100644 --- a/tests/unit/suites/libraries/cms/table/JTableContenttypeTest.php +++ b/tests/unit/suites/libraries/cms/table/JTableContenttypeTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/table/JTableCorecontentTest.php b/tests/unit/suites/libraries/cms/table/JTableCorecontentTest.php index 73fe57737d8eb..ca9441daaba2b 100644 --- a/tests/unit/suites/libraries/cms/table/JTableCorecontentTest.php +++ b/tests/unit/suites/libraries/cms/table/JTableCorecontentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/JToolbarButtonTest.php b/tests/unit/suites/libraries/cms/toolbar/JToolbarButtonTest.php index d2b6070a6e529..93ee2109aea6a 100644 --- a/tests/unit/suites/libraries/cms/toolbar/JToolbarButtonTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/JToolbarButtonTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/JToolbarTest.php b/tests/unit/suites/libraries/cms/toolbar/JToolbarTest.php index adee5dc8a5cd4..dddfdb2e9b9ca 100644 --- a/tests/unit/suites/libraries/cms/toolbar/JToolbarTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/JToolbarTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonConfirmTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonConfirmTest.php index a20c897081825..ec37059569b2a 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonConfirmTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonConfirmTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonCustomTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonCustomTest.php index aed1530197061..ffcdf1495d625 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonCustomTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonCustomTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonHelpTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonHelpTest.php index 4e5e46667788e..c1e1f4dbc0067 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonHelpTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonHelpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonLinkTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonLinkTest.php index 74ccb05e524db..646cafcff1ca9 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonLinkTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonLinkTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonPopupTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonPopupTest.php index 92b4e61c8093d..a9d4b08021bf5 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonPopupTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonPopupTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonSliderTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonSliderTest.php index ebac9fac70a44..9bfac699e95bf 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonSliderTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonSliderTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonStandardTest.php b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonStandardTest.php index a18cf94c0d0f7..ba864a9c71af4 100644 --- a/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonStandardTest.php +++ b/tests/unit/suites/libraries/cms/toolbar/button/JToolbarButtonStandardTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Toolbar * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/ucm/JUcmBaseTest.php b/tests/unit/suites/libraries/cms/ucm/JUcmBaseTest.php index 41aca0a1d776b..f7cc87e040940 100644 --- a/tests/unit/suites/libraries/cms/ucm/JUcmBaseTest.php +++ b/tests/unit/suites/libraries/cms/ucm/JUcmBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage UCM * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/ucm/JUcmContentTest.php b/tests/unit/suites/libraries/cms/ucm/JUcmContentTest.php index f17891983819e..fa2e8c65ca0a8 100644 --- a/tests/unit/suites/libraries/cms/ucm/JUcmContentTest.php +++ b/tests/unit/suites/libraries/cms/ucm/JUcmContentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage UCM * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/ucm/JUcmTypeTest.php b/tests/unit/suites/libraries/cms/ucm/JUcmTypeTest.php index 402fb35bb5a12..f87be3d4d0471 100644 --- a/tests/unit/suites/libraries/cms/ucm/JUcmTypeTest.php +++ b/tests/unit/suites/libraries/cms/ucm/JUcmTypeTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage UCM * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/cms/version/JVersionTest.php b/tests/unit/suites/libraries/cms/version/JVersionTest.php index b8a70d3941134..8b84717b9630b 100644 --- a/tests/unit/suites/libraries/cms/version/JVersionTest.php +++ b/tests/unit/suites/libraries/cms/version/JVersionTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Version * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/JFactoryTest.php b/tests/unit/suites/libraries/joomla/JFactoryTest.php index 13e02121e3d3f..f8a6dd2051b90 100644 --- a/tests/unit/suites/libraries/joomla/JFactoryTest.php +++ b/tests/unit/suites/libraries/joomla/JFactoryTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * @subpackage Utilities - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/JLoaderTest.php b/tests/unit/suites/libraries/joomla/JLoaderTest.php index d25b5da6c9606..899e889bef151 100644 --- a/tests/unit/suites/libraries/joomla/JLoaderTest.php +++ b/tests/unit/suites/libraries/joomla/JLoaderTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/JPlatformTest.php b/tests/unit/suites/libraries/joomla/JPlatformTest.php index d6dc77c1f3b31..26c9f7e61e212 100644 --- a/tests/unit/suites/libraries/joomla/JPlatformTest.php +++ b/tests/unit/suites/libraries/joomla/JPlatformTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -41,7 +41,7 @@ class JPlatformTest extends \PHPUnit\Framework\TestCase protected $RELTZ = 'CDT'; - protected $COPYRIGHT = 'Copyright (C) 2005 - 3109 Open Source Matters. All rights reserved.'; + protected $COPYRIGHT = 'Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.'; protected $URL = '<a href="https://www.joomla.org">Joomla!</a> is Free Software released under the GNU General Public License.'; @@ -140,7 +140,7 @@ public function testSetState() 'RELDATE' => '22-June-2009', 'RELTIME' => '23:00', 'RELTZ' => 'GMT', - 'COPYRIGHT' => 'Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.', + 'COPYRIGHT' => 'Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.', 'URL' => '<a href="https://www.joomla.org">Joomla!</a> is Free Software released under the GNU General Public License.' ); diff --git a/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php b/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php index 8e37bd98890cf..a455baa0f430e 100644 --- a/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php +++ b/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Access * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php b/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php index d2077fa9a799e..c078ee48cf002 100644 --- a/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php +++ b/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Access * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/access/JAccessTest.php b/tests/unit/suites/libraries/joomla/access/JAccessTest.php index a9a25e6f54055..57cf2410c6557 100644 --- a/tests/unit/suites/libraries/joomla/access/JAccessTest.php +++ b/tests/unit/suites/libraries/joomla/access/JAccessTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Access * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/JApplicationBaseTest.php b/tests/unit/suites/libraries/joomla/application/JApplicationBaseTest.php index ac8c9b64dcec6..8656a745b3235 100644 --- a/tests/unit/suites/libraries/joomla/application/JApplicationBaseTest.php +++ b/tests/unit/suites/libraries/joomla/application/JApplicationBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/JApplicationCliTest.php b/tests/unit/suites/libraries/joomla/application/JApplicationCliTest.php index 7468f43c82bcc..aac77e84cb164 100644 --- a/tests/unit/suites/libraries/joomla/application/JApplicationCliTest.php +++ b/tests/unit/suites/libraries/joomla/application/JApplicationCliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/JApplicationDaemonTest.php b/tests/unit/suites/libraries/joomla/application/JApplicationDaemonTest.php index 25d54cde31b39..ecfa99bb61f25 100644 --- a/tests/unit/suites/libraries/joomla/application/JApplicationDaemonTest.php +++ b/tests/unit/suites/libraries/joomla/application/JApplicationDaemonTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/JApplicationWebTest.php b/tests/unit/suites/libraries/joomla/application/JApplicationWebTest.php index 6e8aac4c5aadb..d70eb39b12ecb 100644 --- a/tests/unit/suites/libraries/joomla/application/JApplicationWebTest.php +++ b/tests/unit/suites/libraries/joomla/application/JApplicationWebTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationCliInspector.php b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationCliInspector.php index ff5960dea78c1..61bf53428f3fb 100644 --- a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationCliInspector.php +++ b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationCliInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationDaemonInspector.php b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationDaemonInspector.php index a15dea8fde5f2..1bee3cb0dc1fc 100644 --- a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationDaemonInspector.php +++ b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationDaemonInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationWebInspector.php b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationWebInspector.php index 5bbfff5647c4d..79b7c1a4d2b32 100644 --- a/tests/unit/suites/libraries/joomla/application/stubs/JApplicationWebInspector.php +++ b/tests/unit/suites/libraries/joomla/application/stubs/JApplicationWebInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/JApplicationWebRouterTest.php b/tests/unit/suites/libraries/joomla/application/web/JApplicationWebRouterTest.php index d0993b5c40579..846eb19bb92d2 100644 --- a/tests/unit/suites/libraries/joomla/application/web/JApplicationWebRouterTest.php +++ b/tests/unit/suites/libraries/joomla/application/web/JApplicationWebRouterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterBaseTest.php b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterBaseTest.php index 7bd2847af8fc7..3a0fb729da317 100644 --- a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterBaseTest.php +++ b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php index 956371cf5f162..40660e7adc7ba 100644 --- a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php +++ b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/stubs/JWebClientInspector.php b/tests/unit/suites/libraries/joomla/application/web/stubs/JWebClientInspector.php index e4bb14947624e..36fa6e5a45eeb 100644 --- a/tests/unit/suites/libraries/joomla/application/web/stubs/JWebClientInspector.php +++ b/tests/unit/suites/libraries/joomla/application/web/stubs/JWebClientInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/bar.php b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/bar.php index 50484bc882714..44dc85d43673e 100644 --- a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/bar.php +++ b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/bar.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/baz.php b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/baz.php index 612397811047e..c2dd87576aca5 100644 --- a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/baz.php +++ b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/baz.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/foo.php b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/foo.php index 768a8125adf0a..79d72fe54f379 100644 --- a/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/foo.php +++ b/tests/unit/suites/libraries/joomla/application/web/stubs/controllers/foo.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveBzip2Test.php b/tests/unit/suites/libraries/joomla/archive/JArchiveBzip2Test.php index 4c6806571554d..f2697c9696e16 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveBzip2Test.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveBzip2Test.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveGzipTest.php b/tests/unit/suites/libraries/joomla/archive/JArchiveGzipTest.php index 2b0be293a4406..29db244c9f05b 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveGzipTest.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveGzipTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveTarTest.php b/tests/unit/suites/libraries/joomla/archive/JArchiveTarTest.php index 6fce09bfc1da9..969fc2d52dd02 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveTarTest.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveTarTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveTest.php b/tests/unit/suites/libraries/joomla/archive/JArchiveTest.php index 4cfdcc61dce72..38f7527f8d5ff 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveTest.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveTestCase.php b/tests/unit/suites/libraries/joomla/archive/JArchiveTestCase.php index 08f9bedc18946..80b6c2e097d6f 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveTestCase.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveTestCase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/archive/JArchiveZipTest.php b/tests/unit/suites/libraries/joomla/archive/JArchiveZipTest.php index 0c64878508768..ddf2dd3b743e9 100644 --- a/tests/unit/suites/libraries/joomla/archive/JArchiveZipTest.php +++ b/tests/unit/suites/libraries/joomla/archive/JArchiveZipTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Archive * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/base/JAdapterInstanceTest.php b/tests/unit/suites/libraries/joomla/base/JAdapterInstanceTest.php index cd836c51cd945..88e957a596dbd 100644 --- a/tests/unit/suites/libraries/joomla/base/JAdapterInstanceTest.php +++ b/tests/unit/suites/libraries/joomla/base/JAdapterInstanceTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/base/JAdapterTest.php b/tests/unit/suites/libraries/joomla/base/JAdapterTest.php index 9ebf478d4f280..197c607d13cad 100644 --- a/tests/unit/suites/libraries/joomla/base/JAdapterTest.php +++ b/tests/unit/suites/libraries/joomla/base/JAdapterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/base/stubs/testadapter.php b/tests/unit/suites/libraries/joomla/base/stubs/testadapter.php index 42149684f6ca3..d001769b049b6 100644 --- a/tests/unit/suites/libraries/joomla/base/stubs/testadapter.php +++ b/tests/unit/suites/libraries/joomla/base/stubs/testadapter.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/base/stubs/testadapter2.php b/tests/unit/suites/libraries/joomla/base/stubs/testadapter2.php index 0dd9624f5ba67..0fa16bad0c4c2 100644 --- a/tests/unit/suites/libraries/joomla/base/stubs/testadapter2.php +++ b/tests/unit/suites/libraries/joomla/base/stubs/testadapter2.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // Empty file diff --git a/tests/unit/suites/libraries/joomla/base/stubs/testadapter3.php b/tests/unit/suites/libraries/joomla/base/stubs/testadapter3.php index 8a93dc1f25d78..d9e1863856a2d 100644 --- a/tests/unit/suites/libraries/joomla/base/stubs/testadapter3.php +++ b/tests/unit/suites/libraries/joomla/base/stubs/testadapter3.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/base/stubs/testadapter4.php b/tests/unit/suites/libraries/joomla/base/stubs/testadapter4.php index 8dbebeba772e7..63db62bef31fb 100644 --- a/tests/unit/suites/libraries/joomla/base/stubs/testadapter4.php +++ b/tests/unit/suites/libraries/joomla/base/stubs/testadapter4.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/JCacheConstructTest.php b/tests/unit/suites/libraries/joomla/cache/JCacheConstructTest.php index b0bf936d53483..a12012f77d671 100644 --- a/tests/unit/suites/libraries/joomla/cache/JCacheConstructTest.php +++ b/tests/unit/suites/libraries/joomla/cache/JCacheConstructTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/JCacheStorageTest.php b/tests/unit/suites/libraries/joomla/cache/JCacheStorageTest.php index f73688df61a60..9a4b92c6cf0b6 100644 --- a/tests/unit/suites/libraries/joomla/cache/JCacheStorageTest.php +++ b/tests/unit/suites/libraries/joomla/cache/JCacheStorageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/JCacheTest.php b/tests/unit/suites/libraries/joomla/cache/JCacheTest.php index 9f15016216595..f7435bc67f13d 100644 --- a/tests/unit/suites/libraries/joomla/cache/JCacheTest.php +++ b/tests/unit/suites/libraries/joomla/cache/JCacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallback.helper.php b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallback.helper.php index a961afb936135..dda23251ae206 100644 --- a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallback.helper.php +++ b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallback.helper.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallbackCallbackTest.php b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallbackCallbackTest.php index b668499030bf4..95c3f067633e4 100644 --- a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallbackCallbackTest.php +++ b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerCallbackCallbackTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerRaw.php b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerRaw.php index 27ca7d5471c6f..4226dd21ba845 100644 --- a/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerRaw.php +++ b/tests/unit/suites/libraries/joomla/cache/controller/JCacheControllerRaw.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcTest.php index 5813ae51469a1..538b8188d10c8 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcuTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcuTest.php index 3a39dfa1c800a..5055a7a37f51c 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcuTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageApcuTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageCacheliteTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageCacheliteTest.php index 783a3b28663e9..20f1183dac8fd 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageCacheliteTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageCacheliteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageFileTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageFileTest.php index 8269b045ca6c7..9595e3e96f41f 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageFileTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageFileTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcacheTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcacheTest.php index 0a3ffd3312bad..cb71dd64deccd 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcacheTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcachedTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcachedTest.php index 6cc7761c2f1d1..c18e2bda23426 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcachedTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMemcachedTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMock.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMock.php index ecad5a9d3d4c9..51a4d9928695f 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMock.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageRedisTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageRedisTest.php index 43d7f667b98cf..5f1aab53125a8 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageRedisTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageRedisTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageWincacheTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageWincacheTest.php index b0dede5b87432..3cfa9dee51d63 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageWincacheTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageWincacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageXcacheTest.php b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageXcacheTest.php index 39384cadb4534..368a44cb672c9 100644 --- a/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageXcacheTest.php +++ b/tests/unit/suites/libraries/joomla/cache/storage/JCacheStorageXcacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Cache * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/controller/JControllerBaseTest.php b/tests/unit/suites/libraries/joomla/controller/JControllerBaseTest.php index 47fb32067e510..388ec8d8297d0 100644 --- a/tests/unit/suites/libraries/joomla/controller/JControllerBaseTest.php +++ b/tests/unit/suites/libraries/joomla/controller/JControllerBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/controller/stubs/tbase.php b/tests/unit/suites/libraries/joomla/controller/stubs/tbase.php index 45cae7c73495e..a9b06093f0105 100644 --- a/tests/unit/suites/libraries/joomla/controller/stubs/tbase.php +++ b/tests/unit/suites/libraries/joomla/controller/stubs/tbase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php b/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php index 066a7a03618db..23930f6087088 100644 --- a/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipher3DesTest.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipher3DesTest.php index 963756907b22f..7662c93aa01e2 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipher3DesTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipher3DesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherBlowfishTest.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherBlowfishTest.php index ce5ee80768d1e..f0c75b4b9c298 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherBlowfishTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherBlowfishTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherCryptoTest.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherCryptoTest.php index db31ca58de690..3cb086df50276 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherCryptoTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherCryptoTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherRijndael256Test.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherRijndael256Test.php index 3ce469595d145..33dc6bcc7c050 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherRijndael256Test.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherRijndael256Test.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSimpleTest.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSimpleTest.php index f90b6bd39340d..a1047d84e20cd 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSimpleTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSimpleTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSodiumTest.php b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSodiumTest.php index b7bd6f4302603..2658e367f8f44 100644 --- a/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSodiumTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/cipher/JCryptCipherSodiumTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Crypt * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/crypt/password/JCryptPasswordSimpleTest.php b/tests/unit/suites/libraries/joomla/crypt/password/JCryptPasswordSimpleTest.php index ccfcdf8f3bfe2..878df04c9d0e5 100644 --- a/tests/unit/suites/libraries/joomla/crypt/password/JCryptPasswordSimpleTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/password/JCryptPasswordSimpleTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Hash * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseDriverTest.php b/tests/unit/suites/libraries/joomla/database/JDatabaseDriverTest.php index acca91738b17f..a91ab87078545 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseDriverTest.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseDriverTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseFactoryTest.php b/tests/unit/suites/libraries/joomla/database/JDatabaseFactoryTest.php index 910ca784beef8..1fbe8e36a39d0 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseFactoryTest.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseFactoryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementInspector.php b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementInspector.php index 7ce6f1fa2d13b..967daba5258b1 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementInspector.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementTest.php b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementTest.php index a3b222c1eba33..0b9a57514b3cd 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementTest.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryElementTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryInspector.php b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryInspector.php index 191af531eef43..3f8d31d5bb917 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryInspector.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryTest.php b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryTest.php index 4a7d86e203693..a34ec5a09f61f 100644 --- a/tests/unit/suites/libraries/joomla/database/JDatabaseQueryTest.php +++ b/tests/unit/suites/libraries/joomla/database/JDatabaseQueryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/database/stubs/nosqldriver.php b/tests/unit/suites/libraries/joomla/database/stubs/nosqldriver.php index d53b2ed1c10ef..82b200ea15e1c 100644 --- a/tests/unit/suites/libraries/joomla/database/stubs/nosqldriver.php +++ b/tests/unit/suites/libraries/joomla/database/stubs/nosqldriver.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/date/JDateTest.php b/tests/unit/suites/libraries/joomla/date/JDateTest.php index f25956d787921..b707503f53310 100644 --- a/tests/unit/suites/libraries/joomla/date/JDateTest.php +++ b/tests/unit/suites/libraries/joomla/date/JDateTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Date * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/JDocumentRendererTest.php b/tests/unit/suites/libraries/joomla/document/JDocumentRendererTest.php index 12bd55d306085..21adc6a6d7756 100644 --- a/tests/unit/suites/libraries/joomla/document/JDocumentRendererTest.php +++ b/tests/unit/suites/libraries/joomla/document/JDocumentRendererTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/JDocumentTest.php b/tests/unit/suites/libraries/joomla/document/JDocumentTest.php index 92180c6ff4b70..b7cdab9057d20 100644 --- a/tests/unit/suites/libraries/joomla/document/JDocumentTest.php +++ b/tests/unit/suites/libraries/joomla/document/JDocumentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/error/JDocumentErrorTest.php b/tests/unit/suites/libraries/joomla/document/error/JDocumentErrorTest.php index fa31ddfa4a528..75ddf713156a1 100644 --- a/tests/unit/suites/libraries/joomla/document/error/JDocumentErrorTest.php +++ b/tests/unit/suites/libraries/joomla/document/error/JDocumentErrorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/feed/JDocumentFeedTest.php b/tests/unit/suites/libraries/joomla/document/feed/JDocumentFeedTest.php index 6a24e2fd7507d..d8019c2aa6c93 100644 --- a/tests/unit/suites/libraries/joomla/document/feed/JDocumentFeedTest.php +++ b/tests/unit/suites/libraries/joomla/document/feed/JDocumentFeedTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererAtomTest.php b/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererAtomTest.php index aae6bdf8107dc..1655e7634badb 100644 --- a/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererAtomTest.php +++ b/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererAtomTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererRSSTest.php b/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererRSSTest.php index 726dd5385f793..a5cf096f47339 100644 --- a/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererRSSTest.php +++ b/tests/unit/suites/libraries/joomla/document/feed/renderer/JDocumentRendererRSSTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/html/JDocumentHTMLTest.php b/tests/unit/suites/libraries/joomla/document/html/JDocumentHTMLTest.php index e3447fd8eff4a..76162f532ddc8 100644 --- a/tests/unit/suites/libraries/joomla/document/html/JDocumentHTMLTest.php +++ b/tests/unit/suites/libraries/joomla/document/html/JDocumentHTMLTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererComponentTest.php b/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererComponentTest.php index e2e1736f6691e..46566027a8ed8 100644 --- a/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererComponentTest.php +++ b/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererComponentTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererMessageTest.php b/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererMessageTest.php index e0e762c957fe6..ae8a971ac6eae 100644 --- a/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererMessageTest.php +++ b/tests/unit/suites/libraries/joomla/document/html/renderer/JDocumentRendererMessageTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/image/JDocumentImageTest.php b/tests/unit/suites/libraries/joomla/document/image/JDocumentImageTest.php index 1deb6f885828e..bcb084d082946 100644 --- a/tests/unit/suites/libraries/joomla/document/image/JDocumentImageTest.php +++ b/tests/unit/suites/libraries/joomla/document/image/JDocumentImageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/json/JDocumentJSONTest.php b/tests/unit/suites/libraries/joomla/document/json/JDocumentJSONTest.php index ad1b7677418fe..674b456ea3a62 100644 --- a/tests/unit/suites/libraries/joomla/document/json/JDocumentJSONTest.php +++ b/tests/unit/suites/libraries/joomla/document/json/JDocumentJSONTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/opensearch/JDocumentOpensearchTest.php b/tests/unit/suites/libraries/joomla/document/opensearch/JDocumentOpensearchTest.php index 5deec2fad15a8..32ab003896312 100644 --- a/tests/unit/suites/libraries/joomla/document/opensearch/JDocumentOpensearchTest.php +++ b/tests/unit/suites/libraries/joomla/document/opensearch/JDocumentOpensearchTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/raw/JDocumentRawTest.php b/tests/unit/suites/libraries/joomla/document/raw/JDocumentRawTest.php index e769dd4c1d739..d1fefc5acd5f6 100644 --- a/tests/unit/suites/libraries/joomla/document/raw/JDocumentRawTest.php +++ b/tests/unit/suites/libraries/joomla/document/raw/JDocumentRawTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/renderer/JDocumentRendererHtmlModulesTest.php b/tests/unit/suites/libraries/joomla/document/renderer/JDocumentRendererHtmlModulesTest.php index 11fd11729b3a2..13d9ca6bfb2e3 100644 --- a/tests/unit/suites/libraries/joomla/document/renderer/JDocumentRendererHtmlModulesTest.php +++ b/tests/unit/suites/libraries/joomla/document/renderer/JDocumentRendererHtmlModulesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/document/xml/JDocumentXmlTest.php b/tests/unit/suites/libraries/joomla/document/xml/JDocumentXmlTest.php index 0285f41b957d3..6312ea6b70877 100644 --- a/tests/unit/suites/libraries/joomla/document/xml/JDocumentXmlTest.php +++ b/tests/unit/suites/libraries/joomla/document/xml/JDocumentXmlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Document * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/environment/JBrowserTest.php b/tests/unit/suites/libraries/joomla/environment/JBrowserTest.php index 0abd11e340564..4ab23667a4529 100644 --- a/tests/unit/suites/libraries/joomla/environment/JBrowserTest.php +++ b/tests/unit/suites/libraries/joomla/environment/JBrowserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Environment * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/event/JEventDispatcherTest.php b/tests/unit/suites/libraries/joomla/event/JEventDispatcherTest.php index 015ab63280774..e560c04cc5410 100644 --- a/tests/unit/suites/libraries/joomla/event/JEventDispatcherTest.php +++ b/tests/unit/suites/libraries/joomla/event/JEventDispatcherTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/event/JEventInspector.php b/tests/unit/suites/libraries/joomla/event/JEventInspector.php index 80c72323cd5e0..396d6df219e1b 100644 --- a/tests/unit/suites/libraries/joomla/event/JEventInspector.php +++ b/tests/unit/suites/libraries/joomla/event/JEventInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/event/JEventStub.php b/tests/unit/suites/libraries/joomla/event/JEventStub.php index a187f3908a449..18d3065d062bd 100644 --- a/tests/unit/suites/libraries/joomla/event/JEventStub.php +++ b/tests/unit/suites/libraries/joomla/event/JEventStub.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/event/JEventTest.php b/tests/unit/suites/libraries/joomla/event/JEventTest.php index f0b2c0dc581f6..3950b0f9c9e7f 100644 --- a/tests/unit/suites/libraries/joomla/event/JEventTest.php +++ b/tests/unit/suites/libraries/joomla/event/JEventTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Event * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookAlbumTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookAlbumTest.php index fee28038778ac..1b8ce7da72846 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookAlbumTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookAlbumTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookCheckinTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookCheckinTest.php index d3c5cd8775de6..24ac24b12d8af 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookCheckinTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookCheckinTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookCommentTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookCommentTest.php index d00ff767baf83..83a5aa751e4ad 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookCommentTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookCommentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookEventTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookEventTest.php index 1bba718b445a1..4e63dba87d736 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookEventTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookEventTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookGroupTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookGroupTest.php index afadac5f4087a..efbb0fef8f60b 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookGroupTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookGroupTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookLinkTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookLinkTest.php index 27a1fcb8270e2..a8245cb02940e 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookLinkTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookLinkTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookNoteTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookNoteTest.php index cb3a00c7107a8..066aeb6dd28a3 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookNoteTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookNoteTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookOauthTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookOauthTest.php index 6af4b1f0e2dc2..319c57d7ed163 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookOauthTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookOauthTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookObjectTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookObjectTest.php index 3c5dfe92e50d5..14df9418a0781 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookObjectTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookPhotoTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookPhotoTest.php index c518f1d3f1873..7e9d0c3d97b76 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookPhotoTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookPhotoTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookPostTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookPostTest.php index f67714c0caedc..d8d583a3d4d8d 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookPostTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookPostTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookStatusTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookStatusTest.php index 6f190861a9303..48f1e364eb09e 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookStatusTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookStatusTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookTest.php index cfad621030593..68665922f07fe 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookUserTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookUserTest.php index 37b85b3655dad..320bb40a4c6a4 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookUserTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookUserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/JFacebookVideoTest.php b/tests/unit/suites/libraries/joomla/facebook/JFacebookVideoTest.php index cec154957c44d..e53ff7bcd9b80 100644 --- a/tests/unit/suites/libraries/joomla/facebook/JFacebookVideoTest.php +++ b/tests/unit/suites/libraries/joomla/facebook/JFacebookVideoTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/facebook/stubs/JFacebookObjectMock.php b/tests/unit/suites/libraries/joomla/facebook/stubs/JFacebookObjectMock.php index 9c25d4729be4d..fa8689eb36c48 100644 --- a/tests/unit/suites/libraries/joomla/facebook/stubs/JFacebookObjectMock.php +++ b/tests/unit/suites/libraries/joomla/facebook/stubs/JFacebookObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Facebook * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedEntryTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedEntryTest.php index 6b483d6fc98c5..3168de1b71c0d 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedEntryTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedEntryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedFactoryTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedFactoryTest.php index 258a1d79848bf..6ff6e88a71a66 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedFactoryTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedFactoryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedLinkTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedLinkTest.php index 58c5a8bcad434..11c66625ba468 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedLinkTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedLinkTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedParserTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedParserTest.php index 25c7e85665814..f242632b60ddc 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedParserTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedParserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedPersonTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedPersonTest.php index a1c181b1eaf74..0b4991f6f487c 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedPersonTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedPersonTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/JFeedTest.php b/tests/unit/suites/libraries/joomla/feed/JFeedTest.php index f90bf02a25cec..b32133dc8d3aa 100644 --- a/tests/unit/suites/libraries/joomla/feed/JFeedTest.php +++ b/tests/unit/suites/libraries/joomla/feed/JFeedTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserAtomTest.php b/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserAtomTest.php index daad6c2ede724..f3dbd148a06af 100644 --- a/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserAtomTest.php +++ b/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserAtomTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserRssTest.php b/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserRssTest.php index 04fda10807f5f..eab99b4a930e1 100644 --- a/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserRssTest.php +++ b/tests/unit/suites/libraries/joomla/feed/parser/JFeedParserRssTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMock.php b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMock.php index 3827f80cb9222..b81460bbea56f 100644 --- a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMock.php +++ b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMockNamespace.php b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMockNamespace.php index 915bf675cb781..1a832ad05c08e 100644 --- a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMockNamespace.php +++ b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserMockNamespace.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserProcessElementMock.php b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserProcessElementMock.php index aca33e5d86d01..25a7e2b3a75bc 100644 --- a/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserProcessElementMock.php +++ b/tests/unit/suites/libraries/joomla/feed/stubs/JFeedParserProcessElementMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Feed * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filesystem/JFileTest.php b/tests/unit/suites/libraries/joomla/filesystem/JFileTest.php index 7a97c723a0c13..cead78a1ae136 100644 --- a/tests/unit/suites/libraries/joomla/filesystem/JFileTest.php +++ b/tests/unit/suites/libraries/joomla/filesystem/JFileTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filesystem/JFilesystemHelperTest.php b/tests/unit/suites/libraries/joomla/filesystem/JFilesystemHelperTest.php index 5471cc8dc7e79..142fdd509a954 100644 --- a/tests/unit/suites/libraries/joomla/filesystem/JFilesystemHelperTest.php +++ b/tests/unit/suites/libraries/joomla/filesystem/JFilesystemHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Filesystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filesystem/JFilesystemPatcherTest.php b/tests/unit/suites/libraries/joomla/filesystem/JFilesystemPatcherTest.php index 3acc38308f65b..8492f29fda5aa 100644 --- a/tests/unit/suites/libraries/joomla/filesystem/JFilesystemPatcherTest.php +++ b/tests/unit/suites/libraries/joomla/filesystem/JFilesystemPatcherTest.php @@ -4,7 +4,7 @@ * @package Joomla.UnitTest * @subpackage FileSystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filesystem/JFolderTest.php b/tests/unit/suites/libraries/joomla/filesystem/JFolderTest.php index 7f0aabc4722c9..5b80328183de9 100644 --- a/tests/unit/suites/libraries/joomla/filesystem/JFolderTest.php +++ b/tests/unit/suites/libraries/joomla/filesystem/JFolderTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filesystem/JPathTest.php b/tests/unit/suites/libraries/joomla/filesystem/JPathTest.php index 5371c0049e33c..08ca8213c51c0 100644 --- a/tests/unit/suites/libraries/joomla/filesystem/JPathTest.php +++ b/tests/unit/suites/libraries/joomla/filesystem/JPathTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Filesystem * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filter/JFilterInputTest.php b/tests/unit/suites/libraries/joomla/filter/JFilterInputTest.php index 602b3eb30aa64..4ddef994433a5 100644 --- a/tests/unit/suites/libraries/joomla/filter/JFilterInputTest.php +++ b/tests/unit/suites/libraries/joomla/filter/JFilterInputTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Filter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/filter/JFilterOutputTest.php b/tests/unit/suites/libraries/joomla/filter/JFilterOutputTest.php index 424197b1c1453..685065e83172b 100644 --- a/tests/unit/suites/libraries/joomla/filter/JFilterOutputTest.php +++ b/tests/unit/suites/libraries/joomla/filter/JFilterOutputTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Filter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/JFormDataHelper.php b/tests/unit/suites/libraries/joomla/form/JFormDataHelper.php index 10454b4a98dcf..f420f31430079 100644 --- a/tests/unit/suites/libraries/joomla/form/JFormDataHelper.php +++ b/tests/unit/suites/libraries/joomla/form/JFormDataHelper.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/JFormFieldTest.php b/tests/unit/suites/libraries/joomla/form/JFormFieldTest.php index b7167b63a2732..af9d5fd73282c 100644 --- a/tests/unit/suites/libraries/joomla/form/JFormFieldTest.php +++ b/tests/unit/suites/libraries/joomla/form/JFormFieldTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/JFormTest.php b/tests/unit/suites/libraries/joomla/form/JFormTest.php index 515038ccac481..fa6bea8ce6900 100644 --- a/tests/unit/suites/libraries/joomla/form/JFormTest.php +++ b/tests/unit/suites/libraries/joomla/form/JFormTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/TestHelpers/JHtmlField-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/TestHelpers/JHtmlField-helper-dataset.php index 8dfec7b3d0deb..1349d56a030f1 100644 --- a/tests/unit/suites/libraries/joomla/form/TestHelpers/JHtmlField-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/TestHelpers/JHtmlField-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testfields/bar.php b/tests/unit/suites/libraries/joomla/form/_testfields/bar.php index 5d9d0b5485e45..72b0495e9748c 100644 --- a/tests/unit/suites/libraries/joomla/form/_testfields/bar.php +++ b/tests/unit/suites/libraries/joomla/form/_testfields/bar.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testfields/foo.php b/tests/unit/suites/libraries/joomla/form/_testfields/foo.php index a2539df979ad7..7f49242bc6535 100644 --- a/tests/unit/suites/libraries/joomla/form/_testfields/foo.php +++ b/tests/unit/suites/libraries/joomla/form/_testfields/foo.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testfields/modal/bar.php b/tests/unit/suites/libraries/joomla/form/_testfields/modal/bar.php index 786f5475083c7..17868109b1a52 100644 --- a/tests/unit/suites/libraries/joomla/form/_testfields/modal/bar.php +++ b/tests/unit/suites/libraries/joomla/form/_testfields/modal/bar.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testfields/modal/foo.php b/tests/unit/suites/libraries/joomla/form/_testfields/modal/foo.php index d56c42af95f7e..00fd9f1e3aac5 100644 --- a/tests/unit/suites/libraries/joomla/form/_testfields/modal/foo.php +++ b/tests/unit/suites/libraries/joomla/form/_testfields/modal/foo.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testfields/test.php b/tests/unit/suites/libraries/joomla/form/_testfields/test.php index 61ec4c20c9e7e..ab480d4796cee 100644 --- a/tests/unit/suites/libraries/joomla/form/_testfields/test.php +++ b/tests/unit/suites/libraries/joomla/form/_testfields/test.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/_testrules/custom.php b/tests/unit/suites/libraries/joomla/form/_testrules/custom.php index 3a8d93e424040..b34219f4c4ce8 100644 --- a/tests/unit/suites/libraries/joomla/form/_testrules/custom.php +++ b/tests/unit/suites/libraries/joomla/form/_testrules/custom.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/field/JFormFieldCategoryTest.php b/tests/unit/suites/libraries/joomla/form/field/JFormFieldCategoryTest.php index d1d944633bf34..5dd233fe082e3 100644 --- a/tests/unit/suites/libraries/joomla/form/field/JFormFieldCategoryTest.php +++ b/tests/unit/suites/libraries/joomla/form/field/JFormFieldCategoryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/field/JFormFieldComponentLayoutTest.php b/tests/unit/suites/libraries/joomla/form/field/JFormFieldComponentLayoutTest.php index ce1e8746a331d..7894f41987914 100644 --- a/tests/unit/suites/libraries/joomla/form/field/JFormFieldComponentLayoutTest.php +++ b/tests/unit/suites/libraries/joomla/form/field/JFormFieldComponentLayoutTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/field/JFormFieldModuleLayoutTest.php b/tests/unit/suites/libraries/joomla/form/field/JFormFieldModuleLayoutTest.php index 541c879ba7853..b9b1994d1bcec 100644 --- a/tests/unit/suites/libraries/joomla/form/field/JFormFieldModuleLayoutTest.php +++ b/tests/unit/suites/libraries/joomla/form/field/JFormFieldModuleLayoutTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldAccessLevelTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldAccessLevelTest.php index 8f72872153462..71b21ba943656 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldAccessLevelTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldAccessLevelTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCacheHandlerTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCacheHandlerTest.php index b9bb85801bc4c..b7c2762994f99 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCacheHandlerTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCacheHandlerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxTest.php index e4f142d1d16f7..c939bdd7168a4 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxesTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxesTest.php index ff5f25bcb607a..f3f0a74c33786 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxesTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldCheckboxesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldColorTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldColorTest.php index 6333bd0e87dc2..f1a97ca71ffbf 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldColorTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldColorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldComboTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldComboTest.php index e480461617561..325104f907d53 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldComboTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldComboTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldDatabaseConnectionTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldDatabaseConnectionTest.php index 1ad6de7358549..614d17b261f36 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldDatabaseConnectionTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldDatabaseConnectionTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldEmailTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldEmailTest.php index f4b1cf1b4a15d..3d112cfade3f1 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldEmailTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldEmailTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileListTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileListTest.php index 8a4d9e2658428..132318fad6a86 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileListTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileTest.php index 0e1b8117fee99..c2adc2140ee28 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFileTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFolderListTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFolderListTest.php index a4f8a2834a0a4..51f1154e25385 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFolderListTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldFolderListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldGroupedListTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldGroupedListTest.php index 490328ab3146f..20a53947d148c 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldGroupedListTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldGroupedListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldHiddenTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldHiddenTest.php index 0644aabb1af23..c0e95e202d645 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldHiddenTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldHiddenTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldImageListTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldImageListTest.php index 8238feca8336c..a9405811fc0d0 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldImageListTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldImageListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldIntegerTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldIntegerTest.php index 2d542ca074526..b904d2545df2a 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldIntegerTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldIntegerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldLanguageTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldLanguageTest.php index f8f4e78d456e9..88b3dfe73572d 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldLanguageTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldLanguageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldListTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldListTest.php index 312f1c0884547..4818f82e8b0f2 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldListTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldNumberTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldNumberTest.php index d8b20882c9296..e0f6536125c69 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldNumberTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldNumberTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPasswordTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPasswordTest.php index b1585e37732c2..2bba9ac05e411 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPasswordTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPasswordTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPluginsTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPluginsTest.php index 8da69350785fe..7e74c4360535f 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPluginsTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldPluginsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRadioTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRadioTest.php index 8aad455c83061..e87da92d2f264 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRadioTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRadioTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRange.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRange.php index 388dbbfe8e0a9..1c4cbfcdc72d3 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRange.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRange.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRulesTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRulesTest.php index 2b404ea27d785..b8f3672d9c8c3 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRulesTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldRulesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSQLTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSQLTest.php index ea1951e099a94..25be922ec859c 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSQLTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSQLTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSessionHandlerTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSessionHandlerTest.php index 85d6310dc6045..bc6e3f0aa23c2 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSessionHandlerTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSessionHandlerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSpacerTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSpacerTest.php index 55c963a722611..8c6ec281c776a 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSpacerTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldSpacerTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTelTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTelTest.php index b5ba0ff1f8cf3..c9d50e666f894 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTelTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTelTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextTest.php index fb1bacd53a508..11c9289c97121 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextareaTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextareaTest.php index b4a2f7335a48b..a2a4a4c772b0d 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextareaTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTextareaTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTimezoneTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTimezoneTest.php index 780bdc76dfc9e..4ff1a725af1d3 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTimezoneTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldTimezoneTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUrlTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUrlTest.php index e399950f2f418..fbaafc20047b8 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUrlTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUrlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUsergroupTest.php b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUsergroupTest.php index 4649625fac481..66f43cacf7a45 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUsergroupTest.php +++ b/tests/unit/suites/libraries/joomla/form/fields/JFormFieldUsergroupTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldCheckbox-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldCheckbox-helper-dataset.php index 3dd864ecfaae3..3476df68d8cff 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldCheckbox-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldCheckbox-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldEmail-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldEmail-helper-dataset.php index f3ffd7017aa66..ab3fa88ea1797 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldEmail-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldEmail-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldNumber-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldNumber-helper-dataset.php index bea600bd048ef..4586389a8086d 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldNumber-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldNumber-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldPassword-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldPassword-helper-dataset.php index 4a64110ac9482..8b2b1b9b36cf1 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldPassword-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldPassword-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRadio-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRadio-helper-dataset.php index 4cbfee566130b..3d9bcc977a3a6 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRadio-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRadio-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRange-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRange-helper-dataset.php index 48d9f013056f6..fc281970aa735 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRange-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldRange-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTel-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTel-helper-dataset.php index a20fd3584d1dd..bca1141736a70 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTel-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTel-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldText-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldText-helper-dataset.php index 4317ea2d6ed5b..fdf6dc1a7d041 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldText-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldText-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTextarea-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTextarea-helper-dataset.php index 99c94dab8414d..5161f5ba453f3 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTextarea-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldTextarea-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldUrl-helper-dataset.php b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldUrl-helper-dataset.php index d932116e756fe..4eaf3b91ea1d8 100644 --- a/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldUrl-helper-dataset.php +++ b/tests/unit/suites/libraries/joomla/form/fields/TestHelpers/JHtmlFieldUrl-helper-dataset.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage HTML * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleBooleanTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleBooleanTest.php index 0dddae112011f..79b54848d38ce 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleBooleanTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleBooleanTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleColorTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleColorTest.php index 8093a2ca99ffb..24d302c8e00a2 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleColorTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleColorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleEmailTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleEmailTest.php index afe4df0a7c6c1..20fe16270823f 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleEmailTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleEmailTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleOptionsTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleOptionsTest.php index 246988289615a..fb124f9cbf8d5 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleOptionsTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleOptionsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleRulesTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleRulesTest.php index d457cfb2488a5..2c301fcfbe731 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleRulesTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleRulesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleTelTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleTelTest.php index 014474bab3b13..b9d8e348f48f7 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleTelTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleTelTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleUrlTest.php b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleUrlTest.php index 358a89989394e..0fa2cef08ddbf 100644 --- a/tests/unit/suites/libraries/joomla/form/rule/JFormRuleUrlTest.php +++ b/tests/unit/suites/libraries/joomla/form/rule/JFormRuleUrlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Form * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubAccountTest.php b/tests/unit/suites/libraries/joomla/github/JGithubAccountTest.php index 4343fe25e50b7..07982559b466a 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubAccountTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubAccountTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubCommitsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubCommitsTest.php index 7e1d41e67f7d0..57754d0f6216c 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubCommitsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubCommitsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubForksTest.php b/tests/unit/suites/libraries/joomla/github/JGithubForksTest.php index bd4f4ef7f992d..9ad3e657e0a76 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubForksTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubForksTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubGistsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubGistsTest.php index 1ae1c374222ea..f455c0fd2a02f 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubGistsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubGistsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubHooksTest.php b/tests/unit/suites/libraries/joomla/github/JGithubHooksTest.php index 344f2f7f6dc8c..92de43e1af4f6 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubHooksTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubHooksTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubHttpTest.php b/tests/unit/suites/libraries/joomla/github/JGithubHttpTest.php index a0146dd4d8ba9..5cabeabdf8eaf 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubHttpTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubHttpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubIssuesTest.php b/tests/unit/suites/libraries/joomla/github/JGithubIssuesTest.php index dea5e46b78d8b..c8c2a54f47af5 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubIssuesTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubIssuesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubMetaTest.php b/tests/unit/suites/libraries/joomla/github/JGithubMetaTest.php index d86fb191047bd..bfe383d809fbb 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubMetaTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubMetaTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubMilestonesTest.php b/tests/unit/suites/libraries/joomla/github/JGithubMilestonesTest.php index edc7dfe8c80e3..209863987d298 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubMilestonesTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubMilestonesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubObjectTest.php b/tests/unit/suites/libraries/joomla/github/JGithubObjectTest.php index e5093791f91b9..3f82ea668daa1 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubObjectTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackageAuthorizationsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackageAuthorizationsTest.php index 9b9df053b5241..8c42c825ada1f 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackageAuthorizationsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackageAuthorizationsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackageGistsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackageGistsTest.php index 5820ad0ee1dc2..4c53885c25394 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackageGistsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackageGistsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackageGitignoreTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackageGitignoreTest.php index 1e36a4b5f4d78..b34ca0bbc80e6 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackageGitignoreTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackageGitignoreTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackageIssuesTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackageIssuesTest.php index c30a06cdc67b4..2203cf6a8fb3f 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackageIssuesTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackageIssuesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackagePullsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackagePullsTest.php index 437c0a5ccebb4..c3640ed2af172 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackagePullsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackagePullsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPackageUsersTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPackageUsersTest.php index 454b90e056bdc..19bf3a720c3ae 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPackageUsersTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPackageUsersTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubPullsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubPullsTest.php index 1f3f8cacf28db..1fe7607df71f8 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubPullsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubPullsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubRefsTest.php b/tests/unit/suites/libraries/joomla/github/JGithubRefsTest.php index 233cc618ef658..62a65ab78fe3c 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubRefsTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubRefsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubStatusesTest.php b/tests/unit/suites/libraries/joomla/github/JGithubStatusesTest.php index 4e146f7746659..ede609e646eb7 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubStatusesTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubStatusesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubTest.php b/tests/unit/suites/libraries/joomla/github/JGithubTest.php index 9b688833bf04c..97a7c8bed8c27 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/JGithubUsersTest.php b/tests/unit/suites/libraries/joomla/github/JGithubUsersTest.php index 29a2f7974974e..858e103437bc4 100644 --- a/tests/unit/suites/libraries/joomla/github/JGithubUsersTest.php +++ b/tests/unit/suites/libraries/joomla/github/JGithubUsersTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/activity/JGithubPackageActivityEventsTest.php b/tests/unit/suites/libraries/joomla/github/activity/JGithubPackageActivityEventsTest.php index 4877a3e7588d4..c3e1575a56b1b 100644 --- a/tests/unit/suites/libraries/joomla/github/activity/JGithubPackageActivityEventsTest.php +++ b/tests/unit/suites/libraries/joomla/github/activity/JGithubPackageActivityEventsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/data/JGithubPackageDataRefsTest.php b/tests/unit/suites/libraries/joomla/github/data/JGithubPackageDataRefsTest.php index 10b52254855f5..f2995648e320e 100644 --- a/tests/unit/suites/libraries/joomla/github/data/JGithubPackageDataRefsTest.php +++ b/tests/unit/suites/libraries/joomla/github/data/JGithubPackageDataRefsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/issues/JGithubPackageIssuesMilestonesTest.php b/tests/unit/suites/libraries/joomla/github/issues/JGithubPackageIssuesMilestonesTest.php index c2c0ccfbeb23c..14222e98bed8d 100644 --- a/tests/unit/suites/libraries/joomla/github/issues/JGithubPackageIssuesMilestonesTest.php +++ b/tests/unit/suites/libraries/joomla/github/issues/JGithubPackageIssuesMilestonesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesForksTest.php b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesForksTest.php index 9181eed9a69fb..599b1c707c6a9 100644 --- a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesForksTest.php +++ b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesForksTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ /* diff --git a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesHooksTest.php b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesHooksTest.php index c8a0a6194ef5e..b45423110e410 100644 --- a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesHooksTest.php +++ b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesHooksTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesStatusesTest.php b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesStatusesTest.php index 174c1143e662b..988ed1570c235 100644 --- a/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesStatusesTest.php +++ b/tests/unit/suites/libraries/joomla/github/repositories/JGithubPackageRepositoriesStatusesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Github * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/github/stubs/JGithubObjectMock.php b/tests/unit/suites/libraries/joomla/github/stubs/JGithubObjectMock.php index 0a68a343001ec..ec9024ac38340 100644 --- a/tests/unit/suites/libraries/joomla/github/stubs/JGithubObjectMock.php +++ b/tests/unit/suites/libraries/joomla/github/stubs/JGithubObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleAuthOauth2Test.php b/tests/unit/suites/libraries/joomla/google/JGoogleAuthOauth2Test.php index 61d5763624861..5ff6edf4e28a3 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleAuthOauth2Test.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleAuthOauth2Test.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataAdsenseTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataAdsenseTest.php index f8df3f35bd560..e545a3f1aa434 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataAdsenseTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataAdsenseTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataCalendarTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataCalendarTest.php index 8a464e7a5b5a3..a74e0c64f653c 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataCalendarTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataCalendarTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaAlbumTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaAlbumTest.php index 87c7006294bfd..69e2d7de2df1e 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaAlbumTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaAlbumTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaPhotoTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaPhotoTest.php index bf658af1711b1..915ab84ad2cd2 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaPhotoTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaPhotoTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaTest.php index f1dbd6e939ce3..76bc6ec1d740d 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPicasaTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusActivitiesTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusActivitiesTest.php index 7f7d09f76ddf0..d5a3e1acf75c5 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusActivitiesTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusActivitiesTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusCommentsTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusCommentsTest.php index 9b911cb9ce151..49d924035778d 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusCommentsTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusCommentsTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusPeopleTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusPeopleTest.php index 370f93e4ed445..7428d90b44c5e 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusPeopleTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusPeopleTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusTest.php index 0a3370d518cac..e5b173b52cec4 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleDataPlusTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleEmbedAnalyticsTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleEmbedAnalyticsTest.php index d9793271bfff1..1cb013e0e2e07 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleEmbedAnalyticsTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleEmbedAnalyticsTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleEmbedMapsTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleEmbedMapsTest.php index 7f13f9565c1f3..a83cceb06a7c1 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleEmbedMapsTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleEmbedMapsTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/google/JGoogleTest.php b/tests/unit/suites/libraries/joomla/google/JGoogleTest.php index 2d2f78ca3c4a7..9313d61877860 100644 --- a/tests/unit/suites/libraries/joomla/google/JGoogleTest.php +++ b/tests/unit/suites/libraries/joomla/google/JGoogleTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/grid/JGridTest.php b/tests/unit/suites/libraries/joomla/grid/JGridTest.php index b07ebdd4f8bea..a9b246569418e 100644 --- a/tests/unit/suites/libraries/joomla/grid/JGridTest.php +++ b/tests/unit/suites/libraries/joomla/grid/JGridTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Grid * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/http/JHttpFactoryTest.php b/tests/unit/suites/libraries/joomla/http/JHttpFactoryTest.php index df9c131d2a1f6..c766d1a198318 100644 --- a/tests/unit/suites/libraries/joomla/http/JHttpFactoryTest.php +++ b/tests/unit/suites/libraries/joomla/http/JHttpFactoryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Http * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/http/JHttpTest.php b/tests/unit/suites/libraries/joomla/http/JHttpTest.php index be273ff6adcdc..541c5484a9eb7 100644 --- a/tests/unit/suites/libraries/joomla/http/JHttpTest.php +++ b/tests/unit/suites/libraries/joomla/http/JHttpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Http * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/http/JHttpTransportTest.php b/tests/unit/suites/libraries/joomla/http/JHttpTransportTest.php index 755c98cae9a37..8510c9258928f 100644 --- a/tests/unit/suites/libraries/joomla/http/JHttpTransportTest.php +++ b/tests/unit/suites/libraries/joomla/http/JHttpTransportTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Http * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/JImageFilterTest.php b/tests/unit/suites/libraries/joomla/image/JImageFilterTest.php index a7ab54907d1f0..c0377df12a7de 100644 --- a/tests/unit/suites/libraries/joomla/image/JImageFilterTest.php +++ b/tests/unit/suites/libraries/joomla/image/JImageFilterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/JImageTest.php b/tests/unit/suites/libraries/joomla/image/JImageTest.php index 8d85ee4aad814..dd202c6c42c87 100644 --- a/tests/unit/suites/libraries/joomla/image/JImageTest.php +++ b/tests/unit/suites/libraries/joomla/image/JImageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBackgroundfillTest.php b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBackgroundfillTest.php index f31570dd68061..c5f8f34b0630c 100644 --- a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBackgroundfillTest.php +++ b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBackgroundfillTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBrightnessTest.php b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBrightnessTest.php index dd18c48ad2547..ed5a9024cb0f1 100644 --- a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBrightnessTest.php +++ b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterBrightnessTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterContrastTest.php b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterContrastTest.php index 219b32acc6bf6..9bc669d7428d4 100644 --- a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterContrastTest.php +++ b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterContrastTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterEdgedetectTest.php b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterEdgedetectTest.php index 2476965bb5408..aab6f50bb1c6d 100644 --- a/tests/unit/suites/libraries/joomla/image/filter/JImageFilterEdgedetectTest.php +++ b/tests/unit/suites/libraries/joomla/image/filter/JImageFilterEdgedetectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/stubs/JImageFilterInspector.php b/tests/unit/suites/libraries/joomla/image/stubs/JImageFilterInspector.php index bfa803495d81f..fd6350762601d 100644 --- a/tests/unit/suites/libraries/joomla/image/stubs/JImageFilterInspector.php +++ b/tests/unit/suites/libraries/joomla/image/stubs/JImageFilterInspector.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/image/stubs/JImageInspector.php b/tests/unit/suites/libraries/joomla/image/stubs/JImageInspector.php index d50dafcd92a1e..a083fa85fced3 100644 --- a/tests/unit/suites/libraries/joomla/image/stubs/JImageInspector.php +++ b/tests/unit/suites/libraries/joomla/image/stubs/JImageInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Image * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/input/JInputCliTest.php b/tests/unit/suites/libraries/joomla/input/JInputCliTest.php index bfba9751a083f..84f29817624a6 100644 --- a/tests/unit/suites/libraries/joomla/input/JInputCliTest.php +++ b/tests/unit/suites/libraries/joomla/input/JInputCliTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Input * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/input/JInputTest.php b/tests/unit/suites/libraries/joomla/input/JInputTest.php index c3502aa2ca636..63540ea393850 100644 --- a/tests/unit/suites/libraries/joomla/input/JInputTest.php +++ b/tests/unit/suites/libraries/joomla/input/JInputTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Input * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMock.php b/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMock.php index bcfa5f24b5200..6b32ca9eebc9a 100644 --- a/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMock.php +++ b/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Input * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMockTracker.php b/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMockTracker.php index c9754eae3707f..257a30ed712e7 100644 --- a/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMockTracker.php +++ b/tests/unit/suites/libraries/joomla/input/stubs/JFilterInputMockTracker.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Input * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/input/stubs/JInputInspector.php b/tests/unit/suites/libraries/joomla/input/stubs/JInputInspector.php index c7feb772529db..f88d8048b500a 100644 --- a/tests/unit/suites/libraries/joomla/input/stubs/JInputInspector.php +++ b/tests/unit/suites/libraries/joomla/input/stubs/JInputInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Input * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/keychain/JKeychainTest.php b/tests/unit/suites/libraries/joomla/keychain/JKeychainTest.php index eb10f74d47c3a..8a2173c1a2866 100644 --- a/tests/unit/suites/libraries/joomla/keychain/JKeychainTest.php +++ b/tests/unit/suites/libraries/joomla/keychain/JKeychainTest.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Keychain * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageHelperTest.php b/tests/unit/suites/libraries/joomla/language/JLanguageHelperTest.php index 9c7a4b6d606cf..db7496379b5cd 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageHelperTest.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageHelperTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageInspector.php b/tests/unit/suites/libraries/joomla/language/JLanguageInspector.php index 527802eae5145..c69608977a736 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageInspector.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageInspector.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * @subpackage Event - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageStemmerTest.php b/tests/unit/suites/libraries/joomla/language/JLanguageStemmerTest.php index 36e79773ab415..ea5b8c7353681 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageStemmerTest.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageStemmerTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageTest.php b/tests/unit/suites/libraries/joomla/language/JLanguageTest.php index f1d9bec5f1092..95555211e6618 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageTest.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageTransliterateTest.php b/tests/unit/suites/libraries/joomla/language/JLanguageTransliterateTest.php index 7092fffdf6212..5219e48249e65 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageTransliterateTest.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageTransliterateTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.localise.php b/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.localise.php index cbcb95d20497a..b3872668275b1 100644 --- a/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.localise.php +++ b/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.localise.php @@ -2,7 +2,7 @@ /** * @package Joomla.Language * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.xml b/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.xml index 4b8f4ebc6c581..440fe466b841b 100644 --- a/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.xml +++ b/tests/unit/suites/libraries/joomla/language/data/language/en-GB/en-GB.xml @@ -6,7 +6,7 @@ <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <copyright>Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>en-GB site language</description> <files> diff --git a/tests/unit/suites/libraries/joomla/language/stemmer/JLanguageStemmerPorterenTest.php b/tests/unit/suites/libraries/joomla/language/stemmer/JLanguageStemmerPorterenTest.php index fde705a941fcf..af24594dd028f 100644 --- a/tests/unit/suites/libraries/joomla/language/stemmer/JLanguageStemmerPorterenTest.php +++ b/tests/unit/suites/libraries/joomla/language/stemmer/JLanguageStemmerPorterenTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCommunicationsTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCommunicationsTest.php index 5ba16f78e2f8e..cbbfec4e94186 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCommunicationsTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCommunicationsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCompaniesTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCompaniesTest.php index 9fd1faac74914..caa4b702f071d 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCompaniesTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinCompaniesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinGroupsTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinGroupsTest.php index 470bc596bbc12..8094ab75e22bd 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinGroupsTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinGroupsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinJobsTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinJobsTest.php index eaefaee0542ea..f6c0421b56ca6 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinJobsTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinJobsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinOAuthTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinOAuthTest.php index fd8e1412568b2..bcb24fb8b431b 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinOAuthTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinOAuthTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinObjectTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinObjectTest.php index 7193e5caeaaff..e361f647c6a08 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinObjectTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinPeopleTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinPeopleTest.php index f2ad12adb37b1..6d48e7d5f1757 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinPeopleTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinPeopleTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinStreamTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinStreamTest.php index f6eef8a15090e..8ceb08969489d 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinStreamTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinStreamTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinTest.php b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinTest.php index eb1cda2c79d0c..3b6d41d522082 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/JLinkedinTest.php +++ b/tests/unit/suites/libraries/joomla/linkedin/JLinkedinTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/linkedin/stubs/JLinkedinObjectMock.php b/tests/unit/suites/libraries/joomla/linkedin/stubs/JLinkedinObjectMock.php index 02958dd142df2..7896dde337623 100644 --- a/tests/unit/suites/libraries/joomla/linkedin/stubs/JLinkedinObjectMock.php +++ b/tests/unit/suites/libraries/joomla/linkedin/stubs/JLinkedinObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Linkedin * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/JLogEntryTest.php b/tests/unit/suites/libraries/joomla/log/JLogEntryTest.php index f1a0b923bb4b4..f4174a9ee6bcb 100644 --- a/tests/unit/suites/libraries/joomla/log/JLogEntryTest.php +++ b/tests/unit/suites/libraries/joomla/log/JLogEntryTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/JLogTest.php b/tests/unit/suites/libraries/joomla/log/JLogTest.php index 007d8fc4894b4..b85ae4046ae75 100644 --- a/tests/unit/suites/libraries/joomla/log/JLogTest.php +++ b/tests/unit/suites/libraries/joomla/log/JLogTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerCallbackTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerCallbackTest.php index 5338c409866ec..6896dc937921b 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerCallbackTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerCallbackTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerDatabaseTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerDatabaseTest.php index 317a2b981ddca..31268499b16c5 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerDatabaseTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerDatabaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerEchoTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerEchoTest.php index 3a4b5cb66cc3d..63f725ea26d39 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerEchoTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerEchoTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerFormattedTextTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerFormattedTextTest.php index d04a4ee64a669..fa7fdd1951d82 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerFormattedTextTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerFormattedTextTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerMessageQueueTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerMessageQueueTest.php index 79080a6b798c8..e6d8269b61a04 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerMessageQueueTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerMessageQueueTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerW3CTest.php b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerW3CTest.php index 567a6351bd2f5..6188ab62e2a49 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerW3CTest.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/JLogLoggerW3CTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/helper.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/helper.php index d9c1837ecd9c4..ac421ea246138 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/helper.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/helper.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/inspector.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/inspector.php index 44ba20821be96..70ba1c149b653 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/inspector.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/callback/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/database/inspector.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/database/inspector.php index c8bb5e1f56ecc..669e256f08cd5 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/database/inspector.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/database/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/formattedtext/inspector.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/formattedtext/inspector.php index d170f7973ce6a..84dead3343f2e 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/formattedtext/inspector.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/formattedtext/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/messagequeue/mock.application.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/messagequeue/mock.application.php index 00e41c3f7b181..63ee37adea842 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/messagequeue/mock.application.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/messagequeue/mock.application.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/loggers/stubs/w3c/inspector.php b/tests/unit/suites/libraries/joomla/log/loggers/stubs/w3c/inspector.php index 4ab5ca6372f4f..539ab2ef13117 100644 --- a/tests/unit/suites/libraries/joomla/log/loggers/stubs/w3c/inspector.php +++ b/tests/unit/suites/libraries/joomla/log/loggers/stubs/w3c/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/log/stubs/log/inspector.php b/tests/unit/suites/libraries/joomla/log/stubs/log/inspector.php index 58485827ebeb0..02cdb5ce806dc 100644 --- a/tests/unit/suites/libraries/joomla/log/stubs/log/inspector.php +++ b/tests/unit/suites/libraries/joomla/log/stubs/log/inspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Log * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mail/JMailHelperTest.php b/tests/unit/suites/libraries/joomla/mail/JMailHelperTest.php index 66cd875311493..24df4bc598660 100644 --- a/tests/unit/suites/libraries/joomla/mail/JMailHelperTest.php +++ b/tests/unit/suites/libraries/joomla/mail/JMailHelperTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mail/JMailTest.php b/tests/unit/suites/libraries/joomla/mail/JMailTest.php index 4cace6431c8d7..2b1e93815ad36 100644 --- a/tests/unit/suites/libraries/joomla/mail/JMailTest.php +++ b/tests/unit/suites/libraries/joomla/mail/JMailTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mail * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiCategoriesTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiCategoriesTest.php index 1d3e1f0847fcf..6bf328087b81e 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiCategoriesTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiCategoriesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiHttpTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiHttpTest.php index 2f92d68c30d8a..f1d88ef787b98 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiHttpTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiHttpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiImagesTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiImagesTest.php index 48f86a6e07d7f..f8ec5ffb8e819 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiImagesTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiImagesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiLinksTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiLinksTest.php index 45e7f2f51309b..2ebe78bd706de 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiLinksTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiLinksTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiObjectTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiObjectTest.php index 29b2107df0743..a7e2a69073679 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiObjectTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiPagesTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiPagesTest.php index ff62ce9e13628..c62542338d685 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiPagesTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiPagesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSearchTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSearchTest.php index eb1a4cc77e6e5..7d5e88c16fd22 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSearchTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSearchTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSitesTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSitesTest.php index ebb246c010092..5b932760c84ac 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSitesTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiSitesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiTest.php index be7c1545b5fbe..1eda0e335074c 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiUsersTest.php b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiUsersTest.php index de431434d7fb7..8059af5373e57 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiUsersTest.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/JMediawikiUsersTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Mediawiki * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/mediawiki/stubs/JMediawikiObjectMock.php b/tests/unit/suites/libraries/joomla/mediawiki/stubs/JMediawikiObjectMock.php index dca16a6078feb..02d386b4fa379 100644 --- a/tests/unit/suites/libraries/joomla/mediawiki/stubs/JMediawikiObjectMock.php +++ b/tests/unit/suites/libraries/joomla/mediawiki/stubs/JMediawikiObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php b/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php index 95e4d9868770f..4a5d7080593e7 100644 --- a/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php +++ b/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Microdata * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/model/JModelBaseTest.php b/tests/unit/suites/libraries/joomla/model/JModelBaseTest.php index 8069588d309a1..dd47eec936ce3 100644 --- a/tests/unit/suites/libraries/joomla/model/JModelBaseTest.php +++ b/tests/unit/suites/libraries/joomla/model/JModelBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/model/JModelDatabaseTest.php b/tests/unit/suites/libraries/joomla/model/JModelDatabaseTest.php index 03ee1ab828393..9626881f756f1 100644 --- a/tests/unit/suites/libraries/joomla/model/JModelDatabaseTest.php +++ b/tests/unit/suites/libraries/joomla/model/JModelDatabaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/model/stubs/tbase.php b/tests/unit/suites/libraries/joomla/model/stubs/tbase.php index ccdcae0cc275a..b4e377adae730 100644 --- a/tests/unit/suites/libraries/joomla/model/stubs/tbase.php +++ b/tests/unit/suites/libraries/joomla/model/stubs/tbase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/model/stubs/tdatabase.php b/tests/unit/suites/libraries/joomla/model/stubs/tdatabase.php index ecad5cab11451..ee81fde162401 100644 --- a/tests/unit/suites/libraries/joomla/model/stubs/tdatabase.php +++ b/tests/unit/suites/libraries/joomla/model/stubs/tdatabase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/oauth1/JOAuth1ClientTest.php b/tests/unit/suites/libraries/joomla/oauth1/JOAuth1ClientTest.php index 2fc4de674c22e..52459216239ae 100644 --- a/tests/unit/suites/libraries/joomla/oauth1/JOAuth1ClientTest.php +++ b/tests/unit/suites/libraries/joomla/oauth1/JOAuth1ClientTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage OAuth * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/oauth1/stubs/JOAuth1ClientInspector.php b/tests/unit/suites/libraries/joomla/oauth1/stubs/JOAuth1ClientInspector.php index f283d03a02678..6261fe9d6d9ac 100644 --- a/tests/unit/suites/libraries/joomla/oauth1/stubs/JOAuth1ClientInspector.php +++ b/tests/unit/suites/libraries/joomla/oauth1/stubs/JOAuth1ClientInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage OAuth * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/oauth2/JOauth2ClientTest.php b/tests/unit/suites/libraries/joomla/oauth2/JOauth2ClientTest.php index 04d167860aa51..6a08ebc381ff3 100644 --- a/tests/unit/suites/libraries/joomla/oauth2/JOauth2ClientTest.php +++ b/tests/unit/suites/libraries/joomla/oauth2/JOauth2ClientTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Client * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/object/JObjectTest.php b/tests/unit/suites/libraries/joomla/object/JObjectTest.php index 94636cb4fe057..5ed36c9196137 100644 --- a/tests/unit/suites/libraries/joomla/object/JObjectTest.php +++ b/tests/unit/suites/libraries/joomla/object/JObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Base * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php index cba7323d011c9..b4920c5fc8342 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapChangesetsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapElementsTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapElementsTest.php index fbe524f5c3fcf..78ed8b74cd83f 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapElementsTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapElementsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapGpsTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapGpsTest.php index ae7fec8132d19..e2537f6351655 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapGpsTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapGpsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapInfoTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapInfoTest.php index 56d568dc96606..f0df50d360fb1 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapInfoTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapInfoTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapOauthTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapOauthTest.php index 86fcc29c2894e..18f4760d31617 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapOauthTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapOauthTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapObjectTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapObjectTest.php index a0143041118ad..6878e8efa6d23 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapObjectTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapTest.php index bbaae3890dd9a..175a0a47540f1 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapUserTest.php b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapUserTest.php index d821baa462fe3..50c95e774c45a 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapUserTest.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/JOpenstreetmapUserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/openstreetmap/stubs/JOpenstreetmapObjectMock.php b/tests/unit/suites/libraries/joomla/openstreetmap/stubs/JOpenstreetmapObjectMock.php index b7ba3415581bf..351a422b7ab78 100644 --- a/tests/unit/suites/libraries/joomla/openstreetmap/stubs/JOpenstreetmapObjectMock.php +++ b/tests/unit/suites/libraries/joomla/openstreetmap/stubs/JOpenstreetmapObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Openstreetmap * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/JSessionStorageTest.php b/tests/unit/suites/libraries/joomla/session/JSessionStorageTest.php index 11f03ced50276..e82bb0dfc58df 100644 --- a/tests/unit/suites/libraries/joomla/session/JSessionStorageTest.php +++ b/tests/unit/suites/libraries/joomla/session/JSessionStorageTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/JSessionTest.php b/tests/unit/suites/libraries/joomla/session/JSessionTest.php index bba5e3e06b735..87dbbe0136f14 100644 --- a/tests/unit/suites/libraries/joomla/session/JSessionTest.php +++ b/tests/unit/suites/libraries/joomla/session/JSessionTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/handler/array.php b/tests/unit/suites/libraries/joomla/session/handler/array.php index a71d793b16e0a..9e7d8eb7994df 100644 --- a/tests/unit/suites/libraries/joomla/session/handler/array.php +++ b/tests/unit/suites/libraries/joomla/session/handler/array.php @@ -3,7 +3,7 @@ * @package Joomla.Platform * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageApcTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageApcTest.php index 98d05bf4560c8..e8a4dd86a9f2d 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageApcTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageApcTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageDatabaseTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageDatabaseTest.php index c676d61589887..ccdd1c8ee0bc9 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageDatabaseTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageDatabaseTest.php @@ -2,7 +2,7 @@ /** * @package Joomla.UnitTest * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageMemcacheTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageMemcacheTest.php index a24ff1eacc8cd..1227c492c9286 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageMemcacheTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageMemcacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageNoneTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageNoneTest.php index b713d6e20b6c6..42cdde2b29352 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageNoneTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageNoneTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageWincacheTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageWincacheTest.php index a1ad60a5ecab2..15548a62545db 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageWincacheTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageWincacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageXcacheTest.php b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageXcacheTest.php index 9ec32687fe31b..b3748d4064bd9 100644 --- a/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageXcacheTest.php +++ b/tests/unit/suites/libraries/joomla/session/storage/JSessionStorageXcacheTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Session * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/JTableExtensionTest.php b/tests/unit/suites/libraries/joomla/table/JTableExtensionTest.php index 4ad38193946e9..695772af66c91 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableExtensionTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableExtensionTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/JTableLanguageTest.php b/tests/unit/suites/libraries/joomla/table/JTableLanguageTest.php index a5d09b41f75b1..f2cfca82e6048 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableLanguageTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableLanguageTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/JTableNestedTest.php b/tests/unit/suites/libraries/joomla/table/JTableNestedTest.php index c1217a5429aa7..202853ff46bfe 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableNestedTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableNestedTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/JTableTest.php b/tests/unit/suites/libraries/joomla/table/JTableTest.php index 67c34149f3b04..40eda68d5ea80 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/JTableUserTest.php b/tests/unit/suites/libraries/joomla/table/JTableUserTest.php index 59e6cc39e88e5..587e601cd13a8 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableUserTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableUserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/stubs/dbtestcomposite.php b/tests/unit/suites/libraries/joomla/table/stubs/dbtestcomposite.php index 0f7e0981be917..817e3b173fc71 100644 --- a/tests/unit/suites/libraries/joomla/table/stubs/dbtestcomposite.php +++ b/tests/unit/suites/libraries/joomla/table/stubs/dbtestcomposite.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/table/stubs/nested.php b/tests/unit/suites/libraries/joomla/table/stubs/nested.php index 8abbcf972956b..0038a4feec9f9 100644 --- a/tests/unit/suites/libraries/joomla/table/stubs/nested.php +++ b/tests/unit/suites/libraries/joomla/table/stubs/nested.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Table * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterBlockTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterBlockTest.php index 6196d9ff4f3de..96ded792c0af8 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterBlockTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterBlockTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterDirectmessagesTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterDirectmessagesTest.php index 8a4b5a404a82b..5da0b27347608 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterDirectmessagesTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterDirectmessagesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterFavoritesTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterFavoritesTest.php index 2ddd3c1f9b780..d3925c752ec63 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterFavoritesTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterFavoritesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterFriendsTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterFriendsTest.php index 104f716c460b1..3e25ec41e16fd 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterFriendsTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterFriendsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterHelpTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterHelpTest.php index 6c366c2ea9cd0..da95976a8389e 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterHelpTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterHelpTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterListsTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterListsTest.php index 07cffd41d91ea..979411c88f832 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterListsTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterListsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterOauthTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterOauthTest.php index c27f2c77bf484..74a019657bbc0 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterOauthTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterOauthTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterObjectTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterObjectTest.php index d06cf3c972ee6..00ea21c5c7f77 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterObjectTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterObjectTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterPlacesTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterPlacesTest.php index 81200adc5de2b..5153c3b89dafb 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterPlacesTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterPlacesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterProfileTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterProfileTest.php index e0c86052461f8..f530a96a02869 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterProfileTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterProfileTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterSearchTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterSearchTest.php index 199fd4ca81821..868381c96bf6f 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterSearchTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterSearchTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterStatusesTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterStatusesTest.php index ab6fbf713bd84..3e7e7fd0f9ac8 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterStatusesTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterStatusesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterTest.php index b487885f5d814..78efb859f62f9 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterTrendsTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterTrendsTest.php index e813b09baa6d8..2f8c9c0f6ebd7 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterTrendsTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterTrendsTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/JTwitterUsersTest.php b/tests/unit/suites/libraries/joomla/twitter/JTwitterUsersTest.php index 16e9ce996cf75..f3ae05d5b39a1 100644 --- a/tests/unit/suites/libraries/joomla/twitter/JTwitterUsersTest.php +++ b/tests/unit/suites/libraries/joomla/twitter/JTwitterUsersTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/twitter/stubs/JTwitterObjectMock.php b/tests/unit/suites/libraries/joomla/twitter/stubs/JTwitterObjectMock.php index f816f56f0431f..ec4684f645460 100644 --- a/tests/unit/suites/libraries/joomla/twitter/stubs/JTwitterObjectMock.php +++ b/tests/unit/suites/libraries/joomla/twitter/stubs/JTwitterObjectMock.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Twitter * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/uri/JURITest.php b/tests/unit/suites/libraries/joomla/uri/JURITest.php index f81b49ed6641d..82fcfdf9d5cd8 100644 --- a/tests/unit/suites/libraries/joomla/uri/JURITest.php +++ b/tests/unit/suites/libraries/joomla/uri/JURITest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Uri * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/user/JAuthenticationTest.php b/tests/unit/suites/libraries/joomla/user/JAuthenticationTest.php index cd9c67796c158..ce1e43917eeb0 100644 --- a/tests/unit/suites/libraries/joomla/user/JAuthenticationTest.php +++ b/tests/unit/suites/libraries/joomla/user/JAuthenticationTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/user/JUserHelperTest.php b/tests/unit/suites/libraries/joomla/user/JUserHelperTest.php index ae44fed4df8be..906b3a9001d29 100644 --- a/tests/unit/suites/libraries/joomla/user/JUserHelperTest.php +++ b/tests/unit/suites/libraries/joomla/user/JUserHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/user/JUserTest.php b/tests/unit/suites/libraries/joomla/user/JUserTest.php index b3b1de94784aa..0194b279b7e44 100644 --- a/tests/unit/suites/libraries/joomla/user/JUserTest.php +++ b/tests/unit/suites/libraries/joomla/user/JUserTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/user/stubs/FakeAuthenticationPlugin.php b/tests/unit/suites/libraries/joomla/user/stubs/FakeAuthenticationPlugin.php index 7c3a099952b5a..d24a395e61d4d 100644 --- a/tests/unit/suites/libraries/joomla/user/stubs/FakeAuthenticationPlugin.php +++ b/tests/unit/suites/libraries/joomla/user/stubs/FakeAuthenticationPlugin.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage User * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/utilities/JArrayHelperTest.php b/tests/unit/suites/libraries/joomla/utilities/JArrayHelperTest.php index 159709a20c874..799d81938fb30 100644 --- a/tests/unit/suites/libraries/joomla/utilities/JArrayHelperTest.php +++ b/tests/unit/suites/libraries/joomla/utilities/JArrayHelperTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Utilities * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/utilities/JBufferTest.php b/tests/unit/suites/libraries/joomla/utilities/JBufferTest.php index 65e1abca1b2db..1f95f6b531965 100644 --- a/tests/unit/suites/libraries/joomla/utilities/JBufferTest.php +++ b/tests/unit/suites/libraries/joomla/utilities/JBufferTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Utilities * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/utilities/JUtilityTest.php b/tests/unit/suites/libraries/joomla/utilities/JUtilityTest.php index 4ffebc749b413..86dd6289b56a0 100644 --- a/tests/unit/suites/libraries/joomla/utilities/JUtilityTest.php +++ b/tests/unit/suites/libraries/joomla/utilities/JUtilityTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Utilities * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/view/JViewBaseTest.php b/tests/unit/suites/libraries/joomla/view/JViewBaseTest.php index 3490c5b67cad1..76b3c94d79aa1 100644 --- a/tests/unit/suites/libraries/joomla/view/JViewBaseTest.php +++ b/tests/unit/suites/libraries/joomla/view/JViewBaseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/view/JViewHtmlTest.php b/tests/unit/suites/libraries/joomla/view/JViewHtmlTest.php index 7c50de3cf06e8..869829073ab7b 100644 --- a/tests/unit/suites/libraries/joomla/view/JViewHtmlTest.php +++ b/tests/unit/suites/libraries/joomla/view/JViewHtmlTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/view/mocks/JModelMock.php b/tests/unit/suites/libraries/joomla/view/mocks/JModelMock.php index e405f64b588a6..c96dd44914c89 100644 --- a/tests/unit/suites/libraries/joomla/view/mocks/JModelMock.php +++ b/tests/unit/suites/libraries/joomla/view/mocks/JModelMock.php @@ -1,7 +1,7 @@ <?php /** * @package Joomla.UnitTest - * @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. * @license GNU General Public License */ diff --git a/tests/unit/suites/libraries/joomla/view/stubs/tbase.php b/tests/unit/suites/libraries/joomla/view/stubs/tbase.php index e49217458e506..7bd1883f9cb01 100644 --- a/tests/unit/suites/libraries/joomla/view/stubs/tbase.php +++ b/tests/unit/suites/libraries/joomla/view/stubs/tbase.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/joomla/view/stubs/thtml.php b/tests/unit/suites/libraries/joomla/view/stubs/thtml.php index 1728f22ff3a02..828f7186d22ec 100644 --- a/tests/unit/suites/libraries/joomla/view/stubs/thtml.php +++ b/tests/unit/suites/libraries/joomla/view/stubs/thtml.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/application/JApplicationTest.php b/tests/unit/suites/libraries/legacy/application/JApplicationTest.php index 4410e6a34ec2c..92a31d93fc6fd 100644 --- a/tests/unit/suites/libraries/legacy/application/JApplicationTest.php +++ b/tests/unit/suites/libraries/legacy/application/JApplicationTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Application * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/categories/JCategoriesTest.php b/tests/unit/suites/libraries/legacy/categories/JCategoriesTest.php index 228c4c67afc28..52a3d10304913 100644 --- a/tests/unit/suites/libraries/legacy/categories/JCategoriesTest.php +++ b/tests/unit/suites/libraries/legacy/categories/JCategoriesTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Categories * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/controller/JControllerFormTest.php b/tests/unit/suites/libraries/legacy/controller/JControllerFormTest.php index 42d8d09eed121..dec084b6b3e2c 100644 --- a/tests/unit/suites/libraries/legacy/controller/JControllerFormTest.php +++ b/tests/unit/suites/libraries/legacy/controller/JControllerFormTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/controller/JControllerLegacyTest.php b/tests/unit/suites/libraries/legacy/controller/JControllerLegacyTest.php index fec2477424fa7..4a29440a64061 100644 --- a/tests/unit/suites/libraries/legacy/controller/JControllerLegacyTest.php +++ b/tests/unit/suites/libraries/legacy/controller/JControllerLegacyTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/controller/stubs/controller.php b/tests/unit/suites/libraries/legacy/controller/stubs/controller.php index 061115b6acf49..a21a05ca3e80a 100644 --- a/tests/unit/suites/libraries/legacy/controller/stubs/controller.php +++ b/tests/unit/suites/libraries/legacy/controller/stubs/controller.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/controller/stubs/controllerform.php b/tests/unit/suites/libraries/legacy/controller/stubs/controllerform.php index f4894e79bab6a..76c72d15becbe 100644 --- a/tests/unit/suites/libraries/legacy/controller/stubs/controllerform.php +++ b/tests/unit/suites/libraries/legacy/controller/stubs/controllerform.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Controller * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/error/JErrorInspector.php b/tests/unit/suites/libraries/legacy/error/JErrorInspector.php index 5da90e7adf61d..081a13055f480 100644 --- a/tests/unit/suites/libraries/legacy/error/JErrorInspector.php +++ b/tests/unit/suites/libraries/legacy/error/JErrorInspector.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Error * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/error/JErrorTest.php b/tests/unit/suites/libraries/legacy/error/JErrorTest.php index b9daf05428c3c..e9ca16413469a 100644 --- a/tests/unit/suites/libraries/legacy/error/JErrorTest.php +++ b/tests/unit/suites/libraries/legacy/error/JErrorTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Error * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/JModelAdminTest.php b/tests/unit/suites/libraries/legacy/model/JModelAdminTest.php index 68dc1c83bb8e1..fa4481606f11e 100644 --- a/tests/unit/suites/libraries/legacy/model/JModelAdminTest.php +++ b/tests/unit/suites/libraries/legacy/model/JModelAdminTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/JModelFormTest.php b/tests/unit/suites/libraries/legacy/model/JModelFormTest.php index 5e21f90173d5a..860cd40232f95 100644 --- a/tests/unit/suites/libraries/legacy/model/JModelFormTest.php +++ b/tests/unit/suites/libraries/legacy/model/JModelFormTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/JModelItemTest.php b/tests/unit/suites/libraries/legacy/model/JModelItemTest.php index e75b80fcd18ed..470f51cd99aaa 100644 --- a/tests/unit/suites/libraries/legacy/model/JModelItemTest.php +++ b/tests/unit/suites/libraries/legacy/model/JModelItemTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/JModelLegacyTest.php b/tests/unit/suites/libraries/legacy/model/JModelLegacyTest.php index 1f073524aa639..66a513503280b 100644 --- a/tests/unit/suites/libraries/legacy/model/JModelLegacyTest.php +++ b/tests/unit/suites/libraries/legacy/model/JModelLegacyTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/JModelListTest.php b/tests/unit/suites/libraries/legacy/model/JModelListTest.php index 02e3c3c68f1d8..ab02ddf818d3b 100644 --- a/tests/unit/suites/libraries/legacy/model/JModelListTest.php +++ b/tests/unit/suites/libraries/legacy/model/JModelListTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/constructorexceptiontest.php b/tests/unit/suites/libraries/legacy/model/stubs/constructorexceptiontest.php index e54e1bb21bdbe..0b26c2d759a0a 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/constructorexceptiontest.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/constructorexceptiontest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/foobar.php b/tests/unit/suites/libraries/legacy/model/stubs/foobar.php index 2601dff6ed648..bdd4bb00ae7e9 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/foobar.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/foobar.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/lead.php b/tests/unit/suites/libraries/legacy/model/stubs/lead.php index ef8887a711838..bdf12fcb55e8b 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/lead.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/lead.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/listmodelexceptiontest.php b/tests/unit/suites/libraries/legacy/model/stubs/listmodelexceptiontest.php index 433304de222eb..e13d20efee05c 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/listmodelexceptiontest.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/listmodelexceptiontest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/listmodeltest.php b/tests/unit/suites/libraries/legacy/model/stubs/listmodeltest.php index d929976a85a60..5364b071f4f76 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/listmodeltest.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/listmodeltest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/name.php b/tests/unit/suites/libraries/legacy/model/stubs/name.php index 5a191dd6d0ffb..0cabd05ceead9 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/name.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/name.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/model/stubs/room.php b/tests/unit/suites/libraries/legacy/model/stubs/room.php index ceec615bffeab..8aca5f07a9a03 100644 --- a/tests/unit/suites/libraries/legacy/model/stubs/room.php +++ b/tests/unit/suites/libraries/legacy/model/stubs/room.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Model * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/response/JResponseTest.php b/tests/unit/suites/libraries/legacy/response/JResponseTest.php index 6356498b2b1eb..5fa65eeeff291 100644 --- a/tests/unit/suites/libraries/legacy/response/JResponseTest.php +++ b/tests/unit/suites/libraries/legacy/response/JResponseTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Response * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/table/JTableContentTest.php b/tests/unit/suites/libraries/legacy/table/JTableContentTest.php index fd19a29f0d102..38d13c38bf23e 100644 --- a/tests/unit/suites/libraries/legacy/table/JTableContentTest.php +++ b/tests/unit/suites/libraries/legacy/table/JTableContentTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Database * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/JViewLegacyTest.php b/tests/unit/suites/libraries/legacy/view/JViewLegacyTest.php index c2296c21f50f0..52d87a0038df2 100644 --- a/tests/unit/suites/libraries/legacy/view/JViewLegacyTest.php +++ b/tests/unit/suites/libraries/legacy/view/JViewLegacyTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/stubs/ContentViewArticle.php b/tests/unit/suites/libraries/legacy/view/stubs/ContentViewArticle.php index 77bf37c8efcf8..e5fb14f9026ec 100644 --- a/tests/unit/suites/libraries/legacy/view/stubs/ContentViewArticle.php +++ b/tests/unit/suites/libraries/legacy/view/stubs/ContentViewArticle.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/stubs/ContentViewHtml.php b/tests/unit/suites/libraries/legacy/view/stubs/ContentViewHtml.php index cb3be73ec641f..e31fd098ee91f 100644 --- a/tests/unit/suites/libraries/legacy/view/stubs/ContentViewHtml.php +++ b/tests/unit/suites/libraries/legacy/view/stubs/ContentViewHtml.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/stubs/ExampleViewSEOHtml.php b/tests/unit/suites/libraries/legacy/view/stubs/ExampleViewSEOHtml.php index 8aaab7a771fc7..4711d300787c8 100644 --- a/tests/unit/suites/libraries/legacy/view/stubs/ExampleViewSEOHtml.php +++ b/tests/unit/suites/libraries/legacy/view/stubs/ExampleViewSEOHtml.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaList.php b/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaList.php index e9a0c24504302..b716afd0232b9 100644 --- a/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaList.php +++ b/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaList.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaListItemsHtml.php b/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaListItemsHtml.php index 1357f21967d37..c423f8b882e54 100644 --- a/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaListItemsHtml.php +++ b/tests/unit/suites/libraries/legacy/view/stubs/MediaViewMediaListItemsHtml.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage View * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/tests/unit/suites/plugins/content/emailcloak/PlgContentEmailcloakTest.php b/tests/unit/suites/plugins/content/emailcloak/PlgContentEmailcloakTest.php index 7ce4c4b31af8a..7eccf0ed30a8f 100644 --- a/tests/unit/suites/plugins/content/emailcloak/PlgContentEmailcloakTest.php +++ b/tests/unit/suites/plugins/content/emailcloak/PlgContentEmailcloakTest.php @@ -3,7 +3,7 @@ * @package Joomla.UnitTest * @subpackage Plugins * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ From 6de2b00858e91bd64e7c410a6ed617d455f62d64 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Sat, 20 Jan 2018 11:18:34 -0600 Subject: [PATCH 049/255] Reset for dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 682447dddd406..8eea93975ec72 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.4-rc</version> + <version>3.8.4-dev</version> <creationDate>January 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 9bf66a82ed441..5cb110c42d2c0 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc'; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '4-rc'; + const DEV_LEVEL = '4-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Build number. From 547318d2fcfbc07a3651e698d3f80d0850b27999 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 20 Jan 2018 19:59:40 +0000 Subject: [PATCH 050/255] Regression in the ISIS backed css PR for #19411 --- administrator/templates/isis/css/template-rtl.css | 3 +++ administrator/templates/isis/css/template.css | 3 +++ administrator/templates/isis/less/blocks/_navbar.less | 3 +++ 3 files changed, 9 insertions(+) diff --git a/administrator/templates/isis/css/template-rtl.css b/administrator/templates/isis/css/template-rtl.css index 816037f7a9ac3..4310159bab055 100644 --- a/administrator/templates/isis/css/template-rtl.css +++ b/administrator/templates/isis/css/template-rtl.css @@ -8113,6 +8113,9 @@ body .navbar-fixed-top { .navbar .nav-user { font-size: 13px; } +.navbar .nav-user .dropdown-menu li span { + padding-left: 10px; +} .navbar .nav > li ul { overflow-y: auto; overflow-x: hidden; diff --git a/administrator/templates/isis/css/template.css b/administrator/templates/isis/css/template.css index 10a3070be2402..46d6735c158a0 100644 --- a/administrator/templates/isis/css/template.css +++ b/administrator/templates/isis/css/template.css @@ -8113,6 +8113,9 @@ body .navbar-fixed-top { .navbar .nav-user { font-size: 13px; } +.navbar .nav-user .dropdown-menu li span { + padding-left: 10px; +} .navbar .nav > li ul { overflow-y: auto; overflow-x: hidden; diff --git a/administrator/templates/isis/less/blocks/_navbar.less b/administrator/templates/isis/less/blocks/_navbar.less index 8552ba4062d5a..e6eece66a91e3 100644 --- a/administrator/templates/isis/less/blocks/_navbar.less +++ b/administrator/templates/isis/less/blocks/_navbar.less @@ -70,6 +70,9 @@ body .navbar-fixed-top { .nav-user { font-size: 13px; } + .nav-user .dropdown-menu li span { + padding-left: 10px; + } .nav > li ul { overflow-y: auto; overflow-x: hidden; From cfda73d15f6fd641659679c5abecc2f4a2b96558 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sun, 21 Jan 2018 19:12:15 +0100 Subject: [PATCH 051/255] Regression: Isis RTL forgotten in 19417 (#19423) --- administrator/templates/isis/css/template-rtl.css | 4 ++++ administrator/templates/isis/less/template-rtl.less | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/administrator/templates/isis/css/template-rtl.css b/administrator/templates/isis/css/template-rtl.css index 4310159bab055..5f2b04679dc7f 100644 --- a/administrator/templates/isis/css/template-rtl.css +++ b/administrator/templates/isis/css/template-rtl.css @@ -9733,6 +9733,10 @@ input[type="url"] { background-color: rgba(0,0,0,0.5); -webkit-box-shadow: 0 0 1px rgba(255,255,255,0.5); } +.navbar .nav-user .dropdown-menu li span { + padding-left: 0; + padding-right: 10px; +} .navbar .nav > .dropdown.open:after { right: 10px; width: 0; diff --git a/administrator/templates/isis/less/template-rtl.less b/administrator/templates/isis/less/template-rtl.less index e771ce124ffe6..3ca5205be3e5e 100644 --- a/administrator/templates/isis/less/template-rtl.less +++ b/administrator/templates/isis/less/template-rtl.less @@ -37,6 +37,10 @@ } } } + .nav-user .dropdown-menu li span { + padding-left: 0; + padding-right: 10px; + } .nav > .dropdown.open:after { right: 10px; width: 0; From 01a9147d2a6561e0389d16fcdc3e5dc31299bfc3 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Tue, 23 Jan 2018 15:18:30 +0100 Subject: [PATCH 052/255] [com_content] - archived legacy SEF fix (#19397) * [com_content] - archived legacy sef fix * cs --- .../com_content/helpers/legacyrouter.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/components/com_content/helpers/legacyrouter.php b/components/com_content/helpers/legacyrouter.php index 5b2dc90e03907..4529c8c942399 100644 --- a/components/com_content/helpers/legacyrouter.php +++ b/components/com_content/helpers/legacyrouter.php @@ -237,7 +237,7 @@ public function build(&$query, &$segments) } } - if (isset($query['year']) && isset($query['month'])) + if (isset($query['month'])) { if ($menuItemGiven) { @@ -384,7 +384,7 @@ public function parse(&$segments, &$vars) * because the first segment will have the target category id prepended to it. If the * last segment has a number prepended, it is an article, otherwise, it is a category. */ - if (!$advanced) + if ((!$advanced) && ($item->query['view'] !== 'archive')) { $cat_id = (int) $segments[0]; @@ -405,6 +405,16 @@ public function parse(&$segments, &$vars) return; } + // Manage the archive view + if ($item->query['view'] == 'archive' && $count !== 1) + { + $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; + $vars['month'] = $segments[$count - 1]; + $vars['view'] = 'archive'; + + return; + } + // We get the category id from the menu item and search from there $id = $item->query['id']; $category = JCategories::getInstance('Content')->get($id); @@ -456,18 +466,8 @@ public function parse(&$segments, &$vars) $cid = $segment; } - $vars['id'] = $cid; - - if ($item->query['view'] == 'archive' && $count != 1) - { - $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; - $vars['month'] = $segments[$count - 1]; - $vars['view'] = 'archive'; - } - else - { - $vars['view'] = 'article'; - } + $vars['id'] = $cid; + $vars['view'] = 'article'; } $found = 0; From 1b7593b272af155090eca8f7d6db1052410e6379 Mon Sep 17 00:00:00 2001 From: Lodder <lodder15@hotmail.co.uk> Date: Wed, 24 Jan 2018 14:21:57 +0000 Subject: [PATCH 053/255] Fix media manager 'up' button (#19443) --- .../com_media/views/images/tmpl/default.php | 21 ++++++++++++------- media/media/js/popup-imagemanager.js | 9 ++++++-- media/media/js/popup-imagemanager.min.js | 2 +- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/administrator/components/com_media/views/images/tmpl/default.php b/administrator/components/com_media/views/images/tmpl/default.php index 4bae246c2554e..1e2dd7a602cea 100644 --- a/administrator/components/com_media/views/images/tmpl/default.php +++ b/administrator/components/com_media/views/images/tmpl/default.php @@ -16,6 +16,8 @@ $onClick = ''; $fieldInput = $this->state->get('field.id'); $isMoo = $input->getInt('ismoo', 1); +$author = $input->getCmd('author'); +$asset = $input->getCmd('asset'); JHtml::_('formbehavior.chosen', 'select'); @@ -23,6 +25,7 @@ JHtml::_('bootstrap.tooltip', '.noHtmlTip', array('html' => false)); // Include jQuery +JHtml::_('behavior.core'); JHtml::_('jquery.framework'); JHtml::_('script', 'media/popup-imagemanager.min.js', array('version' => 'auto', 'relative' => true)); JHtml::_('stylesheet', 'media/popup-imagemanager.css', array('version' => 'auto', 'relative' => true)); @@ -32,10 +35,12 @@ JHtml::_('stylesheet', 'media/popup-imagemanager_rtl.css', array('version' => 'auto', 'relative' => true)); } -JFactory::getDocument()->addScriptDeclaration( - " - var image_base_path = '" . $params->get('image_path', 'images') . "/'; - " +JFactory::getDocument()->addScriptOptions( + 'mediamanager', array( + 'base' => $params->get('image_path', 'images') . '/', + 'asset' => $asset, + 'author' => $author + ) ); /** @@ -60,7 +65,7 @@ ?> <div class="container-popup"> - <form action="index.php?option=com_media&asset=<?php echo $input->getCmd('asset'); ?>&author=<?php echo $input->getCmd('author'); ?>" class="form-vertical" id="imageForm" method="post" enctype="multipart/form-data"> + <form action="index.php?option=com_media&asset=<?php echo $asset; ?>&author=<?php echo $author; ?>" class="form-vertical" id="imageForm" method="post" enctype="multipart/form-data"> <div id="messages" style="display: none;"> <span id="message"></span><?php echo JHtml::_('image', 'media/dots.gif', '...', array('width' => 22, 'height' => 12), true); ?> @@ -86,7 +91,7 @@ </div> </div> - <iframe id="imageframe" name="imageframe" src="index.php?option=com_media&view=imagesList&tmpl=component&folder=<?php echo $this->state->folder; ?>&asset=<?php echo $input->getCmd('asset'); ?>&author=<?php echo $input->getCmd('author'); ?>"></iframe> + <iframe id="imageframe" name="imageframe" src="index.php?option=com_media&view=imagesList&tmpl=component&folder=<?php echo $this->state->folder; ?>&asset=<?php echo $asset; ?>&author=<?php echo $author; ?>"></iframe> <div class="well"> <div class="row-fluid"> @@ -166,7 +171,7 @@ </form> <?php if ($user->authorise('core.create', 'com_media')) : ?> - <form action="<?php echo JUri::base(); ?>index.php?option=com_media&task=file.upload&tmpl=component&<?php echo $this->session->getName() . '=' . $this->session->getId(); ?>&<?php echo JSession::getFormToken(); ?>=1&asset=<?php echo $input->getCmd('asset'); ?>&author=<?php echo $input->getCmd('author'); ?>&view=images" id="uploadForm" class="form-horizontal" name="uploadForm" method="post" enctype="multipart/form-data"> + <form action="<?php echo JUri::base(); ?>index.php?option=com_media&task=file.upload&tmpl=component&<?php echo $this->session->getName() . '=' . $this->session->getId(); ?>&<?php echo JSession::getFormToken(); ?>=1&asset=<?php echo $asset; ?>&author=<?php echo $author; ?>&view=images" id="uploadForm" class="form-horizontal" name="uploadForm" method="post" enctype="multipart/form-data"> <div id="uploadform" class="well"> <fieldset id="upload-noflash" class="actions"> <div class="control-group"> @@ -183,7 +188,7 @@ </div> </div> </fieldset> - <?php JFactory::getSession()->set('com_media.return_url', 'index.php?option=com_media&view=images&tmpl=component&fieldid=' . $input->getCmd('fieldid', '') . '&e_name=' . $input->getCmd('e_name') . '&asset=' . $input->getCmd('asset') . '&author=' . $input->getCmd('author')); ?> + <?php JFactory::getSession()->set('com_media.return_url', 'index.php?option=com_media&view=images&tmpl=component&fieldid=' . $input->getCmd('fieldid', '') . '&e_name=' . $input->getCmd('e_name') . '&asset=' . $asset . '&author=' . $author); ?> </div> </form> <?php endif; ?> diff --git a/media/media/js/popup-imagemanager.js b/media/media/js/popup-imagemanager.js index 051a589898398..b7e656ec50b04 100644 --- a/media/media/js/popup-imagemanager.js +++ b/media/media/js/popup-imagemanager.js @@ -27,6 +27,11 @@ var o = this.getUriObject(window.self.location.href), q = this.getQueryObject(o.query); + var options = Joomla.getOptions('mediamanager'); + + this.author = options.author; + this.base = options.base; + this.asset = options.asset; this.editor = decodeURIComponent(q.e_name); // Setup image manager fields object @@ -206,7 +211,7 @@ search = path.join('/'); this.setFolder(search); - this.setFrameUrl(search); + this.setFrameUrl(search, this.asset, this.author); }, /** @@ -226,7 +231,7 @@ } }); - $("#f_url").val(image_base_path + file); + $("#f_url").val(this.base + file); }, /** diff --git a/media/media/js/popup-imagemanager.min.js b/media/media/js/popup-imagemanager.min.js index d90ed571119cf..04ec4850e2f9c 100644 --- a/media/media/js/popup-imagemanager.min.js +++ b/media/media/js/popup-imagemanager.min.js @@ -1 +1 @@ -!function(a,b){"use strict";window.ImageManager={initialize:function(){var c=this.getUriObject(window.self.location.href),d=this.getQueryObject(c.query);this.editor=decodeURIComponent(d.e_name),this.fields={url:b.getElementById("f_url"),alt:b.getElementById("f_alt"),align:b.getElementById("f_align"),title:b.getElementById("f_title"),caption:b.getElementById("f_caption"),c_class:b.getElementById("f_caption_class")},this.folderlist=b.getElementById("folderlist"),this.frame=window.frames.imageframe,this.frameurl=this.frame.location.href,a("#imageframe").on("load",function(){ImageManager.onloadimageview()}),a("#upbutton").off("click").on("click",function(){ImageManager.upFolder()})},onloadimageview:function(){var e,f,b=this.getImageFolder(),c=a("#uploadForm"),d="";this.frameurl=this.frame.location.href,this.setFolder(b),e=this.getUriObject(c.attr("action")),f=this.getQueryObject(e.query),f.folder=b,e.query=a.param(f),"undefined"!=typeof e.port&&80!=e.port&&(d=":"+e.port),c.attr("action",e.scheme+"://"+e.domain+d+e.path+"?"+e.query)},getImageFolder:function(){return this.getQueryObject(this.frame.location.search.substring(1)).folder},onok:function(){var a="",b=[],c="",d="",e=this.fields.url.value,f=this.fields.alt.value,g=this.fields.align.value,h=this.fields.title.value,i=this.fields.caption.value,j=this.fields.c_class.value;return e&&(b.push('alt="'+f+'"'),g&&!i&&b.push('class="pull-'+g+'"'),h&&b.push('title="'+h+'"'),a='<img src="'+e+'" '+b.join(" ")+"/>",i&&(g&&(c=' class="pull-'+g+'"'),j&&(d=' class="'+j+'"'),a="<figure"+c+">"+a+"<figcaption"+d+">"+i+"</figcaption></figure>")),window.parent.jInsertEditorText(a,this.editor),!0},setFolder:function(b,c,d){for(var e=0,f=this.folderlist.length;e<f;e++)if(b==this.folderlist.options[e].value){this.folderlist.selectedIndex=e,a(this.folderlist).trigger("liszt:updated").trigger("chosen:updated");break}(c||d)&&this.setFrameUrl(b,c,d)},upFolder:function(){var b,a=this.folderlist.value.split("/");a.pop(),b=a.join("/"),this.setFolder(b),this.setFrameUrl(b)},populateFields:function(b){a.each(a("a.img-preview",a("#imageframe").contents()),function(c,d){d.href=="javascript:ImageManager.populateFields('"+b+"')"?a(d,a("#imageframe").contents()).addClass("selected"):a(d,a("#imageframe").contents()).removeClass("selected")}),a("#f_url").val(image_base_path+b)},showMessage:function(b){var c=a("#message");c.find(">:first-child").remove(),c.append(b),a("#messages").css("display","block")},refreshFrame:function(){this.frame.location.href=this.frameurl},setFrameUrl:function(b,c,d){var e={option:"com_media",view:"imagesList",tmpl:"component",asset:c,author:d};this.frameurl="index.php?"+a.param(e)+"&folder="+b,this.frame.location.href=this.frameurl},getQueryObject:function(b){var c={};return a.each((b||"").split(/[&;]/),function(a,b){var d=b.split("=");c[d[0]]=2==d.length?d[1]:null}),c},getUriObject:function(b){var c={},d=b.match(/^(?:([^:\/?#.]+):)?(?:\/\/)?(([^:\/?#]*)(?::(\d*))?)((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[\?#]|$)))*\/?)?([^?#\/]*))?(?:\?([^#]*))?(?:#(.*))?/);return a.each(["uri","scheme","authority","domain","port","path","directory","file","query","fragment"],function(a,b){c[b]=d&&d[a]?d[a]:""}),c}},a(function(){window.ImageManager.initialize()})}(jQuery,document); +!function(e,t){"use strict";window.ImageManager={initialize:function(){var i=this.getUriObject(window.self.location.href),a=this.getQueryObject(i.query),r=Joomla.getOptions("mediamanager");this.author=r.author,this.base=r.base,this.asset=r.asset,this.editor=decodeURIComponent(a.e_name),this.fields={url:t.getElementById("f_url"),alt:t.getElementById("f_alt"),align:t.getElementById("f_align"),title:t.getElementById("f_title"),caption:t.getElementById("f_caption"),c_class:t.getElementById("f_caption_class")},this.folderlist=t.getElementById("folderlist"),this.frame=window.frames.imageframe,this.frameurl=this.frame.location.href,e("#imageframe").on("load",function(){ImageManager.onloadimageview()}),e("#upbutton").off("click").on("click",function(){ImageManager.upFolder()})},onloadimageview:function(){var t,i,a=this.getImageFolder(),r=e("#uploadForm"),s="";this.frameurl=this.frame.location.href,this.setFolder(a),t=this.getUriObject(r.attr("action")),(i=this.getQueryObject(t.query)).folder=a,t.query=e.param(i),void 0!==t.port&&80!=t.port&&(s=":"+t.port),r.attr("action",t.scheme+"://"+t.domain+s+t.path+"?"+t.query)},getImageFolder:function(){return this.getQueryObject(this.frame.location.search.substring(1)).folder},onok:function(){var e="",t=[],i="",a="",r=this.fields.url.value,s=this.fields.alt.value,o=this.fields.align.value,l=this.fields.title.value,n=this.fields.caption.value,c=this.fields.c_class.value;return r&&(t.push('alt="'+s+'"'),o&&!n&&t.push('class="pull-'+o+'"'),l&&t.push('title="'+l+'"'),e='<img src="'+r+'" '+t.join(" ")+"/>",n&&(o&&(i=' class="pull-'+o+'"'),c&&(a=' class="'+c+'"'),e="<figure"+i+">"+e+"<figcaption"+a+">"+n+"</figcaption></figure>")),window.Joomla&&Joomla.editors.instances.hasOwnProperty(this.editor)?Joomla.editors.instances[editor].replaceSelection(e):window.parent.jInsertEditorText(e,this.editor),!0},setFolder:function(t,i,a){for(var r=0,s=this.folderlist.length;r<s;r++)if(t==this.folderlist.options[r].value){this.folderlist.selectedIndex=r,e(this.folderlist).trigger("liszt:updated").trigger("chosen:updated");break}(i||a)&&this.setFrameUrl(t,i,a)},upFolder:function(){var e,t=this.folderlist.value.split("/");t.pop(),e=t.join("/"),this.setFolder(e),this.setFrameUrl(e,this.asset,this.author)},populateFields:function(t){e.each(e("a.img-preview",e("#imageframe").contents()),function(i,a){a.href=="javascript:ImageManager.populateFields('"+t+"')"?e(a,e("#imageframe").contents()).addClass("selected"):e(a,e("#imageframe").contents()).removeClass("selected")}),e("#f_url").val(this.base+t)},showMessage:function(t){var i=e("#message");i.find(">:first-child").remove(),i.append(t),e("#messages").css("display","block")},refreshFrame:function(){this.frame.location.href=this.frameurl},setFrameUrl:function(t,i,a){var r={option:"com_media",view:"imagesList",tmpl:"component",asset:i,author:a};this.frameurl="index.php?"+e.param(r)+"&folder="+t,this.frame.location.href=this.frameurl},getQueryObject:function(t){var i={};return e.each((t||"").split(/[&;]/),function(e,t){var a=t.split("=");i[a[0]]=2==a.length?a[1]:null}),i},getUriObject:function(t){var i={},a=t.match(/^(?:([^:\/?#.]+):)?(?:\/\/)?(([^:\/?#]*)(?::(\d*))?)((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[\?#]|$)))*\/?)?([^?#\/]*))?(?:\?([^#]*))?(?:#(.*))?/);return e.each(["uri","scheme","authority","domain","port","path","directory","file","query","fragment"],function(e,t){i[t]=a&&a[e]?a[e]:""}),i}},e(function(){window.ImageManager.initialize()})}(jQuery,document); \ No newline at end of file From 128a4d467d3773463966c5634f3e4f5ba12bebe6 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Wed, 24 Jan 2018 16:26:45 +0100 Subject: [PATCH 054/255] Regression at createUri from #19099 (#19415) --- .../com_content/views/archive/tmpl/default.php | 4 +--- libraries/src/Router/SiteRouter.php | 7 +++++++ .../suites/libraries/cms/router/JRouterSiteTest.php | 12 ++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/components/com_content/views/archive/tmpl/default.php b/components/com_content/views/archive/tmpl/default.php index e46eae1bffce7..c6b3e33b2984a 100644 --- a/components/com_content/views/archive/tmpl/default.php +++ b/components/com_content/views/archive/tmpl/default.php @@ -21,7 +21,7 @@ </h1> </div> <?php endif; ?> -<form id="adminForm" action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-inline"> +<form id="adminForm" action="<?php echo JRoute::_('index.php?option=com_content&view=archive'); ?>" method="post" class="form-inline"> <fieldset class="filters"> <div class="filter-search"> <?php if ($this->params->get('filter_field') !== 'hide') : ?> @@ -34,8 +34,6 @@ <?php echo $this->form->limitField; ?> <button type="submit" class="btn btn-primary" style="vertical-align: top;"><?php echo JText::_('JGLOBAL_FILTER_BUTTON'); ?></button> - <input type="hidden" name="view" value="archive" /> - <input type="hidden" name="option" value="com_content" /> <input type="hidden" name="limitstart" value="0" /> </div> <br /> diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index a7187f65f8aec..6dbabc1ea02a2 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -716,6 +716,13 @@ protected function createUri($url) { $uri->setVar('option', $option); } + + $itemid = $this->getVar('Itemid'); + + if ($itemid) + { + $uri->setVar('Itemid', $itemid); + } } } else diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index 7e8656a32a603..c2c91c1e9ceef 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -1265,6 +1265,18 @@ public function casesCreateUri() 'preset' => array('option' => 'com_test'), 'expected' => 'index.php?var1=value1&option=com_test' ), + // Check if a URL with no Itemid and no option, but globally set Itemid is added the Itemid + array( + 'url' => 'index.php?var1=value1', + 'preset' => array('Itemid' => '42'), + 'expected' => 'index.php?var1=value1&Itemid=42' + ), + // Check if a URL with no Itemid and no option, but with an option and a global Itemid available, which fits the option of the menu item gets the Itemid and option appended + array( + 'url' => 'index.php?var1=value1', + 'preset' => array('Itemid' => '42', 'option' => 'com_test'), + 'expected' => 'index.php?var1=value1&option=com_test&Itemid=42' + ), ); } From ce336b8cf6f5db07fcb50a0f6d58b25a1588e252 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Thu, 25 Jan 2018 14:24:09 +0100 Subject: [PATCH 055/255] [installer] - sanitize extensions type as lower case (#18416) --- libraries/src/Installer/InstallerAdapter.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/src/Installer/InstallerAdapter.php b/libraries/src/Installer/InstallerAdapter.php index 88ef841e1cf77..86869d25dd107 100644 --- a/libraries/src/Installer/InstallerAdapter.php +++ b/libraries/src/Installer/InstallerAdapter.php @@ -185,6 +185,9 @@ protected function canUninstallPackageChild($packageId) */ protected function checkExistingExtension() { + // Extension type is stored as lowercase on the #__extensions table field type + $this->type = strtolower($this->type); + try { $this->currentExtensionId = $this->extension->find( From fab5637bd0189414c4b226c772dcd416008159f2 Mon Sep 17 00:00:00 2001 From: Thomas Hunziker <werbemails@bakual.ch> Date: Thu, 25 Jan 2018 23:40:46 +0100 Subject: [PATCH 056/255] Fix filter by multiple categories (#19450) * Fix filter by multiple categories * Remove debug code --- administrator/components/com_content/models/articles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/models/articles.php b/administrator/components/com_content/models/articles.php index ea71cb9334c93..c38c16b5d5293 100644 --- a/administrator/components/com_content/models/articles.php +++ b/administrator/components/com_content/models/articles.php @@ -292,7 +292,7 @@ protected function getListQuery() 'c.rgt <= ' . (int) $categoryTable->rgt . ')'; } - $query->where(implode(' OR ', $subCatItemsWhere)); + $query->where('(' . implode(' OR ', $subCatItemsWhere) . ')'); } // Case: Using only the by level filter From 2e661f79bac672048c0ee1fd68a6f3e64d999d99 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Fri, 26 Jan 2018 07:02:05 -0600 Subject: [PATCH 057/255] 2nd Release Candidate for 3.8.4 --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 8eea93975ec72..7ff857268011c 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.4-dev</version> + <version>3.8.4-rc2</version> <creationDate>January 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 5cb110c42d2c0..cf0c225b50bac 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc2'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '4-dev'; + const DEV_LEVEL = '4-rc2'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '20-January-2018'; + const RELDATE = '26-January-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '17:15'; + const RELTIME = '13:15'; /** * Release timezone. From 0155f35c9676a4905dbe82494fc3d1d16c183ee2 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Sat, 27 Jan 2018 17:27:15 +0100 Subject: [PATCH 058/255] Do not add unnecessary parameters in the archive link (#19447) * Do not add unnecessary parameters in the archive link * Remove php notice * Unset parameter month=0 when year is not set --- .../com_content/helpers/legacyrouter.php | 62 ++++++++++++------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/components/com_content/helpers/legacyrouter.php b/components/com_content/helpers/legacyrouter.php index 4529c8c942399..3bf72bdc1dd47 100644 --- a/components/com_content/helpers/legacyrouter.php +++ b/components/com_content/helpers/legacyrouter.php @@ -225,25 +225,34 @@ public function build(&$query, &$segments) if (!$menuItemGiven) { $segments[] = $view; - unset($query['view']); } - if (isset($query['year'])) + unset($query['view']); + + // If there is no year segment then do not add month segment + if (isset($query['year']) && $menuItemGiven) { - if ($menuItemGiven) + if ($query['year']) { $segments[] = $query['year']; - unset($query['year']); + + if (isset($query['month'])) + { + if ($query['month']) + { + $segments[] = $query['month']; + } + + unset($query['month']); + } } + + unset($query['year']); } - if (isset($query['month'])) + if (isset($query['month']) && empty($query['month'])) { - if ($menuItemGiven) - { - $segments[] = $query['month']; - unset($query['month']); - } + unset($query['month']); } } @@ -320,7 +329,7 @@ public function parse(&$segments, &$vars) * Standard routing for articles. If we don't pick up an Itemid then we get the view from the segments * the first segment is the view and the last segment is the id of the article or category. */ - if (!isset($item)) + if ($item === null) { $vars['view'] = $segments[0]; $vars['id'] = $segments[$count - 1]; @@ -328,6 +337,25 @@ public function parse(&$segments, &$vars) return; } + // Manage the archive view + if ($item->query['view'] === 'archive') + { + $vars['view'] = 'archive'; + + if ($count >= 2) + { + $vars['year'] = $segments[$count - 2]; + $vars['month'] = $segments[$count - 1]; + } + else + { + $vars['year'] = $segments[$count - 1]; + $vars['month'] = null; + } + + return; + } + /* * If there is only one segment, then it points to either an article or a category. * We test it first to see if it is a category. If the id and alias match a category, @@ -384,7 +412,7 @@ public function parse(&$segments, &$vars) * because the first segment will have the target category id prepended to it. If the * last segment has a number prepended, it is an article, otherwise, it is a category. */ - if ((!$advanced) && ($item->query['view'] !== 'archive')) + if ((!$advanced)) { $cat_id = (int) $segments[0]; @@ -405,16 +433,6 @@ public function parse(&$segments, &$vars) return; } - // Manage the archive view - if ($item->query['view'] == 'archive' && $count !== 1) - { - $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; - $vars['month'] = $segments[$count - 1]; - $vars['view'] = 'archive'; - - return; - } - // We get the category id from the menu item and search from there $id = $item->query['id']; $category = JCategories::getInstance('Content')->get($id); From 0ec372fdc6ad5ad63082636a0942b3ea39acc7b7 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Mon, 29 Jan 2018 16:46:32 -0600 Subject: [PATCH 059/255] Prepare 3.8.4 release --- .../components/com_admin/models/forms/profile.xml | 1 + .../com_fields/libraries/fieldslistplugin.php | 2 +- .../components/com_users/models/forms/user.xml | 1 + administrator/manifests/files/joomla.xml | 2 +- .../templates/hathor/postinstall/hathormessage.php | 12 ++++++------ components/com_users/models/forms/frontend_admin.xml | 1 + libraries/src/Uri/Uri.php | 3 +++ libraries/src/Version.php | 10 +++++----- templates/protostar/html/modules.php | 4 ++-- templates/system/html/modules.php | 8 ++++---- 10 files changed, 25 insertions(+), 19 deletions(-) diff --git a/administrator/components/com_admin/models/forms/profile.xml b/administrator/components/com_admin/models/forms/profile.xml index 6bc3ac83bd4c2..a9242de35fd0a 100644 --- a/administrator/components/com_admin/models/forms/profile.xml +++ b/administrator/components/com_admin/models/forms/profile.xml @@ -106,6 +106,7 @@ label="COM_ADMIN_USER_FIELD_BACKEND_TEMPLATE_LABEL" description="COM_ADMIN_USER_FIELD_BACKEND_TEMPLATE_DESC" client="administrator" + filter="uint" > <option value="">JOPTION_USE_DEFAULT</option> </field> diff --git a/administrator/components/com_fields/libraries/fieldslistplugin.php b/administrator/components/com_fields/libraries/fieldslistplugin.php index e01ce2ba5d211..2a17117a5ddff 100644 --- a/administrator/components/com_fields/libraries/fieldslistplugin.php +++ b/administrator/components/com_fields/libraries/fieldslistplugin.php @@ -42,7 +42,7 @@ public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm $form foreach ($this->getOptionsFromField($field) as $value => $name) { $option = new DOMElement('option', htmlspecialchars($value, ENT_COMPAT, 'UTF-8')); - $option->nodeValue = htmlspecialchars(JText::_($name), ENT_COMPAT, 'UTF-8'); + $option->textContent = htmlspecialchars(JText::_($name), ENT_COMPAT, 'UTF-8'); $element = $fieldNode->appendChild($option); $element->setAttribute('value', $value); diff --git a/administrator/components/com_users/models/forms/user.xml b/administrator/components/com_users/models/forms/user.xml index 12c5b0f21b38d..0ec33fc941364 100644 --- a/administrator/components/com_users/models/forms/user.xml +++ b/administrator/components/com_users/models/forms/user.xml @@ -165,6 +165,7 @@ label="COM_USERS_USER_FIELD_BACKEND_TEMPLATE_LABEL" description="COM_USERS_USER_FIELD_BACKEND_TEMPLATE_DESC" client="administrator" + filter="uint" > <option value="">JOPTION_USE_DEFAULT</option> </field> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 7ff857268011c..49752f707f1ec 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.4-rc2</version> + <version>3.8.4</version> <creationDate>January 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/administrator/templates/hathor/postinstall/hathormessage.php b/administrator/templates/hathor/postinstall/hathormessage.php index 2d562299934f5..1d5677e4af138 100644 --- a/administrator/templates/hathor/postinstall/hathormessage.php +++ b/administrator/templates/hathor/postinstall/hathormessage.php @@ -37,14 +37,14 @@ function hathormessage_postinstall_condition() } // Get the current user admin style - $adminstyle = $user->getParam('admin_style', ''); + $adminstyle = $user->getParam('admin_style'); - if ($adminstyle != '') + if ($adminstyle) { $query = $db->getQuery(true) ->select('template') ->from($db->quoteName('#__template_styles')) - ->where($db->quoteName('id') . ' = ' . $adminstyle[0]) + ->where($db->quoteName('id') . ' = ' . (int) $adminstyle) ->where($db->quoteName('client_id') . ' = 1'); // Get the template name associated to the admin style @@ -82,15 +82,15 @@ function hathormessage_postinstall_action() $isisStyleId = $db->setQuery($query)->loadColumn(); $isisStyleName = $db->setQuery($query)->loadColumn(1); - $adminstyle = $user->getParam('admin_style', ''); + $adminstyle = $user->getParam('admin_style'); // The user uses the system setting so no need to change that. - if ($adminstyle != '') + if ($adminstyle) { $query = $db->getQuery(true) ->select('template') ->from($db->quoteName('#__template_styles')) - ->where($db->quoteName('id') . ' = ' . $adminstyle[0]) + ->where($db->quoteName('id') . ' = ' . (int) $adminstyle) ->where($db->quoteName('client_id') . ' = 1'); $template = $db->setQuery($query)->loadResult(); diff --git a/components/com_users/models/forms/frontend_admin.xml b/components/com_users/models/forms/frontend_admin.xml index 8455e57565e3a..99b59489146b6 100644 --- a/components/com_users/models/forms/frontend_admin.xml +++ b/components/com_users/models/forms/frontend_admin.xml @@ -9,6 +9,7 @@ label="COM_USERS_USER_FIELD_BACKEND_TEMPLATE_LABEL" description="COM_USERS_USER_FIELD_BACKEND_TEMPLATE_DESC" client="administrator" + filter="uint" > <option value="">JOPTION_USE_DEFAULT</option> </field> diff --git a/libraries/src/Uri/Uri.php b/libraries/src/Uri/Uri.php index f89b907bc2615..a7047c8cbd762 100644 --- a/libraries/src/Uri/Uri.php +++ b/libraries/src/Uri/Uri.php @@ -172,6 +172,9 @@ public static function base($pathonly = false) $script_name = $_SERVER['SCRIPT_NAME']; } + // Extra cleanup to remove invalid chars in the URL to prevent injections through broken server implementation + $script_name = str_replace(array("'", '"', '<', '>'), array('%27', '%22', '%3C', '%3E'), $script_name); + static::$base['path'] = rtrim(dirname($script_name), '/\\'); } } diff --git a/libraries/src/Version.php b/libraries/src/Version.php index cf0c225b50bac..614c16b37914e 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc2'; + const EXTRA_VERSION = ''; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '4-rc2'; + const DEV_LEVEL = '4'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Stable'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '26-January-2018'; + const RELDATE = '30-January-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '13:15'; + const RELTIME = '15:00'; /** * Release timezone. diff --git a/templates/protostar/html/modules.php b/templates/protostar/html/modules.php index 4d44234c36ec9..8a6296ea7a7cd 100644 --- a/templates/protostar/html/modules.php +++ b/templates/protostar/html/modules.php @@ -36,10 +36,10 @@ function modChrome_no($module, &$params, &$attribs) function modChrome_well($module, &$params, &$attribs) { - $moduleTag = $params->get('module_tag', 'div'); + $moduleTag = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8'); $bootstrapSize = (int) $params->get('bootstrap_size', 0); $moduleClass = $bootstrapSize !== 0 ? ' span' . $bootstrapSize : ''; - $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8'); + $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); $headerClass = htmlspecialchars($params->get('header_class', 'page-header'), ENT_COMPAT, 'UTF-8'); if ($module->content) diff --git a/templates/system/html/modules.php b/templates/system/html/modules.php index b62ae6b71b4a1..0102b2a2ef013 100644 --- a/templates/system/html/modules.php +++ b/templates/system/html/modules.php @@ -22,8 +22,8 @@ function modChrome_none($module, &$params, &$attribs) */ function modChrome_html5($module, &$params, &$attribs) { - $moduleTag = $params->get('module_tag', 'div'); - $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8'); + $moduleTag = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8'); + $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); $bootstrapSize = (int) $params->get('bootstrap_size', 0); $moduleClass = $bootstrapSize !== 0 ? ' span' . $bootstrapSize : ''; @@ -88,8 +88,8 @@ function modChrome_horz($module, &$params, &$attribs) */ function modChrome_xhtml($module, &$params, &$attribs) { - $moduleTag = $params->get('module_tag', 'div'); - $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8'); + $moduleTag = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8'); + $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); $bootstrapSize = (int) $params->get('bootstrap_size', 0); $moduleClass = $bootstrapSize !== 0 ? ' span' . $bootstrapSize : ''; From 7e7a3ea53e14f72ba7f5b8058feb2367000b0cc1 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 30 Jan 2018 08:37:14 -0600 Subject: [PATCH 060/255] Reset for development --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 2 +- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 8 ++++---- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 3029d8ca236ef..7654f617dc5ea 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> - <version>3.8.4</version> + <version>3.8.5</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 4e859b4f0b17f..e812b910ec056 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="administrator" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.4</version> + <version>3.8.5</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 49752f707f1ec..0dd48bd54ed7b 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.4</version> + <version>3.8.5-dev</version> <creationDate>January 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index ed64ec36fca28..44174db22c7b6 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -2,7 +2,7 @@ <extension type="package" version="3.8" method="upgrade"> <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> - <version>3.8.4.1</version> + <version>3.8.5.1</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 5a002d2abd4a5..841a9d9788fbe 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -3,7 +3,7 @@ version="3.8" client="installation"> <name>English (United Kingdom)</name> - <version>3.8.4</version> + <version>3.8.5</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 9963287a49779..a27949fa4c380 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="site"> <name>English (en-GB)</name> - <version>3.8.4</version> + <version>3.8.5</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index b4c40fb5ca199..d44c33183cec9 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="site" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.4</version> + <version>3.8.5</version> <creationDate>January 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 614c16b37914e..c0191972a6a17 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -49,7 +49,7 @@ final class Version * @var integer * @since 3.8.0 */ - const PATCH_VERSION = 4; + const PATCH_VERSION = 5; /** * Extra release version info. @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = ''; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '4'; + const DEV_LEVEL = '5-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Stable'; + const DEV_STATUS = 'Development'; /** * Build number. From 574bc4141acb51635192f5967669f0d749f0e02a Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Wed, 31 Jan 2018 01:56:03 +0100 Subject: [PATCH 061/255] Move from protocol relative links to https for google fonts imports (#19488) * move to protocol relative links to https * fix one broken font link --- plugins/editors/codemirror/fonts.json | 38 +++++++++++++-------------- templates/protostar/error.php | 2 +- templates/protostar/index.php | 2 +- templates/protostar/offline.php | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/plugins/editors/codemirror/fonts.json b/plugins/editors/codemirror/fonts.json index beee743b75f97..84d78120ab93c 100644 --- a/plugins/editors/codemirror/fonts.json +++ b/plugins/editors/codemirror/fonts.json @@ -1,97 +1,97 @@ { "anonymous_pro": { "name": "Anonymous Pro", - "url": "http://fonts.googleapis.com/css?family=Anonymous+Pro", + "url": "https://fonts.googleapis.com/css?family=Anonymous+Pro", "css": "'Anonymous Pro', monospace" }, "cousine": { "name": "Cousine", - "url": "//fonts.googleapis.com/css?family=Cousine", + "url": "https://fonts.googleapis.com/css?family=Cousine", "css": "Cousine, monospace" }, "cutive_mono": { "name": "Cutive Mono", - "url": "//fonts.googleapis.com/css?family=Cutive+Mono", + "url": "https://fonts.googleapis.com/css?family=Cutive+Mono", "css": "'Cutive Mono', monospace" }, "droid_sans_mono": { "name": "Droid Sans Mono", - "url": "//fonts.googleapis.com/css?family=Droid+Sans+Mono", + "url": "https://fonts.googleapis.com/css?family=Droid+Sans+Mono", "css": "'Droid Sans Mono', monospace" }, "fira_mono": { "name": "Fira Mono", - "url": "//fonts.googleapis.com/css?family=Fira+Mono", + "url": "https://fonts.googleapis.com/css?family=Fira+Mono", "css": "'Fira Mono', monospace" }, "inconsolata": { "name": "Inconsolata", - "url": "//fonts.googleapis.com/css?family=Inconsolata", + "url": "https://fonts.googleapis.com/css?family=Inconsolata", "css": "Inconsolata, monospace" }, "lekton": { "name": "Lekton", - "url": "//fonts.googleapis.com/css?family=Lekton", + "url": "https://fonts.googleapis.com/css?family=Lekton", "css": "Lekton, monospace" }, "nova_mono": { "name": "Nova Mono", - "url": "//fonts.googleapis.com/css?family=Nova+Mono", + "url": "https://fonts.googleapis.com/css?family=Nova+Mono", "css": "'Nova Mono', monospace" }, "overpass_mono": { "name": "Overpass Mono", - "url": "//fonts.googleapis.com/css?family=Overpass+Mono", + "url": "https://fonts.googleapis.com/css?family=Overpass+Mono", "css": "'Overpass Mono', monospace" }, "oxygen_mono": { "name": "Oxygen Mono", - "url": "//fonts.googleapis.com/css?family=Oxygen+Mono", + "url": "https://fonts.googleapis.com/css?family=Oxygen+Mono", "css": "'Oxygen Mono', monospace" }, "press_start_2p": { "name": "Press Start 2P", - "url": "//fonts.googleapis.com/css?family=Press+Start+2P", + "url": "https://fonts.googleapis.com/css?family=Press+Start+2P", "css": "'Press Start 2P', monospace" }, "pt_mono": { "name": "PT Mono", - "url": "//fonts.googleapis.com/css?family=PT+Mono", + "url": "https://fonts.googleapis.com/css?family=PT+Mono", "css": "'PT Mono', monospace" }, "roboto_mono": { "name": "Roboto Mono", - "url": "//fonts.googleapis.com/css?family=Roboto+Mono", + "url": "https://fonts.googleapis.com/css?family=Roboto+Mono", "css": "'Roboto Mono', monospace" }, "rubik_mono_one": { "name": "Rubik Mono One", - "url": "//fonts.googleapis.com/css?family=Rubik+Mono+One", + "url": "https://fonts.googleapis.com/css?family=Rubik+Mono+One", "css": "'Rubik Mono One', monospace" }, "share_tech_mono": { "name": "Share Tech Mono", - "url": "//fonts.googleapis.com/css?family=Share+Tech+Mono", + "url": "https://fonts.googleapis.com/css?family=Share+Tech+Mono", "css": "'Share Tech Mono', monospace" }, "source_code_pro": { "name": "Source Code Pro", - "url": "//fonts.googleapis.com/css?family=Source+Code+Pro", + "url": "https://fonts.googleapis.com/css?family=Source+Code+Pro", "css": "'Source Code Pro', monospace" }, "space_mono": { "name": "Space Mono", - "url": "//fonts.googleapis.com/css?family=Space+Mono", + "url": "https://fonts.googleapis.com/css?family=Space+Mono", "css": "'Space Mono', monospace" }, "ubuntu_mono": { "name": "Ubuntu Mono", - "url": "//fonts.googleapis.com/css?family=Ubuntu+Mono", + "url": "https://fonts.googleapis.com/css?family=Ubuntu+Mono", "css": "'Ubuntu Mono', monospace" }, "vt323": { "name": "VT323", - "url": "//fonts.googleapis.com/css?family=VT323", + "url": "https://fonts.googleapis.com/css?family=VT323", "css": "'VT323', monospace" } } diff --git a/templates/protostar/error.php b/templates/protostar/error.php index 72b55bbe9f730..03ade4d5ae4c6 100644 --- a/templates/protostar/error.php +++ b/templates/protostar/error.php @@ -59,7 +59,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <?php // Use of Google Font ?> <?php if ($params->get('googleFont')) : ?> - <link href="//fonts.googleapis.com/css?family=<?php echo $params->get('googleFontName'); ?>" rel="stylesheet" /> + <link href="https://fonts.googleapis.com/css?family=<?php echo $params->get('googleFontName'); ?>" rel="stylesheet" /> <style> h1, h2, h3, h4, h5, h6, .site-title { font-family: '<?php echo str_replace('+', ' ', $params->get('googleFontName')); ?>', sans-serif; diff --git a/templates/protostar/index.php b/templates/protostar/index.php index 541974a2af681..cae3f32003e6b 100644 --- a/templates/protostar/index.php +++ b/templates/protostar/index.php @@ -52,7 +52,7 @@ // Use of Google Font if ($this->params->get('googleFont')) { - JHtml::_('stylesheet', '//fonts.googleapis.com/css?family=' . $this->params->get('googleFontName')); + JHtml::_('stylesheet', 'https://fonts.googleapis.com/css?family=' . $this->params->get('googleFontName')); $this->addStyleDeclaration(" h1, h2, h3, h4, h5, h6, .site-title { font-family: '" . str_replace('+', ' ', $this->params->get('googleFontName')) . "', sans-serif; diff --git a/templates/protostar/offline.php b/templates/protostar/offline.php index 192a980ed07bc..c8e1848f00065 100644 --- a/templates/protostar/offline.php +++ b/templates/protostar/offline.php @@ -35,7 +35,7 @@ // Use of Google Font if ($this->params->get('googleFont')) { - JHtml::_('stylesheet', '//fonts.googleapis.com/css?family=' . $this->params->get('googleFontName')); + JHtml::_('stylesheet', 'https://fonts.googleapis.com/css?family=' . $this->params->get('googleFontName')); $this->addStyleDeclaration(" h1, h2, h3, h4, h5, h6, .site-title { font-family: '" . str_replace('+', ' ', $this->params->get('googleFontName')) . "', sans-serif; From 9fc55589303d9cb34453c7adda7541cca5f8d06c Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Wed, 31 Jan 2018 21:12:26 +0100 Subject: [PATCH 062/255] Revert "Regression at createUri from #19099 (#19415)" This reverts commit 128a4d467d3773463966c5634f3e4f5ba12bebe6. --- .../com_content/views/archive/tmpl/default.php | 4 +++- libraries/src/Router/SiteRouter.php | 7 ------- .../suites/libraries/cms/router/JRouterSiteTest.php | 12 ------------ 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/components/com_content/views/archive/tmpl/default.php b/components/com_content/views/archive/tmpl/default.php index c6b3e33b2984a..e46eae1bffce7 100644 --- a/components/com_content/views/archive/tmpl/default.php +++ b/components/com_content/views/archive/tmpl/default.php @@ -21,7 +21,7 @@ </h1> </div> <?php endif; ?> -<form id="adminForm" action="<?php echo JRoute::_('index.php?option=com_content&view=archive'); ?>" method="post" class="form-inline"> +<form id="adminForm" action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-inline"> <fieldset class="filters"> <div class="filter-search"> <?php if ($this->params->get('filter_field') !== 'hide') : ?> @@ -34,6 +34,8 @@ <?php echo $this->form->limitField; ?> <button type="submit" class="btn btn-primary" style="vertical-align: top;"><?php echo JText::_('JGLOBAL_FILTER_BUTTON'); ?></button> + <input type="hidden" name="view" value="archive" /> + <input type="hidden" name="option" value="com_content" /> <input type="hidden" name="limitstart" value="0" /> </div> <br /> diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index 6dbabc1ea02a2..a7187f65f8aec 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -716,13 +716,6 @@ protected function createUri($url) { $uri->setVar('option', $option); } - - $itemid = $this->getVar('Itemid'); - - if ($itemid) - { - $uri->setVar('Itemid', $itemid); - } } } else diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index c2c91c1e9ceef..7e8656a32a603 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -1265,18 +1265,6 @@ public function casesCreateUri() 'preset' => array('option' => 'com_test'), 'expected' => 'index.php?var1=value1&option=com_test' ), - // Check if a URL with no Itemid and no option, but globally set Itemid is added the Itemid - array( - 'url' => 'index.php?var1=value1', - 'preset' => array('Itemid' => '42'), - 'expected' => 'index.php?var1=value1&Itemid=42' - ), - // Check if a URL with no Itemid and no option, but with an option and a global Itemid available, which fits the option of the menu item gets the Itemid and option appended - array( - 'url' => 'index.php?var1=value1', - 'preset' => array('Itemid' => '42', 'option' => 'com_test'), - 'expected' => 'index.php?var1=value1&option=com_test&Itemid=42' - ), ); } From 2ac0d43ee23fa4715534014e2ed2f1010fba00ed Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Wed, 31 Jan 2018 21:12:47 +0100 Subject: [PATCH 063/255] Revert "Correctly redirect after logging into the multilingual joomla with association enabled (#19295)" This reverts commit 5994eb1f4f4f74566061c09f8b751274b9a0d189. --- .../views/login/tmpl/default_login.php | 3 +- .../system/languagefilter/languagefilter.php | 80 +++++++++---------- 2 files changed, 41 insertions(+), 42 deletions(-) diff --git a/components/com_users/views/login/tmpl/default_login.php b/components/com_users/views/login/tmpl/default_login.php index be74f337679ed..d80a49f0256f5 100644 --- a/components/com_users/views/login/tmpl/default_login.php +++ b/components/com_users/views/login/tmpl/default_login.php @@ -33,7 +33,7 @@ <?php if (($this->params->get('logindescription_show') == 1 && str_replace(' ', '', $this->params->get('login_description')) != '') || $this->params->get('login_image') != '') : ?> </div> <?php endif; ?> - <form action="<?php echo JRoute::_('index.php?option=com_users&view=login'); ?>" method="post" class="form-validate form-horizontal well"> + <form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post" class="form-validate form-horizontal well"> <fieldset> <?php foreach ($this->form->getFieldset('credentials') as $field) : ?> <?php if (!$field->hidden) : ?> @@ -76,7 +76,6 @@ </button> </div> </div> - <input type="hidden" name="task" value="user.login" /> <?php $return = $this->form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem'))); ?> <input type="hidden" name="return" value="<?php echo base64_encode($return); ?>" /> <?php echo JHtml::_('form.token'); ?> diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 7a76282730efb..ce7005be62479 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -616,64 +616,64 @@ public function onUserLogin($user, $options = array()) $lang_code = $this->current_lang; } + $foundAssociation = false; + + $assoc = JLanguageAssociations::isEnabled(); + + // If association is enabled + if ($assoc) + { + // Retrieves the Itemid from a login form. + $uri = new JUri($this->app->getUserState('users.login.form.return')); + + // Get Itemid from SEF or home page + $query = $this->app->getRouter()->parse($uri); + + // Check, if the login form contains a menu item redirection. + if (!empty($query['Itemid'])) + { + // Try to get associations from that menu item. + $associations = MenusHelper::getAssociations($query['Itemid']); + + // If any association set to the user preferred site language, redirect to that page. + if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) + { + $associationItemid = $associations[$lang_code]; + $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); + $foundAssociation = true; + } + } + } + // Try to get association from the current active menu item $active = $menu->getActive(); - $foundAssociation = false; - /** * Looking for associations. * If the login menu item form contains an internal URL redirection, - * this will override the automatic change to the user preferred site language. + * This will override the automatic change to the user preferred site language. * In that case we use the redirect as defined in the menu item. - * Otherwise we redirect, when available, to the user preferred site language. + * Otherwise we redirect, when available, to the user preferred site language. */ - if (!$active || !$active->params['login_redirect_url']) + if (!$foundAssociation && $active && !$active->params['login_redirect_url']) { - if (JLanguageAssociations::isEnabled()) + if ($assoc) { - // Retrieves the Itemid from a login form. - $uri = new JUri($this->app->getUserState('users.login.form.return')); - - $Itemid = $uri->getVar('Itemid'); - - if (!$Itemid && $this->mode_sef) - { - // Workaround to not use current active item id - $activeId = $this->app->input->get('Itemid'); - $this->app->input->set('Itemid', null); - - // Get Itemid from SEF or home page - $query = $this->app->getRouter()->parse($uri); - $Itemid = isset($query['Itemid']) ? $query['Itemid'] : null; - - // Restore active item id - $this->app->input->set('Itemid', $activeId); - } - - if ($Itemid) - { - // Assign the active item from previous page to check for home page below - $active = $menu->getItem($Itemid); - - // The login form contains a menu item redirection. Try to get associations from that menu item. - $associations = MenusHelper::getAssociations($Itemid); - } - else - { - // Return URL does not have any Itemid - $active = null; - } + $associations = MenusHelper::getAssociations($active->id); } - // If any association set to the user preferred site language, redirect to that page. if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) { + /** + * The login form does not contain a menu item redirection. + * The active menu item has associations. + * We redirect to the user preferred site language associated page. + */ $associationItemid = $associations[$lang_code]; $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); $foundAssociation = true; } - elseif ($active && $active->home) + elseif ($active->home) { // We are on a Home page, we redirect to the user preferred site language Home page. $item = $menu->getDefault($lang_code); From f2d4ae18a5ae2c316bdff657901bacf3ec56668e Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Wed, 31 Jan 2018 21:13:10 +0100 Subject: [PATCH 064/255] Revert "Fix parser error in plugin languagefilter on php5 (#19268)" This reverts commit 05fd1d9f12ea62960f1ea921663fa4877994e538. --- plugins/system/languagefilter/languagefilter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index ce7005be62479..3136c5cf65f78 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -627,7 +627,7 @@ public function onUserLogin($user, $options = array()) $uri = new JUri($this->app->getUserState('users.login.form.return')); // Get Itemid from SEF or home page - $query = $this->app->getRouter()->parse($uri); + $query = $this->app::getRouter()->parse($uri); // Check, if the login form contains a menu item redirection. if (!empty($query['Itemid'])) From 335100c39c71c2e83bd9aed09ae05c1dab46767e Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Wed, 31 Jan 2018 21:13:41 +0100 Subject: [PATCH 065/255] Revert "Do not add default or active Itemid to every link without own menu item (#19099)" This reverts commit d0688686669d344d8d0a4c87d55611eff4b74d4d. --- .../src/Component/Router/Rules/MenuRules.php | 20 ++++--- libraries/src/Router/SiteRouter.php | 18 +++++- modules/mod_login/tmpl/default.php | 4 +- .../system/languagefilter/languagefilter.php | 55 ++++++++----------- templates/beez3/html/mod_login/default.php | 4 +- templates/protostar/offline.php | 4 +- templates/system/offline.php | 4 +- .../rules/JComponentRouterRulesMenuTest.php | 8 +-- .../libraries/cms/router/JRouterSiteTest.php | 18 ++++++ 9 files changed, 85 insertions(+), 50 deletions(-) diff --git a/libraries/src/Component/Router/Rules/MenuRules.php b/libraries/src/Component/Router/Rules/MenuRules.php index ab14b509a2184..bb73065072b7a 100644 --- a/libraries/src/Component/Router/Rules/MenuRules.php +++ b/libraries/src/Component/Router/Rules/MenuRules.php @@ -160,16 +160,20 @@ public function preprocess(&$query) } } - // If there is no view and task in query then add the default item id - if (!isset($query['view']) && !isset($query['task'])) + // Check if the active menuitem matches the requested language + if ($active && $active->component === 'com_' . $this->router->getName() + && ($language === '*' || in_array($active->language, array('*', $language)) || !\JLanguageMultilang::isEnabled())) { - // If not found, return language specific home link - $default = $this->router->menu->getDefault($language); + $query['Itemid'] = $active->id; + return; + } - if (!empty($default->id)) - { - $query['Itemid'] = $default->id; - } + // If not found, return language specific home link + $default = $this->router->menu->getDefault($language); + + if (!empty($default->id)) + { + $query['Itemid'] = $default->id; } } diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index a7187f65f8aec..38b53407aafe1 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -708,14 +708,26 @@ protected function createUri($url) if ($itemid === null) { - if (!$uri->getVar('option')) + if ($option = $uri->getVar('option')) { - $option = $this->getVar('option'); + $item = $this->menu->getItem($this->getVar('Itemid')); - if ($option) + if ($item !== null && $item->component === $option) + { + $uri->setVar('Itemid', $item->id); + } + } + else + { + if ($option = $this->getVar('option')) { $uri->setVar('option', $option); } + + if ($itemid = $this->getVar('Itemid')) + { + $uri->setVar('Itemid', $itemid); + } } } else diff --git a/modules/mod_login/tmpl/default.php b/modules/mod_login/tmpl/default.php index a679ec87e63bc..de6d78bd50087 100644 --- a/modules/mod_login/tmpl/default.php +++ b/modules/mod_login/tmpl/default.php @@ -15,7 +15,7 @@ JHtml::_('bootstrap.tooltip'); ?> -<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login', true, $params->get('usesecure')); ?>" method="post" id="login-form" class="form-inline"> +<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form" class="form-inline"> <?php if ($params->get('pretext')) : ?> <div class="pretext"> <p><?php echo $params->get('pretext'); ?></p> @@ -111,6 +111,8 @@ <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a> </li> </ul> + <input type="hidden" name="option" value="com_users" /> + <input type="hidden" name="task" value="user.login" /> <input type="hidden" name="return" value="<?php echo $return; ?>" /> <?php echo JHtml::_('form.token'); ?> </div> diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 3136c5cf65f78..9d5bf41b7d003 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -597,6 +597,7 @@ public function onUserLogin($user, $options = array()) { if ($this->params->get('automatic_change', 1)) { + $assoc = JLanguageAssociations::isEnabled(); $lang_code = $user['language']; // If no language is specified for this user, we set it to the site default language @@ -616,38 +617,11 @@ public function onUserLogin($user, $options = array()) $lang_code = $this->current_lang; } - $foundAssociation = false; - - $assoc = JLanguageAssociations::isEnabled(); - - // If association is enabled - if ($assoc) - { - // Retrieves the Itemid from a login form. - $uri = new JUri($this->app->getUserState('users.login.form.return')); - - // Get Itemid from SEF or home page - $query = $this->app::getRouter()->parse($uri); - - // Check, if the login form contains a menu item redirection. - if (!empty($query['Itemid'])) - { - // Try to get associations from that menu item. - $associations = MenusHelper::getAssociations($query['Itemid']); - - // If any association set to the user preferred site language, redirect to that page. - if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) - { - $associationItemid = $associations[$lang_code]; - $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); - $foundAssociation = true; - } - } - } - // Try to get association from the current active menu item $active = $menu->getActive(); + $foundAssociation = false; + /** * Looking for associations. * If the login menu item form contains an internal URL redirection, @@ -655,14 +629,33 @@ public function onUserLogin($user, $options = array()) * In that case we use the redirect as defined in the menu item. * Otherwise we redirect, when available, to the user preferred site language. */ - if (!$foundAssociation && $active && !$active->params['login_redirect_url']) + if ($active && !$active->params['login_redirect_url']) { if ($assoc) { $associations = MenusHelper::getAssociations($active->id); } - if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) + // Retrieves the Itemid from a login form. + $uri = new JUri($this->app->getUserState('users.login.form.return')); + + if ($uri->getVar('Itemid')) + { + // The login form contains a menu item redirection. Try to get associations from that menu item. + // If any association set to the user preferred site language, redirect to that page. + if ($assoc) + { + $associations = MenusHelper::getAssociations($uri->getVar('Itemid')); + } + + if (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) + { + $associationItemid = $associations[$lang_code]; + $this->app->setUserState('users.login.form.return', 'index.php?Itemid=' . $associationItemid); + $foundAssociation = true; + } + } + elseif (isset($associations[$lang_code]) && $menu->getItem($associations[$lang_code])) { /** * The login form does not contain a menu item redirection. diff --git a/templates/beez3/html/mod_login/default.php b/templates/beez3/html/mod_login/default.php index 6eb57cbb80522..9af4363d925cb 100644 --- a/templates/beez3/html/mod_login/default.php +++ b/templates/beez3/html/mod_login/default.php @@ -12,7 +12,7 @@ JHtml::_('behavior.keepalive'); ?> -<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login', true, $params->get('usesecure')); ?>" method="post" id="login-form" > +<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form" > <?php if ($params->get('pretext')) : ?> <div class="pretext"> <p><?php echo $params->get('pretext'); ?></p> @@ -49,6 +49,8 @@ </p> <?php endif; ?> <input type="submit" name="Submit" class="button" value="<?php echo JText::_('JLOGIN') ?>" /> +<input type="hidden" name="option" value="com_users" /> +<input type="hidden" name="task" value="user.login" /> <input type="hidden" name="return" value="<?php echo $return; ?>" /> <?php echo JHtml::_('form.token'); ?> <ul> diff --git a/templates/protostar/offline.php b/templates/protostar/offline.php index 192a980ed07bc..4e7387d6bc84d 100644 --- a/templates/protostar/offline.php +++ b/templates/protostar/offline.php @@ -116,7 +116,7 @@ <?php endif; ?> </div> <jdoc:include type="message" /> - <form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post" id="form-login"> + <form action="<?php echo JRoute::_('index.php', true); ?>" method="post" id="form-login"> <fieldset> <label for="username"><?php echo JText::_('JGLOBAL_USERNAME'); ?></label> <input name="username" id="username" type="text" title="<?php echo JText::_('JGLOBAL_USERNAME'); ?>" /> @@ -131,6 +131,8 @@ <input type="submit" name="Submit" class="btn btn-primary" value="<?php echo JText::_('JLOGIN'); ?>" /> + <input type="hidden" name="option" value="com_users" /> + <input type="hidden" name="task" value="user.login" /> <input type="hidden" name="return" value="<?php echo base64_encode(JUri::base()); ?>" /> <?php echo JHtml::_('form.token'); ?> </fieldset> diff --git a/templates/system/offline.php b/templates/system/offline.php index db5194dc4b28c..391a2edc4a4a2 100644 --- a/templates/system/offline.php +++ b/templates/system/offline.php @@ -58,7 +58,7 @@ <?php echo JText::_('JOFFLINE_MESSAGE'); ?> </p> <?php endif; ?> - <form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post" id="form-login"> + <form action="<?php echo JRoute::_('index.php', true); ?>" method="post" id="form-login"> <fieldset class="input"> <p id="form-login-username"> <label for="username"><?php echo JText::_('JGLOBAL_USERNAME'); ?></label> @@ -77,6 +77,8 @@ <p id="submit-buton"> <input type="submit" name="Submit" class="button login" value="<?php echo JText::_('JLOGIN'); ?>" /> </p> + <input type="hidden" name="option" value="com_users" /> + <input type="hidden" name="task" value="user.login" /> <input type="hidden" name="return" value="<?php echo base64_encode(JUri::base()); ?>" /> <?php echo JHtml::_('form.token'); ?> </fieldset> diff --git a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php index 6dc7a33e102a0..b1406c671df11 100644 --- a/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php +++ b/tests/unit/suites/libraries/cms/component/router/rules/JComponentRouterRulesMenuTest.php @@ -164,13 +164,13 @@ public function casesPreprocess() $cases[] = array(array('option' => 'com_content', 'view' => 'article', 'id' => '42', 'catid' => '22', 'lang' => 'en-GB'), array('option' => 'com_content', 'view' => 'article', 'id' => '42', 'catid' => '22', 'lang' => 'en-GB', 'Itemid' => '49')); - // Check non-existing menu link with a key + // Check non-existing menu link $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42'), - array('option' => 'com_content', 'view' => 'categories', 'id' => '42')); + array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'Itemid' => '49')); - // Check non-existing menu link with a key and language + // Check indirect link to a single view behind a nested view with a key and language $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB'), - array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB')); + array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'lang' => 'en-GB', 'Itemid' => '49')); // Check if a query with existing Itemid that is not the current active menu-item is not touched $cases[] = array(array('option' => 'com_content', 'view' => 'categories', 'id' => '42', 'Itemid' => '99'), diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index 7e8656a32a603..9d13a7891a5f1 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -1265,6 +1265,24 @@ public function casesCreateUri() 'preset' => array('option' => 'com_test'), 'expected' => 'index.php?var1=value1&option=com_test' ), + // Check if a URL with no Itemid and no option, but globally set Itemid is added the Itemid + array( + 'url' => 'index.php?var1=value1', + 'preset' => array('Itemid' => '42'), + 'expected' => 'index.php?var1=value1&Itemid=42' + ), + // Check if a URL without an Itemid, but with an option set and a global Itemid available, which fits the option of the menu item gets the Itemid appended + array( + 'url' => 'index.php?var1=value&option=com_test', + 'preset' => array('Itemid' => '42'), + 'expected' => 'index.php?var1=value&option=com_test&Itemid=42' + ), + // Check if a URL without an Itemid, but with an option set and a global Itemid available, which does not fit the option of the menu item gets returned identically + array( + 'url' => 'index.php?var1=value&option=com_test3', + 'preset' => array('Itemid' => '42'), + 'expected' => 'index.php?var1=value&option=com_test3' + ), ); } From 30398676f840662a98487986cff958a1f0f0fa9c Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Fri, 2 Feb 2018 00:10:21 +0700 Subject: [PATCH 066/255] Update CMSApplication.php (#19514) --- libraries/src/Application/CMSApplication.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index 3fa85bcd7209e..4989bac2e5fe3 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -160,7 +160,7 @@ public function afterSessionStart() if ($handler !== 'database' && $time % 5 === 0) { $this->registerEvent( - 'onAfterResponse', + 'onAfterRespond', function () use ($session, $time) { // TODO: At some point we need to get away from having session data always in the db. From 9641b97118456aa750a2a56b74be0d97db48037d Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 4 Feb 2018 02:12:50 +0900 Subject: [PATCH 067/255] CodeMirror Updated to 5.34.0 (#19533) --- .../codemirror/addon/display/placeholder.js | 1 + .../addon/display/placeholder.min.js | 2 +- .../codemirror/addon/edit/closebrackets.js | 4 +- .../addon/edit/closebrackets.min.js | 2 +- .../codemirror/addon/edit/matchbrackets.js | 13 +- .../addon/edit/matchbrackets.min.js | 2 +- .../editors/codemirror/addon/fold/xml-fold.js | 2 +- .../codemirror/addon/fold/xml-fold.min.js | 2 +- .../editors/codemirror/addon/hint/sql-hint.js | 28 +-- .../codemirror/addon/hint/sql-hint.min.js | 2 +- .../codemirror/addon/lint/javascript-lint.js | 108 ++-------- .../addon/lint/javascript-lint.min.js | 2 +- media/editors/codemirror/keymap/sublime.js | 2 +- .../editors/codemirror/keymap/sublime.min.js | 2 +- media/editors/codemirror/lib/addons.js | 26 ++- media/editors/codemirror/lib/addons.min.js | 10 +- media/editors/codemirror/lib/codemirror.js | 11 +- .../editors/codemirror/lib/codemirror.min.js | 8 +- media/editors/codemirror/mode/clike/clike.js | 2 +- .../codemirror/mode/clike/clike.min.js | 2 +- .../codemirror/mode/javascript/javascript.js | 24 ++- .../mode/javascript/javascript.min.js | 2 +- .../codemirror/mode/markdown/markdown.js | 11 + .../codemirror/mode/markdown/markdown.min.js | 2 +- media/editors/codemirror/mode/meta.js | 7 +- media/editors/codemirror/mode/meta.min.js | 2 +- .../editors/codemirror/mode/mllike/mllike.js | 196 ++++++++++++++---- .../codemirror/mode/mllike/mllike.min.js | 2 +- media/editors/codemirror/mode/shell/shell.js | 23 +- .../codemirror/mode/shell/shell.min.js | 2 +- media/editors/codemirror/mode/sql/sql.js | 2 +- media/editors/codemirror/mode/sql/sql.min.js | 2 +- .../editors/codemirror/mode/stylus/stylus.js | 2 +- .../codemirror/mode/stylus/stylus.min.js | 2 +- .../editors/codemirror/theme/oceanic-next.css | 44 ++++ media/editors/codemirror/theme/shadowfox.css | 52 +++++ plugins/editors/codemirror/codemirror.xml | 2 +- 37 files changed, 394 insertions(+), 214 deletions(-) create mode 100644 media/editors/codemirror/theme/oceanic-next.css create mode 100644 media/editors/codemirror/theme/shadowfox.css diff --git a/media/editors/codemirror/addon/display/placeholder.js b/media/editors/codemirror/addon/display/placeholder.js index 2f8b1f84ae0cf..65753ebf3f372 100644 --- a/media/editors/codemirror/addon/display/placeholder.js +++ b/media/editors/codemirror/addon/display/placeholder.js @@ -38,6 +38,7 @@ clearPlaceholder(cm); var elt = cm.state.placeholder = document.createElement("pre"); elt.style.cssText = "height: 0; overflow: visible"; + elt.style.direction = cm.getOption("direction"); elt.className = "CodeMirror-placeholder"; var placeHolder = cm.getOption("placeholder") if (typeof placeHolder == "string") placeHolder = document.createTextNode(placeHolder) diff --git a/media/editors/codemirror/addon/display/placeholder.min.js b/media/editors/codemirror/addon/display/placeholder.min.js index 10ca3e78fea53..976c9faa53d56 100644 --- a/media/editors/codemirror/addon/display/placeholder.min.js +++ b/media/editors/codemirror/addon/display/placeholder.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a){a.state.placeholder&&(a.state.placeholder.parentNode.removeChild(a.state.placeholder),a.state.placeholder=null)}function c(a){b(a);var c=a.state.placeholder=document.createElement("pre");c.style.cssText="height: 0; overflow: visible",c.className="CodeMirror-placeholder";var d=a.getOption("placeholder");"string"==typeof d&&(d=document.createTextNode(d)),c.appendChild(d),a.display.lineSpace.insertBefore(c,a.display.lineSpace.firstChild)}function d(a){f(a)&&c(a)}function e(a){var d=a.getWrapperElement(),e=f(a);d.className=d.className.replace(" CodeMirror-empty","")+(e?" CodeMirror-empty":""),e?c(a):b(a)}function f(a){return 1===a.lineCount()&&""===a.getLine(0)}a.defineOption("placeholder","",(function(c,f,g){var h=g&&g!=a.Init;if(f&&!h)c.on("blur",d),c.on("change",e),c.on("swapDoc",e),e(c);else if(!f&&h){c.off("blur",d),c.off("change",e),c.off("swapDoc",e),b(c);var i=c.getWrapperElement();i.className=i.className.replace(" CodeMirror-empty","")}f&&!c.hasFocus()&&d(c)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a){a.state.placeholder&&(a.state.placeholder.parentNode.removeChild(a.state.placeholder),a.state.placeholder=null)}function c(a){b(a);var c=a.state.placeholder=document.createElement("pre");c.style.cssText="height: 0; overflow: visible",c.style.direction=a.getOption("direction"),c.className="CodeMirror-placeholder";var d=a.getOption("placeholder");"string"==typeof d&&(d=document.createTextNode(d)),c.appendChild(d),a.display.lineSpace.insertBefore(c,a.display.lineSpace.firstChild)}function d(a){f(a)&&c(a)}function e(a){var d=a.getWrapperElement(),e=f(a);d.className=d.className.replace(" CodeMirror-empty","")+(e?" CodeMirror-empty":""),e?c(a):b(a)}function f(a){return 1===a.lineCount()&&""===a.getLine(0)}a.defineOption("placeholder","",(function(c,f,g){var h=g&&g!=a.Init;if(f&&!h)c.on("blur",d),c.on("change",e),c.on("swapDoc",e),e(c);else if(!f&&h){c.off("blur",d),c.off("change",e),c.off("swapDoc",e),b(c);var i=c.getWrapperElement();i.className=i.className.replace(" CodeMirror-empty","")}f&&!c.hasFocus()&&d(c)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/edit/closebrackets.js b/media/editors/codemirror/addon/edit/closebrackets.js index 460f662f8048b..86b2fe1c95a93 100644 --- a/media/editors/codemirror/addon/edit/closebrackets.js +++ b/media/editors/codemirror/addon/edit/closebrackets.js @@ -129,8 +129,8 @@ else curType = "skip"; } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && - cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch && - (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { + cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) { + if (cur.ch > 2 && /\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass; curType = "addFour"; } else if (identical) { var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) diff --git a/media/editors/codemirror/addon/edit/closebrackets.min.js b/media/editors/codemirror/addon/edit/closebrackets.min.js index 2e483b0180e1b..85380fe7e15e7 100644 --- a/media/editors/codemirror/addon/edit/closebrackets.min.js +++ b/media/editors/codemirror/addon/edit/closebrackets.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d&&(u.ch<=2||c.getRange(n(u.line,u.ch-3),n(u.line,u.ch-2))!=d))s="addFour";else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/edit/matchbrackets.js b/media/editors/codemirror/addon/edit/matchbrackets.js index 4d7a230855a0a..c9851bda31f22 100644 --- a/media/editors/codemirror/addon/edit/matchbrackets.js +++ b/media/editors/codemirror/addon/edit/matchbrackets.js @@ -102,18 +102,23 @@ } } - var currentlyHighlighted = null; function doMatchBrackets(cm) { cm.operation(function() { - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} - currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); + if (cm.state.matchBrackets.currentlyHighlighted) { + cm.state.matchBrackets.currentlyHighlighted(); + cm.state.matchBrackets.currentlyHighlighted = null; + } + cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); }); } CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchBrackets); - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} + if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) { + cm.state.matchBrackets.currentlyHighlighted(); + cm.state.matchBrackets.currentlyHighlighted = null; + } } if (val) { cm.state.matchBrackets = typeof val == "object" ? val : {}; diff --git a/media/editors/codemirror/addon/edit/matchbrackets.min.js b/media/editors/codemirror/addon/edit/matchbrackets.min.js index 7b0eda21f06b1..9d3368664695d 100644 --- a/media/editors/codemirror/addon/edit/matchbrackets.min.js +++ b/media/editors/codemirror/addon/edit/matchbrackets.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/fold/xml-fold.js b/media/editors/codemirror/addon/fold/xml-fold.js index 08e2149553e73..3acf952d9d2fa 100644 --- a/media/editors/codemirror/addon/fold/xml-fold.js +++ b/media/editors/codemirror/addon/fold/xml-fold.js @@ -138,7 +138,7 @@ var iter = new Iter(cm, start.line, 0); for (;;) { var openTag = toNextTag(iter), end; - if (!openTag || iter.line != start.line || !(end = toTagEnd(iter))) return; + if (!openTag || !(end = toTagEnd(iter)) || iter.line != start.line) return; if (!openTag[1] && end != "selfClose") { var startPos = Pos(iter.line, iter.ch); var endPos = findMatchingClose(iter, openTag[2]); diff --git a/media/editors/codemirror/addon/fold/xml-fold.min.js b/media/editors/codemirror/addon/fold/xml-fold.min.js index d694a2624eab7..c7036f3215084 100644 --- a/media/editors/codemirror/addon/fold/xml-fold.min.js +++ b/media/editors/codemirror/addon/fold/xml-fold.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||d.line!=b.line||!(e=g(d)))return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/hint/sql-hint.js b/media/editors/codemirror/addon/hint/sql-hint.js index f5ec2cac1fb04..5d20eea625420 100644 --- a/media/editors/codemirror/addon/hint/sql-hint.js +++ b/media/editors/codemirror/addon/hint/sql-hint.js @@ -222,18 +222,20 @@ prevItem = separator[i]; } - var query = doc.getRange(validRange.start, validRange.end, false); - - for (var i = 0; i < query.length; i++) { - var lineText = query[i]; - eachWord(lineText, function(word) { - var wordUpperCase = word.toUpperCase(); - if (wordUpperCase === aliasUpperCase && getTable(previousWord)) - table = previousWord; - if (wordUpperCase !== CONS.ALIAS_KEYWORD) - previousWord = word; - }); - if (table) break; + if (validRange.start) { + var query = doc.getRange(validRange.start, validRange.end, false); + + for (var i = 0; i < query.length; i++) { + var lineText = query[i]; + eachWord(lineText, function(word) { + var wordUpperCase = word.toUpperCase(); + if (wordUpperCase === aliasUpperCase && getTable(previousWord)) + table = previousWord; + if (wordUpperCase !== CONS.ALIAS_KEYWORD) + previousWord = word; + }); + if (table) break; + } } return table; } @@ -273,8 +275,8 @@ if (search.charAt(0) == "." || search.charAt(0) == identifierQuote) { start = nameCompletion(cur, token, result, editor); } else { - addMatches(result, search, tables, function(w) {return w;}); addMatches(result, search, defaultTable, function(w) {return w;}); + addMatches(result, search, tables, function(w) {return w;}); if (!disableKeywords) addMatches(result, search, keywords, function(w) {return w.toUpperCase();}); } diff --git a/media/editors/codemirror/addon/hint/sql-hint.min.js b/media/editors/codemirror/addon/hint/sql-hint.min.js index 382996c19dabe..7f1c90ff30829 100644 --- a/media/editors/codemirror/addon/hint/sql-hint.min.js +++ b/media/editors/codemirror/addon/hint/sql-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../mode/sql/sql")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../mode/sql/sql"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return"[object Array]"==Object.prototype.toString.call(a)}function c(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).keywords}function d(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).identifierQuote||"`"}function e(a){return"string"==typeof a?a:a.text}function f(a,c){return b(c)&&(c={columns:c}),c.text||(c.text=a),c}function g(a){var c={};if(b(a))for(var d=a.length-1;d>=0;d--){var g=a[d];c[e(g).toUpperCase()]=f(e(g),g)}else if(a)for(var h in a)c[h.toUpperCase()]=f(h,a[h]);return c}function h(a){return q[a.toUpperCase()]}function i(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function j(a,b){var c=a.length,d=e(b).substr(0,c);return a.toUpperCase()===d.toUpperCase()}function k(a,c,d,e){if(b(d))for(var f=0;f<d.length;f++)j(c,d[f])&&a.push(e(d[f]));else for(var g in d)if(d.hasOwnProperty(g)){var h=d[g];h=h&&h!==!0?h.displayText?{text:h.text,displayText:h.displayText}:h.text:g,j(c,h)&&a.push(e(h))}}function l(a){"."==a.charAt(0)&&(a=a.substr(1));for(var b=a.split(t+t),c=0;c<b.length;c++)b[c]=b[c].replace(new RegExp(t,"g"),"");return b.join(t)}function m(a){for(var b=e(a).split("."),c=0;c<b.length;c++)b[c]=t+b[c].replace(new RegExp(t,"g"),t+t)+t;var d=b.join(".");return"string"==typeof a?d:(a=i(a),a.text=d,a)}function n(a,b,c,d){for(var e=!1,f=[],g=b.start,j=!0;j;)j="."==b.string.charAt(0),e=e||b.string.charAt(0)==t,g=b.start,f.unshift(l(b.string)),b=d.getTokenAt(v(a.line,b.start)),"."==b.string&&(j=!0,b=d.getTokenAt(v(a.line,b.start)));var n=f.join(".");k(c,n,q,(function(a){return e?m(a):a})),k(c,n,r,(function(a){return e?m(a):a})),n=f.pop();var o=f.join("."),s=!1,u=o;if(!h(o)){var w=o;o=p(o,d),o!==w&&(s=!0)}var x=h(o);return x&&x.columns&&(x=x.columns),x&&k(c,n,x,(function(a){var b=o;return 1==s&&(b=u),"string"==typeof a?a=b+"."+a:(a=i(a),a.text=b+"."+a.text),e?m(a):a})),g}function o(a,b){for(var c=a.split(/\s+/),d=0;d<c.length;d++)c[d]&&b(c[d].replace(/[,;]/g,""))}function p(a,b){for(var c=b.doc,d=c.getValue(),e=a.toUpperCase(),f="",g="",i=[],j={start:v(0,0),end:v(b.lastLine(),b.getLineHandle(b.lastLine()).length)},k=d.indexOf(u.QUERY_DIV);k!=-1;)i.push(c.posFromIndex(k)),k=d.indexOf(u.QUERY_DIV,k+1);i.unshift(v(0,0)),i.push(v(b.lastLine(),b.getLineHandle(b.lastLine()).text.length));for(var l=null,m=b.getCursor(),n=0;n<i.length;n++){if((null==l||w(m,l)>0)&&w(m,i[n])<=0){j={start:l,end:i[n]};break}l=i[n]}for(var p=c.getRange(j.start,j.end,!1),n=0;n<p.length;n++){var q=p[n];if(o(q,(function(a){var b=a.toUpperCase();b===e&&h(f)&&(g=f),b!==u.ALIAS_KEYWORD&&(f=a)})),g)break}return g}var q,r,s,t,u={QUERY_DIV:";",ALIAS_KEYWORD:"AS"},v=a.Pos,w=a.cmpPos;a.registerHelper("hint","sql",(function(a,b){q=g(b&&b.tables);var e=b&&b.defaultTable,f=b&&b.disableKeywords;r=e&&h(e),s=c(a),t=d(a),e&&!r&&(r=p(e,a)),r=r||[],r.columns&&(r=r.columns);var i,j,l,m=a.getCursor(),o=[],u=a.getTokenAt(m);return u.end>m.ch&&(u.end=m.ch,u.string=u.string.slice(0,m.ch-u.start)),u.string.match(/^[.`"\w@]\w*$/)?(l=u.string,i=u.start,j=u.end):(i=j=m.ch,l=""),"."==l.charAt(0)||l.charAt(0)==t?i=n(m,u,o,a):(k(o,l,q,(function(a){return a})),k(o,l,r,(function(a){return a})),f||k(o,l,s,(function(a){return a.toUpperCase()}))),{list:o,from:v(m.line,i),to:v(m.line,j)}}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../mode/sql/sql")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../mode/sql/sql"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return"[object Array]"==Object.prototype.toString.call(a)}function c(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).keywords}function d(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).identifierQuote||"`"}function e(a){return"string"==typeof a?a:a.text}function f(a,c){return b(c)&&(c={columns:c}),c.text||(c.text=a),c}function g(a){var c={};if(b(a))for(var d=a.length-1;d>=0;d--){var g=a[d];c[e(g).toUpperCase()]=f(e(g),g)}else if(a)for(var h in a)c[h.toUpperCase()]=f(h,a[h]);return c}function h(a){return q[a.toUpperCase()]}function i(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function j(a,b){var c=a.length,d=e(b).substr(0,c);return a.toUpperCase()===d.toUpperCase()}function k(a,c,d,e){if(b(d))for(var f=0;f<d.length;f++)j(c,d[f])&&a.push(e(d[f]));else for(var g in d)if(d.hasOwnProperty(g)){var h=d[g];h=h&&h!==!0?h.displayText?{text:h.text,displayText:h.displayText}:h.text:g,j(c,h)&&a.push(e(h))}}function l(a){"."==a.charAt(0)&&(a=a.substr(1));for(var b=a.split(t+t),c=0;c<b.length;c++)b[c]=b[c].replace(new RegExp(t,"g"),"");return b.join(t)}function m(a){for(var b=e(a).split("."),c=0;c<b.length;c++)b[c]=t+b[c].replace(new RegExp(t,"g"),t+t)+t;var d=b.join(".");return"string"==typeof a?d:(a=i(a),a.text=d,a)}function n(a,b,c,d){for(var e=!1,f=[],g=b.start,j=!0;j;)j="."==b.string.charAt(0),e=e||b.string.charAt(0)==t,g=b.start,f.unshift(l(b.string)),b=d.getTokenAt(v(a.line,b.start)),"."==b.string&&(j=!0,b=d.getTokenAt(v(a.line,b.start)));var n=f.join(".");k(c,n,q,(function(a){return e?m(a):a})),k(c,n,r,(function(a){return e?m(a):a})),n=f.pop();var o=f.join("."),s=!1,u=o;if(!h(o)){var w=o;o=p(o,d),o!==w&&(s=!0)}var x=h(o);return x&&x.columns&&(x=x.columns),x&&k(c,n,x,(function(a){var b=o;return 1==s&&(b=u),"string"==typeof a?a=b+"."+a:(a=i(a),a.text=b+"."+a.text),e?m(a):a})),g}function o(a,b){for(var c=a.split(/\s+/),d=0;d<c.length;d++)c[d]&&b(c[d].replace(/[,;]/g,""))}function p(a,b){for(var c=b.doc,d=c.getValue(),e=a.toUpperCase(),f="",g="",i=[],j={start:v(0,0),end:v(b.lastLine(),b.getLineHandle(b.lastLine()).length)},k=d.indexOf(u.QUERY_DIV);k!=-1;)i.push(c.posFromIndex(k)),k=d.indexOf(u.QUERY_DIV,k+1);i.unshift(v(0,0)),i.push(v(b.lastLine(),b.getLineHandle(b.lastLine()).text.length));for(var l=null,m=b.getCursor(),n=0;n<i.length;n++){if((null==l||w(m,l)>0)&&w(m,i[n])<=0){j={start:l,end:i[n]};break}l=i[n]}if(j.start)for(var p=c.getRange(j.start,j.end,!1),n=0;n<p.length;n++){var q=p[n];if(o(q,(function(a){var b=a.toUpperCase();b===e&&h(f)&&(g=f),b!==u.ALIAS_KEYWORD&&(f=a)})),g)break}return g}var q,r,s,t,u={QUERY_DIV:";",ALIAS_KEYWORD:"AS"},v=a.Pos,w=a.cmpPos;a.registerHelper("hint","sql",(function(a,b){q=g(b&&b.tables);var e=b&&b.defaultTable,f=b&&b.disableKeywords;r=e&&h(e),s=c(a),t=d(a),e&&!r&&(r=p(e,a)),r=r||[],r.columns&&(r=r.columns);var i,j,l,m=a.getCursor(),o=[],u=a.getTokenAt(m);return u.end>m.ch&&(u.end=m.ch,u.string=u.string.slice(0,m.ch-u.start)),u.string.match(/^[.`"\w@]\w*$/)?(l=u.string,i=u.start,j=u.end):(i=j=m.ch,l=""),"."==l.charAt(0)||l.charAt(0)==t?i=n(m,u,o,a):(k(o,l,r,(function(a){return a})),k(o,l,q,(function(a){return a})),f||k(o,l,s,(function(a){return a.toUpperCase()}))),{list:o,from:v(m.line,i),to:v(m.line,j)}}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/lint/javascript-lint.js b/media/editors/codemirror/addon/lint/javascript-lint.js index c58f785025872..9d2eb7410c05f 100644 --- a/media/editors/codemirror/addon/lint/javascript-lint.js +++ b/media/editors/codemirror/addon/lint/javascript-lint.js @@ -12,15 +12,6 @@ "use strict"; // declare global: JSHINT - var bogus = [ "Dangerous comment" ]; - - var warnings = [ [ "Expected '{'", - "Statement body should be inside '{ }' braces." ] ]; - - var errors = [ "Missing semicolon", "Extra comma", "Missing property name", - "Unmatched ", " and instead saw", " is not defined", - "Unclosed string", "Stopping, unable to continue" ]; - function validator(text, options) { if (!window.JSHINT) { if (window.console) { @@ -28,6 +19,8 @@ } return []; } + if (!options.indent) // JSHint error.character actually is a column index, this fixes underlining on lines using tabs for indentation + options.indent = 1; // JSHint default value is 4 JSHINT(text, options, options.globals); var errors = JSHINT.data().errors, result = []; if (errors) parseErrors(errors, result); @@ -36,105 +29,34 @@ CodeMirror.registerHelper("lint", "javascript", validator); - function cleanup(error) { - // All problems are warnings by default - fixWith(error, warnings, "warning", true); - fixWith(error, errors, "error"); - - return isBogus(error) ? null : error; - } - - function fixWith(error, fixes, severity, force) { - var description, fix, find, replace, found; - - description = error.description; - - for ( var i = 0; i < fixes.length; i++) { - fix = fixes[i]; - find = (typeof fix === "string" ? fix : fix[0]); - replace = (typeof fix === "string" ? null : fix[1]); - found = description.indexOf(find) !== -1; - - if (force || found) { - error.severity = severity; - } - if (found && replace) { - error.description = replace; - } - } - } - - function isBogus(error) { - var description = error.description; - for ( var i = 0; i < bogus.length; i++) { - if (description.indexOf(bogus[i]) !== -1) { - return true; - } - } - return false; - } - function parseErrors(errors, output) { for ( var i = 0; i < errors.length; i++) { var error = errors[i]; if (error) { - var linetabpositions, index; - - linetabpositions = []; - - // This next block is to fix a problem in jshint. Jshint - // replaces - // all tabs with spaces then performs some checks. The error - // positions (character/space) are then reported incorrectly, - // not taking the replacement step into account. Here we look - // at the evidence line and try to adjust the character position - // to the correct value. - if (error.evidence) { - // Tab positions are computed once per line and cached - var tabpositions = linetabpositions[error.line]; - if (!tabpositions) { - var evidence = error.evidence; - tabpositions = []; - // ugggh phantomjs does not like this - // forEachChar(evidence, function(item, index) { - Array.prototype.forEach.call(evidence, function(item, - index) { - if (item === '\t') { - // First col is 1 (not 0) to match error - // positions - tabpositions.push(index + 1); - } - }); - linetabpositions[error.line] = tabpositions; - } - if (tabpositions.length > 0) { - var pos = error.character; - tabpositions.forEach(function(tabposition) { - if (pos > tabposition) pos -= 1; - }); - error.character = pos; + if (error.line <= 0) { + if (window.console) { + window.console.warn("Cannot display JSHint error (invalid line " + error.line + ")", error); } + continue; } var start = error.character - 1, end = start + 1; if (error.evidence) { - index = error.evidence.substring(start).search(/.\b/); + var index = error.evidence.substring(start).search(/.\b/); if (index > -1) { end += index; } } // Convert to format expected by validation service - error.description = error.reason;// + "(jshint)"; - error.start = error.character; - error.end = end; - error = cleanup(error); - - if (error) - output.push({message: error.description, - severity: error.severity, - from: CodeMirror.Pos(error.line - 1, start), - to: CodeMirror.Pos(error.line - 1, end)}); + var hint = { + message: error.reason, + severity: error.code.startsWith('W') ? "warning" : "error", + from: CodeMirror.Pos(error.line - 1, start), + to: CodeMirror.Pos(error.line - 1, end) + }; + + output.push(hint); } } } diff --git a/media/editors/codemirror/addon/lint/javascript-lint.min.js b/media/editors/codemirror/addon/lint/javascript-lint.min.js index 16a3d95bc0add..aa903ae210265 100644 --- a/media/editors/codemirror/addon/lint/javascript-lint.min.js +++ b/media/editors/codemirror/addon/lint/javascript-lint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){if(!window.JSHINT)return window.console&&window.console.error("Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run."),[];JSHINT(a,b,b.globals);var c=JSHINT.data().errors,d=[];return c&&f(c,d),d}function c(a){return d(a,h,"warning",!0),d(a,i,"error"),e(a)?null:a}function d(a,b,c,d){var e,f,g,h,i;e=a.description;for(var j=0;j<b.length;j++)f=b[j],g="string"==typeof f?f:f[0],h="string"==typeof f?null:f[1],i=e.indexOf(g)!==-1,(d||i)&&(a.severity=c),i&&h&&(a.description=h)}function e(a){for(var b=a.description,c=0;c<g.length;c++)if(b.indexOf(g[c])!==-1)return!0;return!1}function f(b,d){for(var e=0;e<b.length;e++){var f=b[e];if(f){var g,h;if(g=[],f.evidence){var i=g[f.line];if(!i){var j=f.evidence;i=[],Array.prototype.forEach.call(j,(function(a,b){"\t"===a&&i.push(b+1)})),g[f.line]=i}if(i.length>0){var k=f.character;i.forEach((function(a){k>a&&(k-=1)})),f.character=k}}var l=f.character-1,m=l+1;f.evidence&&(h=f.evidence.substring(l).search(/.\b/),h>-1&&(m+=h)),f.description=f.reason,f.start=f.character,f.end=m,f=c(f),f&&d.push({message:f.description,severity:f.severity,from:a.Pos(f.line-1,l),to:a.Pos(f.line-1,m)})}}}var g=["Dangerous comment"],h=[["Expected '{'","Statement body should be inside '{ }' braces."]],i=["Missing semicolon","Extra comma","Missing property name","Unmatched "," and instead saw"," is not defined","Unclosed string","Stopping, unable to continue"];a.registerHelper("lint","javascript",b)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){if(!window.JSHINT)return window.console&&window.console.error("Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run."),[];b.indent||(b.indent=1),JSHINT(a,b,b.globals);var d=JSHINT.data().errors,e=[];return d&&c(d,e),e}function c(b,c){for(var d=0;d<b.length;d++){var e=b[d];if(e){if(e.line<=0){window.console&&window.console.warn("Cannot display JSHint error (invalid line "+e.line+")",e);continue}var f=e.character-1,g=f+1;if(e.evidence){var h=e.evidence.substring(f).search(/.\b/);h>-1&&(g+=h)}var i={message:e.reason,severity:e.code.startsWith("W")?"warning":"error",from:a.Pos(e.line-1,f),to:a.Pos(e.line-1,g)};c.push(i)}}}a.registerHelper("lint","javascript",b)})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/sublime.js b/media/editors/codemirror/keymap/sublime.js index 5925b7c51f145..7a9aadd330979 100644 --- a/media/editors/codemirror/keymap/sublime.js +++ b/media/editors/codemirror/keymap/sublime.js @@ -382,7 +382,7 @@ var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []); for (var i = 0; i < ranges.length; i++) { var from = ranges[i].from(), to = ranges[i].to(); - var found = cm.findMarks(from, to); + var found = ranges[i].empty() ? cm.findMarksAt(from) : cm.findMarks(from, to); for (var j = 0; j < found.length; j++) { if (found[j].sublimeBookmark) { found[j].clear(); diff --git a/media/editors/codemirror/keymap/sublime.min.js b/media/editors/codemirror/keymap/sublime.min.js index dd0d0fc7a4d12..eceb98e0f8912 100644 --- a/media/editors/codemirror/keymap/sublime.min.js +++ b/media/editors/codemirror/keymap/sublime.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(n(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(n(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return n(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=n(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:n(c.line,d),to:n(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line"),h=a.findPosV(f.head,b,"line"),i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(b){for(var c=b.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=f.head,h=b.scanForBracket(g,-1);if(!h)return!1;for(;;){var i=b.scanForBracket(g,1);if(!i)return!1;if(i.ch==o.charAt(o.indexOf(h.ch)+1)){var j=n(h.pos.line,h.pos.ch+1);if(0!=a.cmpPos(j,f.from())||0!=a.cmpPos(i.pos,f.to())){d.push({anchor:j,head:i.pos});break}if(h=b.scanForBracket(h.pos,-1),!h)return!1}g=n(i.pos.line,i.pos.ch+1)}}return b.setSelections(d),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=n(g,0),j=n(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:n(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?n(a.firstLine(),0):a.clipPos(n(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.commands,n=a.Pos;m.goSubwordLeft=function(a){c(a,-1)},m.goSubwordRight=function(a){c(a,1)},m.scrollLineUp=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},m.scrollLineDown=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},m.splitSelectionByLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:n(g,0),head:g==f.line?f:n(g)});a.setSelections(c,0)},m.singleSelectionTop=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},m.selectLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:n(e.from().line,0),head:n(e.to().line+1,0)})}a.setSelections(c)},m.insertLineAfter=function(a){return d(a,!1)},m.insertLineBefore=function(a){return d(a,!0)},m.selectNextOccurrence=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,n(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)},m.addCursorToPrevLine=function(a){f(a,-1)},m.addCursorToNextLine=function(a){f(a,1)};var o="(){}[]";m.selectScope=function(a){h(a)||a.execCommand("selectAll")},m.selectBetweenBrackets=function(b){if(!h(b))return a.Pass},m.goToBracket=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&n(e.pos.line,e.pos.ch+1)||c.head}))},m.swapLineUp=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:n(h.anchor.line-1,h.anchor.ch),head:n(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,n(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",n(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},m.swapLineDown=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",n(c-1),n(c),"+swapLine"):b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),b.replaceRange(f+"\n",n(e,0),null,"+swapLine")}b.scrollIntoView()}))},m.toggleCommentIndented=function(a){a.toggleComment({indent:!0})},m.joinLines=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&n(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=n(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",n(j),n(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},m.duplicateLine=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",n(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},m.sortLines=function(a){i(a,!0)},m.sortLinesInsensitive=function(a){i(a,!1)},m.nextBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},m.prevBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},m.toggleBookmark=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},m.clearBookmarks=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},m.selectBookmarks=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m.smartBackspace=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new n(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},m.delLineRight=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,n(b[c].to().line),"+delete");a.scrollIntoView()}))},m.upcaseAtCursor=function(a){j(a,(function(a){return a.toUpperCase()}))},m.downcaseAtCursor=function(a){j(a,(function(a){return a.toLowerCase()}))},m.setSublimeMark=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},m.selectToSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},m.deleteToSublimeMark=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},m.swapWithSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},m.sublimeYank=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m.showInCenter=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)},m.findUnder=function(a){l(a,!0)},m.findUnderPrevious=function(a){l(a,!1)},m.findAllUnder=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}};var p=a.keyMap;p.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},a.normalizeKeyMap(p.macSublime),p.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},a.normalizeKeyMap(p.pcSublime);var q=p.default==p.macDefault;p.sublime=q?p.macSublime:p.pcSublime})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(n(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(n(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return n(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=n(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:n(c.line,d),to:n(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line"),h=a.findPosV(f.head,b,"line"),i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(b){for(var c=b.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=f.head,h=b.scanForBracket(g,-1);if(!h)return!1;for(;;){var i=b.scanForBracket(g,1);if(!i)return!1;if(i.ch==o.charAt(o.indexOf(h.ch)+1)){var j=n(h.pos.line,h.pos.ch+1);if(0!=a.cmpPos(j,f.from())||0!=a.cmpPos(i.pos,f.to())){d.push({anchor:j,head:i.pos});break}if(h=b.scanForBracket(h.pos,-1),!h)return!1}g=n(i.pos.line,i.pos.ch+1)}}return b.setSelections(d),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=n(g,0),j=n(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:n(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?n(a.firstLine(),0):a.clipPos(n(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.commands,n=a.Pos;m.goSubwordLeft=function(a){c(a,-1)},m.goSubwordRight=function(a){c(a,1)},m.scrollLineUp=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},m.scrollLineDown=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},m.splitSelectionByLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:n(g,0),head:g==f.line?f:n(g)});a.setSelections(c,0)},m.singleSelectionTop=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},m.selectLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:n(e.from().line,0),head:n(e.to().line+1,0)})}a.setSelections(c)},m.insertLineAfter=function(a){return d(a,!1)},m.insertLineBefore=function(a){return d(a,!0)},m.selectNextOccurrence=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,n(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)},m.addCursorToPrevLine=function(a){f(a,-1)},m.addCursorToNextLine=function(a){f(a,1)};var o="(){}[]";m.selectScope=function(a){h(a)||a.execCommand("selectAll")},m.selectBetweenBrackets=function(b){if(!h(b))return a.Pass},m.goToBracket=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&n(e.pos.line,e.pos.ch+1)||c.head}))},m.swapLineUp=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:n(h.anchor.line-1,h.anchor.ch),head:n(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,n(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",n(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},m.swapLineDown=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",n(c-1),n(c),"+swapLine"):b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),b.replaceRange(f+"\n",n(e,0),null,"+swapLine")}b.scrollIntoView()}))},m.toggleCommentIndented=function(a){a.toggleComment({indent:!0})},m.joinLines=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&n(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=n(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",n(j),n(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},m.duplicateLine=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",n(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},m.sortLines=function(a){i(a,!0)},m.sortLinesInsensitive=function(a){i(a,!1)},m.nextBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},m.prevBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},m.toggleBookmark=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=b[d].empty()?a.findMarksAt(e):a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},m.clearBookmarks=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},m.selectBookmarks=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m.smartBackspace=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new n(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},m.delLineRight=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,n(b[c].to().line),"+delete");a.scrollIntoView()}))},m.upcaseAtCursor=function(a){j(a,(function(a){return a.toUpperCase()}))},m.downcaseAtCursor=function(a){j(a,(function(a){return a.toLowerCase()}))},m.setSublimeMark=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},m.selectToSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},m.deleteToSublimeMark=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},m.swapWithSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},m.sublimeYank=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m.showInCenter=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)},m.findUnder=function(a){l(a,!0)},m.findUnderPrevious=function(a){l(a,!1)},m.findAllUnder=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}};var p=a.keyMap;p.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},a.normalizeKeyMap(p.macSublime),p.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},a.normalizeKeyMap(p.pcSublime);var q=p.default==p.macDefault;p.sublime=q?p.macSublime:p.pcSublime})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/addons.js b/media/editors/codemirror/lib/addons.js index 1e8a8854818fc..ab1b0e8136123 100644 --- a/media/editors/codemirror/lib/addons.js +++ b/media/editors/codemirror/lib/addons.js @@ -295,8 +295,8 @@ else curType = "skip"; } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && - cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch && - (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { + cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) { + if (cur.ch > 2 && /\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass; curType = "addFour"; } else if (identical) { var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) @@ -639,18 +639,23 @@ } } - var currentlyHighlighted = null; function doMatchBrackets(cm) { cm.operation(function() { - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} - currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); + if (cm.state.matchBrackets.currentlyHighlighted) { + cm.state.matchBrackets.currentlyHighlighted(); + cm.state.matchBrackets.currentlyHighlighted = null; + } + cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); }); } CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchBrackets); - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} + if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) { + cm.state.matchBrackets.currentlyHighlighted(); + cm.state.matchBrackets.currentlyHighlighted = null; + } } if (val) { cm.state.matchBrackets = typeof val == "object" ? val : {}; @@ -1289,7 +1294,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { var iter = new Iter(cm, start.line, 0); for (;;) { var openTag = toNextTag(iter), end; - if (!openTag || iter.line != start.line || !(end = toTagEnd(iter))) return; + if (!openTag || !(end = toTagEnd(iter)) || iter.line != start.line) return; if (!openTag[1] && end != "selfClose") { var startPos = Pos(iter.line, iter.ch); var endPos = findMatchingClose(iter, openTag[2]); @@ -7663,7 +7668,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]}, {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\.conf$/i}, {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]}, - {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h"]}, + {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h", "ino"]}, {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]}, {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy"]}, {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp"]}, @@ -7710,7 +7715,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "Haxe", mime: "text/x-haxe", mode: "haxe", ext: ["hx"]}, {name: "HXML", mime: "text/x-hxml", mode: "haxe", ext: ["hxml"]}, {name: "ASP.NET", mime: "application/x-aspx", mode: "htmlembedded", ext: ["aspx"], alias: ["asp", "aspx"]}, - {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm"], alias: ["xhtml"]}, + {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm", "handlebars", "hbs"], alias: ["xhtml"]}, {name: "HTTP", mime: "message/http", mode: "http"}, {name: "IDL", mime: "text/x-idl", mode: "idl", ext: ["pro"]}, {name: "Pug", mime: "text/x-pug", mode: "pug", ext: ["jade", "pug"], alias: ["jade"]}, @@ -7747,7 +7752,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, - {name: "PHP", mime: ["application/x-httpd-php", "text/x-php"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, + {name: "PHP", mimes: ["text/x-php", "application/x-httpd-php", "application/x-httpd-php-open"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, @@ -7774,6 +7779,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "Smalltalk", mime: "text/x-stsrc", mode: "smalltalk", ext: ["st"]}, {name: "Smarty", mime: "text/x-smarty", mode: "smarty", ext: ["tpl"]}, {name: "Solr", mime: "text/x-solr", mode: "solr"}, + {name: "SML", mime: "text/x-sml", mode: "mllike", ext: ["sml", "sig", "fun", "smackspec"]}, {name: "Soy", mime: "text/x-soy", mode: "soy", ext: ["soy"], alias: ["closure template"]}, {name: "SPARQL", mime: "application/sparql-query", mode: "sparql", ext: ["rq", "sparql"], alias: ["sparul"]}, {name: "Spreadsheet", mime: "text/x-spreadsheet", mode: "spreadsheet", alias: ["excel", "formula"]}, diff --git a/media/editors/codemirror/lib/addons.min.js b/media/editors/codemirror/lib/addons.min.js index 9b743339b995d..317d374a5e9fe 100644 --- a/media/editors/codemirror/lib/addons.min.js +++ b/media/editors/codemirror/lib/addons.min.js @@ -1,5 +1,5 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d&&(u.ch<=2||c.getRange(n(u.line,u.ch-3),n(u.line,u.ch-2))!=d))s="addFour";else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||d.line!=b.line||!(e=g(d)))return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen),!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c; -e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line; -}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)), -e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:["application/x-httpd-php","text/x-php"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"] -},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen), +!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"; +}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch; +switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell", +mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/codemirror.js b/media/editors/codemirror/lib/codemirror.js index 7549661169e5f..ff9d1ee09e90d 100644 --- a/media/editors/codemirror/lib/codemirror.js +++ b/media/editors/codemirror/lib/codemirror.js @@ -6585,11 +6585,11 @@ function onResize(cm) { } var keyNames = { - 3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", + 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", - 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 127: "Delete", + 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 127: "Delete", 145: "ScrollLock", 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" @@ -6736,6 +6736,9 @@ function keyName(event, noShift) { if (presto && event.keyCode == 34 && event["char"]) { return false } var name = keyNames[event.keyCode]; if (name == null || event.altGraphKey) { return false } + // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause, + // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+) + if (event.keyCode == 3 && event.code) { name = event.code; } return addModifierNames(name, event, noShift) } @@ -8025,7 +8028,7 @@ function applyTextInput(cm, inserted, deleted, sel, origin) { var paste = cm.state.pasteIncoming || origin == "paste"; var textLines = splitLinesAuto(inserted), multiPaste = null; - // When pasing N lines into N selections, insert one line per selection + // When pasting N lines into N selections, insert one line per selection if (paste && sel.ranges.length > 1) { if (lastCopied && lastCopied.text.join("\n") == inserted) { if (sel.ranges.length % lastCopied.text.length == 0) { @@ -9659,7 +9662,7 @@ CodeMirror$1.fromTextArea = fromTextArea; addLegacyProps(CodeMirror$1); -CodeMirror$1.version = "5.33.0"; +CodeMirror$1.version = "5.34.0"; return CodeMirror$1; diff --git a/media/editors/codemirror/lib/codemirror.min.js b/media/editors/codemirror/lib/codemirror.min.js index f5ab651aa1db5..776963185617f 100644 --- a/media/editors/codemirror/lib/codemirror.min.js +++ b/media/editors/codemirror/lib/codemirror.min.js @@ -1,6 +1,6 @@ !(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()})(this,(function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Wg.length<=a;)Wg.push(p(Wg)+" ");return Wg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Xg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Yg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2,f=d<0?Math.ceil(e):Math.floor(e);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Rg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),tg&&ug<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),vg||pg&&Eg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,(function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e})),d}function D(a,b,c){var d=[];return a.iter(b,c,(function(a){d.push(a.text)})),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Zg=!0}function U(){$g=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,(function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}})),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=$g&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=$g&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=$g&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter((function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)}))}function va(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;_g=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:_g=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:_g=e)}return null!=d?d:_g}function xa(a,b){var c=a.order;return null==c&&(c=a.order=ah(a.text,b)),c}function ya(a,b){return a._handlers&&a._handlers[b]||bh}function za(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Aa(a,b){var c=ya(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Ba(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Aa(a,c||b.type,a,b),Ha(b)||b.codemirrorIgnore}function Ca(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Da(a,b){return ya(a,b).length>0}function Ea(a){a.prototype.on=function(a,b){ch(this,a,b)},a.prototype.off=function(a,b){za(this,a,b)}}function Fa(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ga(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ha(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ia(a){Fa(a),Ga(a)}function Ja(a){return a.target||a.srcElement}function Ka(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),Fg&&a.ctrlKey&&1==b&&(b=3),b}function La(a){if(null==Pg){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Pg=b.offsetWidth<=1&&b.offsetHeight>2&&!(tg&&ug<8))}var e=Pg?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Ma(a){if(null!=Qg)return Qg;var d=c(a,document.createTextNode("AخA")),e=Jg(d,0,1).getBoundingClientRect(),f=Jg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Qg=f.right-e.right<3)}function Na(a){if(null!=hh)return hh;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Jg(b,0,1).getBoundingClientRect();return hh=Math.abs(e.left-f.left)>1}function Oa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),ih[a]=b}function Pa(a,b){jh[a]=b}function Qa(a){if("string"==typeof a&&jh.hasOwnProperty(a))a=jh[a];else if(a&&"string"==typeof a.name&&jh.hasOwnProperty(a.name)){var b=jh[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Qa("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Qa("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Ra(a,b){b=Qa(b);var c=ih[b.name];if(!c)return Ra(a,"text/plain");var d=c(a,b);if(kh.hasOwnProperty(b.name)){var e=kh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Sa(a,b){var c=kh.hasOwnProperty(a)?kh[a]:kh[a]={};k(b,c)}function Ta(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ua(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Va(a,b,c){return!a.startState||a.startState(b,c)}function Wa(a,b,c,d){var e=[a.state.modeGen],f={};cb(a,b.text,a.doc.mode,c,(function(a,b){return e.push(a,b)}),f,d);for(var g=c.state,h=function(d){c.baseTokens=e;var h=a.state.overlays[d],i=1,j=0;c.state=!0,cb(a,b.text,h.mode,c,(function(a,b){for(var c=i;j<a;){var d=e[i];d>a&&e.splice(i,1,a,e[i+1],d),i+=2,j=Math.min(a,d)}if(b)if(h.opaque)e.splice(c,i-c,a,"overlay "+b),i=c+2;else for(;c<i;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}}),f),c.state=g,c.baseTokens=null,c.baseTokenPos=1},i=0;i<a.state.overlays.length;++i)h(i);return{styles:e,classes:f.bgClass||f.textClass?f:null}}function Xa(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Ya(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Ta(a.doc.mode,d.state),f=Wa(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Ya(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new nh(d,!0,b);var f=db(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?nh.fromSaved(d,g,f):new nh(d,Va(d.mode),f);return d.iter(f,b,(function(c){Za(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()})),c&&(d.modeFrontier=h.line),h}function Za(a,b,c,d){var e=a.doc.mode,f=new lh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&$a(e,c.state);!f.eol();)_a(e,f,c.state),f.start=f.pos}function $a(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ua(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function _a(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ua(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function ab(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=Ya(a,b.line,c),k=new lh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=_a(g,k,j.state),d&&h.push(new oh(k,e,Ta(f.mode,j.state)));return d?h:new oh(k,e,j.state)}function bb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function cb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new lh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&bb($a(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&Za(a,b,d,l.pos),l.pos=b.length,i=null):i=bb(_a(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function db(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof mh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function eb(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof mh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function fb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function gb(a){a.parent=null,ca(a)}function hb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?sh:rh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ib(a,b){var c=e("span",null,null,vg?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(tg||vg)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=kb,Ma(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=mb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);ob(g,d,Xa(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(La(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(vg){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Aa(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function jb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function kb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?lb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));tg&&ug<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),tg&&ug<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),tg&&ug<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function lb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function mb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function nb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function ob(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)nb(b,0,s[y]);if(m&&(m.from||0)==o){if(nb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=hb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),hb(c[C+1],b.cm.options))}function pb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function qb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new pb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function rb(a){th?th.ops.push(a):a.ownsGroup=th={ops:[a],delayedCallbacks:[]}}function sb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function tb(a,b){var c=a.ownsGroup;if(c)try{sb(c)}finally{th=null,b(c)}}function ub(a,b){var c=ya(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);th?d=th.delayedCallbacks:uh?d=uh:(d=uh=[],setTimeout(vb,0));for(var f=function(a){d.push((function(){return c[a].apply(null,e)}))},g=0;g<c.length;++g)f(g)}}function vb(){var a=uh;uh=null;for(var b=0;b<a.length;++b)a[b]()}function wb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Ab(a,b):"gutter"==f?Cb(a,b,c,d):"class"==f?Bb(a,b):"widget"==f&&Db(a,b,d)}b.changes=null}function xb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),tg&&ug<8&&(a.node.style.zIndex=2)),a.node}function yb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=xb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function zb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ib(a,b)}function Ab(a,b){var c=b.text.className,d=zb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Bb(a,b)):c&&(b.text.className=c)}function Bb(a,b){yb(a,b),b.line.wrapClass?xb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Cb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=xb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=xb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Db(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Fb(a,b,c)}function Eb(a,b,c,d){var e=zb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Bb(a,b),Cb(a,b,c,d),Fb(a,b,d),b.node}function Fb(a,b,c){if(Gb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Gb(a,b.rest[d],b,c,!1)}function Gb(a,b,c,e,f){if(b.widgets)for(var g=xb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Hb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),ub(j,"redraw")}}function Hb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Ib(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Jb(a,b){for(var c=Ja(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Kb(a){return a.lineSpace.offsetTop}function Lb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Mb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Nb(a){return Rg-a.display.nativeBarWidth}function Ob(a){return a.display.scroller.clientWidth-Nb(a)-a.display.barWidth}function Pb(a){return a.display.scroller.clientHeight-Nb(a)-a.display.barHeight}function Qb(a,b,c){var d=a.options.lineWrapping,e=d&&Ob(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Rb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Sb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new pb(a.doc,b,d);e.lineN=d;var f=e.built=ib(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Tb(a,b,c,d){return Wb(a,Vb(a,b),c,d)}function Ub(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Vb(a,b){var c=F(b),d=Ub(a,c);d&&!d.text?d=null:d&&d.changes&&(wb(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Sb(a,b));var e=Rb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Wb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Qb(a,b.view,b.rect),b.hasHeights=!0),f=Zb(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function Xb(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function Yb(a,b){var c=vh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function Zb(a,b,c,d){var e,f=Xb(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse; if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=tg&&ug<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():Yb(Jg(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}tg&&ug<11&&(e=$b(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(tg&&ug<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:vh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function $b(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Na(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function _b(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ac(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)_b(a.display.view[c])}function bc(a){ac(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function cc(){return xg&&Dg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function dc(){return xg&&Dg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ec(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Ib(a.widgets[c]));return b}function fc(a,b,c,d,e){if(!e){var f=ec(b);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=sa(b);if("local"==d?g+=Kb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=a.display.lineSpace.getBoundingClientRect();g+=h.top+("window"==d?0:dc());var i=h.left+("window"==d?0:cc());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function gc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=cc(),e-=dc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function hc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),fc(a,d,Tb(a,d,b.ch,e),c)}function ic(a,b,c,d,e,f){function g(b,g){var h=Wb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,fc(a,d,h,c)}function h(a,b,c){var d=i[b],e=1==d.level;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Vb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=_g,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function jc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Kb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function kc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function lc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return kc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return kc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=pc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function mc(a,b,c,d){d-=ec(b);var e=b.text.length,f=z((function(b){return Wb(a,c,b-1).bottom<=d}),e,0);return e=z((function(b){return Wb(a,c,b).top>d}),f,e),{begin:f,end:e}}function nc(a,b,c,d){c||(c=Vb(a,b));var e=fc(a,b,Wb(a,c,d),"line").top;return mc(a,b,c,e)}function oc(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function pc(a,b,c,d,e){e-=sa(b);var f=Vb(a,b),g=ec(b),h=0,i=b.text.length,j=!0,k=xa(b,a.doc.direction);if(k){var l=(a.options.lineWrapping?rc:qc)(a,b,c,f,k,d,e);j=1!=l.level,h=j?l.from:l.to-1,i=j?l.to:l.from-1}var m,n,o=null,p=null,q=z((function(b){var c=Wb(a,f,b);return c.top+=g,c.bottom+=g,!!oc(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(o=b,p=c),!0)}),h,i),r=!1;if(p){var s=d-p.left<p.right-d,t=s==j;q=o+(t?0:1),n=t?"after":"before",m=s?p.left:p.right}else{j||q!=i&&q!=h||q++,n=0==q?"after":q==b.text.length?"before":Wb(a,f,q-(j?1:0)).bottom+g<=e==j?"after":"before";var u=ic(a,J(c,q,n),"line",b,f);m=u.left,r=e<u.top||e>=u.bottom}return q=y(b.text,q,1),kc(c,q,n,r,d-m)}function qc(a,b,c,d,e,f,g){var h=z((function(h){var i=e[h],j=1!=i.level;return oc(ic(a,J(c,j?i.to:i.from,j?"before":"after"),"line",b,d),f,g,!0)}),0,e.length-1),i=e[h];if(h>0){var j=1!=i.level,k=ic(a,J(c,j?i.from:i.to,j?"after":"before"),"line",b,d);oc(k,f,g,!0)&&k.top>g&&(i=e[h-1])}return i}function rc(a,b,c,d,e,f,g){var h=mc(a,b,d,g),i=h.begin,j=h.end;/\s/.test(b.text.charAt(j-1))&&j--;for(var k=null,l=null,m=0;m<e.length;m++){var n=e[m];if(!(n.from>=j||n.to<=i)){var o=1!=n.level,p=Wb(a,d,o?Math.min(j,n.to)-1:Math.max(i,n.from)).right,q=p<f?f-p+1e9:p-f;(!k||l>q)&&(k=n,l=q)}}return k||(k=e[e.length-1]),k.from<i&&(k={from:i,to:k.to,level:k.level}),k.to>j&&(k={from:k.from,to:j,level:k.level}),k}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==qh){qh=d("pre");for(var e=0;e<49;++e)qh.appendChild(document.createTextNode("x")),qh.appendChild(d("br"));qh.appendChild(document.createTextNode("x"))}c(a.measure,qh);var f=qh.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter((function(a){var b=c(a);b!=a.height&&E(a,b)}))}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Ja(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(a){return null}var i,j=lc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Mb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Ec(a,h,f)}}return d}function Cc(a,b,c){var e=ic(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b){return a.top-b.top||a.left-b.left}function Ec(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return hc(a,J(b,c),"div",n,d)}function g(b,c,d){var e=nc(a,n,null,b),g="ltr"==c==("after"==d)?"left":"right",h="after"==d?e.begin:e.end-(/\s/.test(n.text.charAt(e.end-1))?2:1);return f(h,g)[g]}var i,j,n=B(h,b),o=n.text.length,p=xa(n,h.direction);return va(p,c||0,null==d?o:d,(function(a,b,h,n){var q="ltr"==h,r=f(a,q?"left":"right"),s=f(b-1,q?"right":"left"),t=null==c&&0==a,u=null==d&&b==o,v=0==n,w=!p||n==p.length-1;if(s.top-r.top<=3){var x=(m?t:u)&&v,y=(m?u:t)&&w,z=x?k:(q?r:s).left,A=y?l:(q?s:r).right;e(z,r.top,A-z,r.bottom)}else{var B,C,D,E;q?(B=m&&t&&v?k:r.left,C=m?l:g(a,h,"before"),D=m?k:g(b,h,"after"),E=m&&u&&w?l:s.right):(B=m?g(a,h,"before"):k,C=!m&&t&&v?l:r.right,D=!m&&u&&w?k:s.left,E=m?g(b,h,"after"):l),e(B,r.top,C-B,r.bottom),r.bottom<s.top&&e(k,r.bottom,null,s.top),e(D,s.top,E-D,s.bottom)}(!i||Dc(r,i)<0)&&(i=r),Dc(s,i)<0&&(i=s),(!j||Dc(r,j)<0)&&(j=r),Dc(s,j)<0&&(j=s)})),{start:i,end:j}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Mb(a.display),k=j.left,l=Math.max(g.sizerWidth,Ob(a)-g.sizer.offsetLeft)-j.right,m="ltr"==h.direction,n=b.from(),o=b.to();if(n.line==o.line)f(n.line,n.ch,o.ch);else{var p=B(h,n.line),q=B(h,o.line),r=la(p)==la(q),s=f(n.line,n.ch,r?p.text.length+1:null).end,t=f(o.line,r?0:null,o.ch).start;r&&(s.top<t.top-2?(e(s.right,s.top,null,s.bottom),e(k,t.top,t.left,t.bottom)):e(s.right,s.top,t.left-s.right,s.bottom)),s.bottom<t.top&&e(k,s.bottom,null,t.top)}c.appendChild(i)}function Fc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval((function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"}),a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Gc(a){a.state.focused||(a.display.input.focus(),Ic(a))}function Hc(a){a.state.delayingBlurEvent=!0,setTimeout((function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Jc(a))}),100)}function Ic(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Aa(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),vg&&setTimeout((function(){return a.display.input.reset(!0)}),20)),a.display.input.receivedFocus()),Fc(a))}function Jc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Aa(a,"blur",a,b),a.state.focused=!1,Mg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout((function(){a.state.focused||(a.display.shift=!1)}),150))}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(tg&&ug<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b){var c=a.widgets[b],d=c.node.parentNode;d&&(c.height=d.offsetHeight)}}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Kb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Fd(a),!0}return!1}function Pc(a,b){if(!Ba(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!Bg){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Kb(a.display))+"px;\n height: "+(b.bottom-b.top+Nb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Qc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=ic(a,b),i=c&&c!=b?ic(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Sc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Zc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(_c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Rc(a,b){var c=Sc(a,b);null!=c.scrollTop&&Zc(a,c.scrollTop),null!=c.scrollLeft&&_c(a,c.scrollLeft)}function Sc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Pb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Lb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Ob(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Tc(a,b){null!=b&&(Xc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Uc(a){Xc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Vc(a,b,c){null==b&&null==c||Xc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Wc(a,b){Xc(a),a.curOp.scrollToPos=b}function Xc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=jc(a,b.from),d=jc(a,b.to);Yc(a,c,d,b.margin)}}function Yc(a,b,c,d){var e=Sc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Vc(a,e.scrollLeft,e.scrollTop)}function Zc(a,b){Math.abs(a.doc.scrollTop-b)<2||(pg||Dd(a,{top:b}),$c(a,b,!0),pg&&Dd(a),wd(a,100))}function $c(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function _c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Nc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ad(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Lb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Nb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bd(a,b){b||(b=ad(a));var c=a.display.barWidth,d=a.display.barHeight;cd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),cd(a,ad(a)),c=a.display.barWidth,d=a.display.barHeight}function cd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function dd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Mg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new yh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),ch(b,"mousedown",(function(){a.state.focused&&setTimeout((function(){return a.display.input.focus()}),0)})),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?_c(a,b):Zc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function ed(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++zh},rb(a.curOp)}function fd(a){var b=a.curOp;tb(b,(function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;gd(a)}))}function gd(a){for(var b=a.ops,c=0;c<b.length;c++)hd(b[c]);for(var d=0;d<b.length;d++)id(b[d]);for(var e=0;e<b.length;e++)jd(b[e]);for(var f=0;f<b.length;f++)kd(b[f]);for(var g=0;g<b.length;g++)ld(b[g])}function hd(a){var b=a.cm,c=b.display;yd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new Ah(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function id(a){a.updatedDisplay=a.mustUpdate&&Bd(a.cm,a.update)}function jd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=ad(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Tb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Nb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Ob(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection())}function kd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&_c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g();a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&bd(b,a.barMeasure),a.updatedDisplay&&Gd(b,a.barMeasure),a.selectionChanged&&Fc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Gc(a.cm)}function ld(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Cd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&$c(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&_c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Qc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Pc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Aa(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Aa(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Aa(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function md(a,b){if(a.curOp)return b();ed(a);try{return b()}finally{fd(a)}}function nd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);ed(a);try{return b.apply(a,arguments)}finally{fd(a)}}}function od(a){return function(){if(this.curOp)return a.apply(this,arguments);ed(this);try{return a.apply(this,arguments)}finally{fd(this)}}}function pd(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);ed(b);try{return a.apply(this,arguments)}finally{fd(b)}}}function qd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)$g&&oa(a.doc,b)<e.viewTo&&sd(a);else if(c<=e.viewFrom)$g&&pa(a.doc,c+d)>e.viewFrom?sd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)sd(a);else if(b<=e.viewFrom){var f=td(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):sd(a)}else if(c>=e.viewTo){var g=td(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):sd(a)}else{var h=td(a,b,b,-1),i=td(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(qb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):sd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function rd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function sd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function td(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!$g||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function ud(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=qb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=qb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(qb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function vd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function wd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(xd,a))}function xd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ya(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),(function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(b.mode,d.state):null,i=Wa(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&Za(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return wd(a,a.options.workDelay),!0})),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&md(a,(function(){for(var b=0;b<e.length;b++)rd(a,e[b],"text")}))}}function yd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Nb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Nb(a)+"px",b.scrollbarsClipped=!0)}function zd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function Ad(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Bd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return sd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==vd(a))return!1;Oc(a)&&(sd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),$g&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;ud(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=vd(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=zd(a);return j>4&&(d.lineDiv.style.display="none"),Ed(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,Ad(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,wd(a,400)),d.updateLineNumbers=null,!0}function Cd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Ob(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Lb(a.display)-Pb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Bd(a,b);d=!1){Kc(a);var e=ad(a);Ac(a),bd(a,e),Gd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Dd(a,b){var c=new Ah(a,b);if(Bd(a,c)){Kc(a),Cd(a,c);var d=ad(a);Ac(a),bd(a,d),Gd(a,d),c.finish()}}function Ed(a,c,d){function e(b){var c=b.nextSibling;return vg&&Fg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),wb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Eb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Fd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Gd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Nb(a)+"px"}function Hd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Fd(a)}function Id(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Jd(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Kd(a){var b=Jd(a);return b.x*=Ch,b.y*=Ch,b}function Ld(a,b){var c=Jd(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&Fg&&vg)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!pg&&!yg&&null!=Ch)return e&&i&&Zc(a,Math.max(0,g.scrollTop+e*Ch)),_c(a,Math.max(0,g.scrollLeft+d*Ch)),(!e||e&&i)&&Fa(b),void(f.wheelStartX=null);if(e&&null!=Ch){var m=e*Ch,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Dd(a,{top:n,bottom:o})}Bh<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout((function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(Ch=(Ch*Bh+c)/(Bh+1),++Bh)}}),200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Md(a,b){var c=a[b];a.sort((function(a,b){return K(a.from(),b.from())})),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Eh(i?h:g,i?g:h))}}return new Dh(a,b)}function Nd(a,b){return new Dh([new Eh(a,b||a)],0)}function Od(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Pd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Od(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Od(b).ch-b.to.ch),J(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new Eh(Pd(e.anchor,b),Pd(e.head,b)))}return Md(c,a.sel.primIndex)}function Rd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Sd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Rd(h.from,e,f),j=Rd(Od(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new Eh(l?j:i,l?i:j)}else d[g]=new Eh(i,i)}return new Dh(d,a.sel.primIndex)}function Td(a){a.doc.mode=Ra(a.options,a.doc.modeOption),Ud(a)}function Ud(a){a.doc.iter((function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)})),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first, -wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(ge(d,h),c&&!d.equals(a.sel))return void te(a,d,{clearRedo:!1});f=d}var j=[];ge(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Ce(a,e,!1))return g.length=0,{};j.push(ae(a,e));var f=c?Qd(a,e):p(g);He(a,e,f,ke(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Od(e)});var h=[];Xd(a,(function(a,b){b||m(h,a.history)!=-1||(Me(a.history,e),h.push(a.history)),He(a,e,null,ke(a,e))}))},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&hf(c,a,b)}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){return a.refresh()}),!0), -b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Jh, -this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80)); -},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.33.0",Vf})); \ No newline at end of file +wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(ge(d,h),c&&!d.equals(a.sel))return void te(a,d,{clearRedo:!1});f=d}var j=[];ge(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Ce(a,e,!1))return g.length=0,{};j.push(ae(a,e));var f=c?Qd(a,e):p(g);He(a,e,f,ke(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Od(e)});var h=[];Xd(a,(function(a,b){b||m(h,a.history)!=-1||(Me(a.history,e),h.push(a.history)),He(a,e,null,ke(a,e))}))},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&(3==a.keyCode&&a.code&&(c=a.code),hf(c,a,b))}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){ +return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null), +this.id=++Jh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null; +}a.updateFromDOM()}),80))},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.34.0",Vf})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/clike/clike.js b/media/editors/codemirror/mode/clike/clike.js index 77064290638f5..b89ddf0d59bf7 100644 --- a/media/editors/codemirror/mode/clike/clike.js +++ b/media/editors/codemirror/mode/clike/clike.js @@ -617,7 +617,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { intendSwitch: false, indentStatements: false, multiLineStrings: true, - number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, + number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, blockKeywords: words("catch class do else finally for if where try while enum"), defKeywords: words("class val var object interface fun"), atoms: words("true false null this"), diff --git a/media/editors/codemirror/mode/clike/clike.min.js b/media/editors/codemirror/mode/clike/clike.min.js index c62024d83395c..8e52dac2dbd37 100644 --- a/media/editors/codemirror/mode/clike/clike.min.js +++ b/media/editors/codemirror/mode/clike/clike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/javascript/javascript.js b/media/editors/codemirror/mode/javascript/javascript.js index edab99f3d74a1..9eb50ba974e8b 100644 --- a/media/editors/codemirror/mode/javascript/javascript.js +++ b/media/editors/codemirror/mode/javascript/javascript.js @@ -345,15 +345,14 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "for") return cont(pushlex("form"), forspec, statement, poplex); if (type == "class" || (isTS && value == "interface")) { cx.marked = "keyword"; return cont(pushlex("form"), className, poplex); } if (type == "variable") { - if (isTS && value == "type") { - cx.marked = "keyword" - return cont(typeexpr, expect("operator"), typeexpr, expect(";")); - } else if (isTS && value == "declare") { + if (isTS && value == "declare") { cx.marked = "keyword" return cont(statement) - } else if (isTS && (value == "module" || value == "enum") && cx.stream.match(/^\s*\w/, false)) { + } else if (isTS && (value == "module" || value == "enum" || value == "type") && cx.stream.match(/^\s*\w/, false)) { cx.marked = "keyword" - return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) + if (value == "enum") return cont(enumdef); + else if (value == "type") return cont(typeexpr, expect("operator"), typeexpr, expect(";")); + else return cont(pushlex("form"), pattern, expect("{"), pushlex("}"), block, poplex, poplex) } else if (isTS && value == "namespace") { cx.marked = "keyword" return cont(pushlex("form"), expression, block, poplex) @@ -608,7 +607,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function maybeTypeDefault(_, value) { if (value == "=") return cont(typeexpr) } - function vardef() { + function vardef(_, value) { + if (value == "enum") {cx.marked = "keyword"; return cont(enumdef)} return pass(pattern, maybetype, maybeAssign, vardefCont); } function pattern(type, value) { @@ -680,8 +680,10 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } function classNameAfter(type, value) { if (value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, classNameAfter) - if (value == "extends" || value == "implements" || (isTS && type == ",")) + if (value == "extends" || value == "implements" || (isTS && type == ",")) { + if (value == "implements") cx.marked = "keyword"; return cont(isTS ? typeexpr : expression, classNameAfter); + } if (type == "{") return cont(pushlex("}"), classBody, poplex); } function classBody(type, value) { @@ -745,6 +747,12 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "]") return cont(); return pass(commasep(expressionNoComma, "]")); } + function enumdef() { + return pass(pushlex("form"), pattern, expect("{"), pushlex("}"), commasep(enummember, "}"), poplex, poplex) + } + function enummember() { + return pass(pattern, maybeAssign); + } function isContinuedStatement(state, textAfter) { return state.lastType == "operator" || state.lastType == "," || diff --git a/media/editors/codemirror/mode/javascript/javascript.min.js b/media/editors/codemirror/mode/javascript/javascript.min.js index cfa1017a80099..7d7587842f04b 100644 --- a/media/editors/codemirror/mode/javascript/javascript.min.js +++ b/media/editors/codemirror/mode/javascript/javascript.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ea=a,Fa=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Da(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Na.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(La.test(c)){a.eatWhile(La);var f=a.current();if("."!=b.lastType){if(Ma.propertyIsEnumerable(f)){var j=Ma[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ia&&"@"==b.peek()&&b.match(Oa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ka){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Pa.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(La.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ra.state=a,Ra.stream=e,Ra.marked=null,Ra.cc=f,Ra.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():Ja?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ra.marked?Ra.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ra.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ra.state;if(Ra.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ra.state.context={prev:Ra.state.context,vars:Ra.state.localVars},Ra.state.localVars=Sa}function s(){Ra.state.localVars=Ra.state.context.vars,Ra.state.context=Ra.state.context.prev}function t(a,b){var c=function(){var c=Ra.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ra.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ra.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ra.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ra.state.lexical.info&&Ra.state.cc[Ra.state.cc.length-1]==u&&Ra.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ka&&"interface"==b?(Ra.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ka&&"type"==b?(Ra.marked="keyword",o(W,v("operator"),W,v(";"))):Ka&&"declare"==b?(Ra.marked="keyword",o(w)):Ka&&("module"==b||"enum"==b)&&Ra.stream.match(/^\s*\w/,!1)?(Ra.marked="keyword",o(t("form"),da,v("{"),t("}"),S,u,u)):Ka&&"namespace"==b?(Ra.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ra.state.fatArrowAt==Ra.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Qa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ka&&"interface"==b?(Ra.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ka&&"!"==b?o(d):Ka&&"<"==b&&Ra.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ka&&"as"==b?(Ra.marked="keyword",o(W,d)):"regexp"==a?(Ra.state.lastType=Ra.marked="operator",Ra.stream.backUp(Ra.stream.pos-Ra.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ra.marked="string-2",Ra.state.tokenize=i,o(E)}function G(a){return j(Ra.stream,Ra.state),n("{"==a?w:x)}function H(a){return j(Ra.stream,Ra.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ka?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ra.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ra.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ra.marked="property",o()}function N(a,b){if("async"==a)return Ra.marked="property",o(N);if("variable"==a||"keyword"==Ra.style){if(Ra.marked="property","get"==b||"set"==b)return o(O);var c;return Ka&&Ra.state.fatArrowAt==Ra.stream.start&&(c=Ra.stream.match(/^\s*:\s*/,!1))&&(Ra.state.fatArrowAt=Ra.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ra.marked=Ia?"property":Ra.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ka&&q(b)?(Ra.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ra.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ra.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ra.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ra.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ka){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ka&&":"==a)return Ra.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ra.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ra.marked="keyword",o(W)):(Ra.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ra.style?(Ra.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ra.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(){return n(da,T,fa,ga)}function da(a,b){return Ka&&q(b)?(Ra.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ra.stream.match(/^\s*:/,!1)?("variable"==a&&(Ra.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a){if("("==a)return o(t(")"),ja,v(")"),u)}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ra.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ra.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ra.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ka&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ka&&q(b)?(Ra.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ka&&","==a?o(Ka?W:x,ra):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ka&&q(b))&&Ra.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ra.marked="keyword",o(sa)):"variable"==a||"keyword"==Ra.style?(Ra.marked="property",o(Ka?ta:na,sa)):"["==a?o(x,T,v("]"),Ka?ta:na,sa):"*"==b?(Ra.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ra.marked="keyword",o(Aa,v(";"))):"default"==b?(Ra.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ra.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ra.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ra.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ra.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(a,b){return"operator"==a.lastType||","==a.lastType||Na.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Da(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ea,Fa,Ga=b.indentUnit,Ha=c.statementIndent,Ia=c.jsonld,Ja=c.json||Ia,Ka=c.typescript,La=c.wordCharacters||/[\w$\xa1-\uffff]/,Ma=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Na=/[+\-*&%=<>!?|~^@]/,Oa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Pa="([{}])",Qa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ra={state:null,column:null,marked:null,cc:null},Sa={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ga,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ea?c:(b.lastType="operator"!=Ea||"++"!=Fa&&"--"!=Fa?Ea:"incdec",m(b,c,Ea,Fa,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ha&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ga:"stat"==l?i.indented+(Ca(b,d)?Ha||Ga:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ga):i.indented+(/^(?:case|default)\b/.test(d)?Ga:2*Ga)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Ja?null:"/*",blockCommentEnd:Ja?null:"*/",blockCommentContinue:Ja?null:" * ",lineComment:Ja?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Ja?"json":"javascript",jsonldMode:Ia,jsonMode:Ja,expressionAllowed:Da,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Pa.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(Na.test(c)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ra.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ta.state=a,Ta.stream=e,Ta.marked=null,Ta.cc=f,Ta.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ta.marked?Ta.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ta.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ta.state;if(Ta.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ta.state.context={prev:Ta.state.context,vars:Ta.state.localVars},Ta.state.localVars=Ua}function s(){Ta.state.localVars=Ta.state.context.vars,Ta.state.context=Ta.state.context.prev}function t(a,b){var c=function(){var c=Ta.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ta.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ta.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ta.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ta.state.lexical.info&&Ta.state.cc[Ta.state.cc.length-1]==u&&Ta.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Ta.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Ta.stream.match(/^\s*\w/,!1)?(Ta.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Ta.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ta.state.fatArrowAt==Ta.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Sa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Ta.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Ta.marked="keyword",o(W,d)):"regexp"==a?(Ta.state.lastType=Ta.marked="operator",Ta.stream.backUp(Ta.stream.pos-Ta.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ta.marked="string-2",Ta.state.tokenize=i,o(E)}function G(a){return j(Ta.stream,Ta.state),n("{"==a?w:x)}function H(a){return j(Ta.stream,Ta.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ta.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ta.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ta.marked="property",o()}function N(a,b){if("async"==a)return Ta.marked="property",o(N);if("variable"==a||"keyword"==Ta.style){if(Ta.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Ta.state.fatArrowAt==Ta.stream.start&&(c=Ta.stream.match(/^\s*:\s*/,!1))&&(Ta.state.fatArrowAt=Ta.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ta.marked=Ka?"property":Ta.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Ta.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ta.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ta.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ta.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ta.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ma){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ma&&":"==a)return Ta.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ta.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ta.marked="keyword",o(W)):(Ta.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ta.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Ta.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Ta.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ta.stream.match(/^\s*:/,!1)?("variable"==a&&(Ta.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a){if("("==a)return o(t(")"),ja,v(")"),u)}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ta.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ta.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ta.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Ta.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Ta.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Ta.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ta.marked="keyword",o(sa)):"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Ta.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ta.marked="keyword",o(Aa,v(";"))):"default"==b?(Ta.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ta.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ta.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ta.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ta.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=c.statementIndent,Ka=c.jsonld,La=c.json||Ka,Ma=c.typescript,Na=c.wordCharacters||/[\w$\xa1-\uffff]/,Oa=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra="([{}])",Sa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ta={state:null,column:null,marked:null,cc:null},Ua={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"!=Ga||"++"!=Ha&&"--"!=Ha?Ga:"incdec",m(b,c,Ga,Ha,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ja&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ia:"stat"==l?i.indented+(Ea(b,d)?Ja||Ia:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ia):i.indented+(/^(?:case|default)\b/.test(d)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/markdown/markdown.js b/media/editors/codemirror/mode/markdown/markdown.js index b2f79fc302024..24e24680262d7 100644 --- a/media/editors/codemirror/mode/markdown/markdown.js +++ b/media/editors/codemirror/mode/markdown/markdown.js @@ -113,6 +113,8 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { function blankLine(state) { // Reset linkTitle state state.linkTitle = false; + state.linkHref = false; + state.linkText = false; // Reset EM state state.em = false; // Reset STRONG state @@ -151,6 +153,12 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { if (state.indentationDiff === null) { state.indentationDiff = state.indentation; if (prevLineIsList) { + // Reset inline styles which shouldn't propagate aross list items + state.em = false; + state.strong = false; + state.code = false; + state.strikethrough = false; + state.list = null; // While this list item's marker's indentation is less than the deepest // list item's content's indentation,pop the deepest list item @@ -777,6 +785,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { formatting: false, linkText: s.linkText, linkTitle: s.linkTitle, + linkHref: s.linkHref, code: s.code, em: s.em, strong: s.strong, @@ -856,6 +865,8 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { return mode; }, "xml"); +CodeMirror.defineMIME("text/markdown", "markdown"); + CodeMirror.defineMIME("text/x-markdown", "markdown"); }); diff --git a/media/editors/codemirror/mode/markdown/markdown.min.js b/media/editors/codemirror/mode/markdown/markdown.min.js index 44d41bbf96552..13d049f43dd8e 100644 --- a/media/editors/codemirror/mode/markdown/markdown.min.js +++ b/media/editors/codemirror/mode/markdown/markdown.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,!b.localState&&(b.f=b.block,b.f!=j)){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.linkHref=!1,a.linkText=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.em=!1,f.strong=!1,f.code=!1,f.strikethrough=!1,f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,linkHref:b.linkHref,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,!b.localState&&(b.f=b.block,b.f!=j)){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/markdown","markdown"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/meta.js b/media/editors/codemirror/mode/meta.js index 91a925268edfb..6377e1b9afaad 100644 --- a/media/editors/codemirror/mode/meta.js +++ b/media/editors/codemirror/mode/meta.js @@ -17,7 +17,7 @@ {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]}, {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\.conf$/i}, {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]}, - {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h"]}, + {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h", "ino"]}, {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]}, {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy"]}, {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp"]}, @@ -64,7 +64,7 @@ {name: "Haxe", mime: "text/x-haxe", mode: "haxe", ext: ["hx"]}, {name: "HXML", mime: "text/x-hxml", mode: "haxe", ext: ["hxml"]}, {name: "ASP.NET", mime: "application/x-aspx", mode: "htmlembedded", ext: ["aspx"], alias: ["asp", "aspx"]}, - {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm"], alias: ["xhtml"]}, + {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm", "handlebars", "hbs"], alias: ["xhtml"]}, {name: "HTTP", mime: "message/http", mode: "http"}, {name: "IDL", mime: "text/x-idl", mode: "idl", ext: ["pro"]}, {name: "Pug", mime: "text/x-pug", mode: "pug", ext: ["jade", "pug"], alias: ["jade"]}, @@ -101,7 +101,7 @@ {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, - {name: "PHP", mime: ["application/x-httpd-php", "text/x-php"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, + {name: "PHP", mimes: ["text/x-php", "application/x-httpd-php", "application/x-httpd-php-open"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]}, {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, @@ -128,6 +128,7 @@ {name: "Smalltalk", mime: "text/x-stsrc", mode: "smalltalk", ext: ["st"]}, {name: "Smarty", mime: "text/x-smarty", mode: "smarty", ext: ["tpl"]}, {name: "Solr", mime: "text/x-solr", mode: "solr"}, + {name: "SML", mime: "text/x-sml", mode: "mllike", ext: ["sml", "sig", "fun", "smackspec"]}, {name: "Soy", mime: "text/x-soy", mode: "soy", ext: ["soy"], alias: ["closure template"]}, {name: "SPARQL", mime: "application/sparql-query", mode: "sparql", ext: ["rq", "sparql"], alias: ["sparul"]}, {name: "Spreadsheet", mime: "text/x-spreadsheet", mode: "spreadsheet", alias: ["excel", "formula"]}, diff --git a/media/editors/codemirror/mode/meta.min.js b/media/editors/codemirror/mode/meta.min.js index 837d6f1c1b9c0..bad0396244fd7 100644 --- a/media/editors/codemirror/mode/meta.min.js +++ b/media/editors/codemirror/mode/meta.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:["application/x-httpd-php","text/x-php"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/mllike/mllike.js b/media/editors/codemirror/mode/mllike/mllike.js index 90e5b41a63cc8..92b51cbc3417b 100644 --- a/media/editors/codemirror/mode/mllike/mllike.js +++ b/media/editors/codemirror/mode/mllike/mllike.js @@ -13,31 +13,26 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { var words = { - 'let': 'keyword', - 'rec': 'keyword', + 'as': 'keyword', + 'do': 'keyword', + 'else': 'keyword', + 'end': 'keyword', + 'exception': 'keyword', + 'fun': 'keyword', + 'functor': 'keyword', + 'if': 'keyword', 'in': 'keyword', + 'include': 'keyword', + 'let': 'keyword', 'of': 'keyword', - 'and': 'keyword', - 'if': 'keyword', + 'open': 'keyword', + 'rec': 'keyword', + 'struct': 'keyword', 'then': 'keyword', - 'else': 'keyword', - 'for': 'keyword', - 'to': 'keyword', - 'while': 'keyword', - 'do': 'keyword', - 'done': 'keyword', - 'fun': 'keyword', - 'function': 'keyword', - 'val': 'keyword', 'type': 'keyword', - 'mutable': 'keyword', - 'match': 'keyword', - 'with': 'keyword', - 'try': 'keyword', - 'open': 'builtin', - 'ignore': 'builtin', - 'begin': 'keyword', - 'end': 'keyword' + 'val': 'keyword', + 'while': 'keyword', + 'with': 'keyword' }; var extraWords = parserConfig.extraWords || {}; @@ -68,7 +63,7 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { return state.tokenize(stream, state); } } - if (ch === '~') { + if (ch === '~' || ch === '?') { stream.eatWhile(/\w/); return 'variable-2'; } @@ -98,7 +93,7 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { } return 'number'; } - if ( /[+\-*&%=<>!?|@]/.test(ch)) { + if ( /[+\-*&%=<>!?|@\.~:]/.test(ch)) { return 'operator'; } if (/[\w\xa1-\uffff]/.test(ch)) { @@ -165,16 +160,64 @@ CodeMirror.defineMode('mllike', function(_config, parserConfig) { CodeMirror.defineMIME('text/x-ocaml', { name: 'mllike', extraWords: { - 'succ': 'keyword', + 'and': 'keyword', + 'assert': 'keyword', + 'begin': 'keyword', + 'class': 'keyword', + 'constraint': 'keyword', + 'done': 'keyword', + 'downto': 'keyword', + 'external': 'keyword', + 'function': 'keyword', + 'initializer': 'keyword', + 'lazy': 'keyword', + 'match': 'keyword', + 'method': 'keyword', + 'module': 'keyword', + 'mutable': 'keyword', + 'new': 'keyword', + 'nonrec': 'keyword', + 'object': 'keyword', + 'private': 'keyword', + 'sig': 'keyword', + 'to': 'keyword', + 'try': 'keyword', + 'value': 'keyword', + 'virtual': 'keyword', + 'when': 'keyword', + + // builtins + 'raise': 'builtin', + 'failwith': 'builtin', + 'true': 'builtin', + 'false': 'builtin', + + // Pervasives builtins + 'asr': 'builtin', + 'land': 'builtin', + 'lor': 'builtin', + 'lsl': 'builtin', + 'lsr': 'builtin', + 'lxor': 'builtin', + 'mod': 'builtin', + 'or': 'builtin', + + // More Pervasives + 'raise_notrace': 'builtin', 'trace': 'builtin', 'exit': 'builtin', 'print_string': 'builtin', 'print_endline': 'builtin', - 'true': 'atom', - 'false': 'atom', - 'raise': 'keyword', - 'module': 'keyword', - 'sig': 'keyword' + + 'int': 'type', + 'float': 'type', + 'bool': 'type', + 'char': 'type', + 'string': 'type', + 'unit': 'type', + + // Modules + 'List': 'builtin' } }); @@ -182,18 +225,21 @@ CodeMirror.defineMIME('text/x-fsharp', { name: 'mllike', extraWords: { 'abstract': 'keyword', - 'as': 'keyword', 'assert': 'keyword', 'base': 'keyword', + 'begin': 'keyword', 'class': 'keyword', 'default': 'keyword', 'delegate': 'keyword', + 'do!': 'keyword', + 'done': 'keyword', 'downcast': 'keyword', 'downto': 'keyword', 'elif': 'keyword', - 'exception': 'keyword', 'extern': 'keyword', 'finally': 'keyword', + 'for': 'keyword', + 'function': 'keyword', 'global': 'keyword', 'inherit': 'keyword', 'inline': 'keyword', @@ -201,38 +247,108 @@ CodeMirror.defineMIME('text/x-fsharp', { 'internal': 'keyword', 'lazy': 'keyword', 'let!': 'keyword', - 'member' : 'keyword', + 'match': 'keyword', + 'member': 'keyword', 'module': 'keyword', + 'mutable': 'keyword', 'namespace': 'keyword', 'new': 'keyword', 'null': 'keyword', 'override': 'keyword', 'private': 'keyword', 'public': 'keyword', - 'return': 'keyword', 'return!': 'keyword', + 'return': 'keyword', 'select': 'keyword', 'static': 'keyword', - 'struct': 'keyword', + 'to': 'keyword', + 'try': 'keyword', 'upcast': 'keyword', - 'use': 'keyword', 'use!': 'keyword', - 'val': 'keyword', + 'use': 'keyword', + 'void': 'keyword', 'when': 'keyword', - 'yield': 'keyword', 'yield!': 'keyword', + 'yield': 'keyword', + + // Reserved words + 'atomic': 'keyword', + 'break': 'keyword', + 'checked': 'keyword', + 'component': 'keyword', + 'const': 'keyword', + 'constraint': 'keyword', + 'constructor': 'keyword', + 'continue': 'keyword', + 'eager': 'keyword', + 'event': 'keyword', + 'external': 'keyword', + 'fixed': 'keyword', + 'method': 'keyword', + 'mixin': 'keyword', + 'object': 'keyword', + 'parallel': 'keyword', + 'process': 'keyword', + 'protected': 'keyword', + 'pure': 'keyword', + 'sealed': 'keyword', + 'tailcall': 'keyword', + 'trait': 'keyword', + 'virtual': 'keyword', + 'volatile': 'keyword', + // builtins 'List': 'builtin', 'Seq': 'builtin', 'Map': 'builtin', 'Set': 'builtin', + 'Option': 'builtin', 'int': 'builtin', 'string': 'builtin', - 'raise': 'builtin', - 'failwith': 'builtin', 'not': 'builtin', 'true': 'builtin', - 'false': 'builtin' + 'false': 'builtin', + + 'raise': 'builtin', + 'failwith': 'builtin' + }, + slashComments: true +}); + + +CodeMirror.defineMIME('text/x-sml', { + name: 'mllike', + extraWords: { + 'abstype': 'keyword', + 'and': 'keyword', + 'andalso': 'keyword', + 'case': 'keyword', + 'datatype': 'keyword', + 'fn': 'keyword', + 'handle': 'keyword', + 'infix': 'keyword', + 'infixr': 'keyword', + 'local': 'keyword', + 'nonfix': 'keyword', + 'op': 'keyword', + 'orelse': 'keyword', + 'raise': 'keyword', + 'withtype': 'keyword', + 'eqtype': 'keyword', + 'sharing': 'keyword', + 'sig': 'keyword', + 'signature': 'keyword', + 'structure': 'keyword', + 'where': 'keyword', + 'true': 'keyword', + 'false': 'keyword', + + // types + 'int': 'builtin', + 'real': 'builtin', + 'string': 'builtin', + 'char': 'builtin', + 'bool': 'builtin' }, slashComments: true }); diff --git a/media/editors/codemirror/mode/mllike/mllike.min.js b/media/editors/codemirror/mode/mllike/mllike.min.js index fba894450cc0b..963063ce4ea11 100644 --- a/media/editors/codemirror/mode/mllike/mllike.min.js +++ b/media/editors/codemirror/mode/mllike/mllike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mllike",(function(a,b){function c(a,c){var h=a.next();if('"'===h)return c.tokenize=d,c.tokenize(a,c);if("{"===h&&a.eat("|"))return c.longString=!0,c.tokenize=f,c.tokenize(a,c);if("("===h&&a.eat("*"))return c.commentLevel++,c.tokenize=e,c.tokenize(a,c);if("~"===h)return a.eatWhile(/\w/),"variable-2";if("`"===h)return a.eatWhile(/\w/),"quote";if("/"===h&&b.slashComments&&a.eat("/"))return a.skipToEnd(),"comment";if(/\d/.test(h))return"0"===h&&a.eat(/[bB]/)&&a.eatWhile(/[01]/),"0"===h&&a.eat(/[xX]/)&&a.eatWhile(/[0-9a-fA-F]/),"0"===h&&a.eat(/[oO]/)?a.eatWhile(/[0-7]/):(a.eatWhile(/[\d_]/),a.eat(".")&&a.eatWhile(/[\d]/),a.eat(/[eE]/)&&a.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@]/.test(h))return"operator";if(/[\w\xa1-\uffff]/.test(h)){a.eatWhile(/[\w\xa1-\uffff]/);var i=a.current();return g.hasOwnProperty(i)?g[i]:"variable"}return null}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}function f(a,b){for(var d,e;b.longString&&null!=(e=a.next());)"|"===d&&"}"===e&&(b.longString=!1),d=e;return b.longString||(b.tokenize=c),"string"}var g={let:"keyword",rec:"keyword",in:"keyword",of:"keyword",and:"keyword",if:"keyword",then:"keyword",else:"keyword",for:"keyword",to:"keyword",while:"keyword",do:"keyword",done:"keyword",fun:"keyword",function:"keyword",val:"keyword",type:"keyword",mutable:"keyword",match:"keyword",with:"keyword",try:"keyword",open:"builtin",ignore:"builtin",begin:"keyword",end:"keyword"},h=b.extraWords||{};for(var i in h)h.hasOwnProperty(i)&&(g[i]=b.extraWords[i]);return{startState:function(){return{tokenize:c,commentLevel:0,longString:!1}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:b.slashComments?"//":null}})),a.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{succ:"keyword",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",true:"atom",false:"atom",raise:"keyword",module:"keyword",sig:"keyword"}}),a.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",as:"keyword",assert:"keyword",base:"keyword",class:"keyword",default:"keyword",delegate:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",exception:"keyword",extern:"keyword",finally:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",member:"keyword",module:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword",return:"keyword","return!":"keyword",select:"keyword",static:"keyword",struct:"keyword",upcast:"keyword",use:"keyword","use!":"keyword",val:"keyword",when:"keyword",yield:"keyword","yield!":"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",int:"builtin",string:"builtin",raise:"builtin",failwith:"builtin",not:"builtin",true:"builtin",false:"builtin"},slashComments:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mllike",(function(a,b){function c(a,c){var h=a.next();if('"'===h)return c.tokenize=d,c.tokenize(a,c);if("{"===h&&a.eat("|"))return c.longString=!0,c.tokenize=f,c.tokenize(a,c);if("("===h&&a.eat("*"))return c.commentLevel++,c.tokenize=e,c.tokenize(a,c);if("~"===h||"?"===h)return a.eatWhile(/\w/),"variable-2";if("`"===h)return a.eatWhile(/\w/),"quote";if("/"===h&&b.slashComments&&a.eat("/"))return a.skipToEnd(),"comment";if(/\d/.test(h))return"0"===h&&a.eat(/[bB]/)&&a.eatWhile(/[01]/),"0"===h&&a.eat(/[xX]/)&&a.eatWhile(/[0-9a-fA-F]/),"0"===h&&a.eat(/[oO]/)?a.eatWhile(/[0-7]/):(a.eatWhile(/[\d_]/),a.eat(".")&&a.eatWhile(/[\d]/),a.eat(/[eE]/)&&a.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(h))return"operator";if(/[\w\xa1-\uffff]/.test(h)){a.eatWhile(/[\w\xa1-\uffff]/);var i=a.current();return g.hasOwnProperty(i)?g[i]:"variable"}return null}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}function f(a,b){for(var d,e;b.longString&&null!=(e=a.next());)"|"===d&&"}"===e&&(b.longString=!1),d=e;return b.longString||(b.tokenize=c),"string"}var g={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},h=b.extraWords||{};for(var i in h)h.hasOwnProperty(i)&&(g[i]=b.extraWords[i]);return{startState:function(){return{tokenize:c,commentLevel:0,longString:!1}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:b.slashComments?"//":null}})),a.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),a.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),a.defineMIME("text/x-sml",{name:"mllike",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/shell/shell.js b/media/editors/codemirror/mode/shell/shell.js index 9b8b90b30562b..b806c2bcb55bf 100644 --- a/media/editors/codemirror/mode/shell/shell.js +++ b/media/editors/codemirror/mode/shell/shell.js @@ -84,29 +84,38 @@ CodeMirror.defineMode('shell', function() { function tokenString(quote, style) { var close = quote == "(" ? ")" : quote == "{" ? "}" : quote return function(stream, state) { - var next, end = false, escaped = false; + var next, escaped = false; while ((next = stream.next()) != null) { if (next === close && !escaped) { - end = true; + state.tokens.shift(); break; - } - if (next === '$' && !escaped && quote !== "'") { + } else if (next === '$' && !escaped && quote !== "'" && stream.peek() != close) { escaped = true; stream.backUp(1); state.tokens.unshift(tokenDollar); break; - } - if (!escaped && next === quote && quote !== close) { + } else if (!escaped && quote !== close && next === quote) { state.tokens.unshift(tokenString(quote, style)) return tokenize(stream, state) + } else if (!escaped && /['"]/.test(next) && !/['"]/.test(quote)) { + state.tokens.unshift(tokenStringStart(next, "string")); + stream.backUp(1); + break; } escaped = !escaped && next === '\\'; } - if (end) state.tokens.shift(); return style; }; }; + function tokenStringStart(quote, style) { + return function(stream, state) { + state.tokens[0] = tokenString(quote, style) + stream.next() + return tokenize(stream, state) + } + } + var tokenDollar = function(stream, state) { if (state.tokens.length > 1) stream.eat('$'); var ch = stream.next() diff --git a/media/editors/codemirror/mode/shell/shell.min.js b/media/editors/codemirror/mode/shell/shell.min.js index e070d3d114a1a..a1760e502cbc5 100644 --- a/media/editors/codemirror/mode/shell/shell.min.js +++ b/media/editors/codemirror/mode/shell/shell.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("shell",(function(){function a(a,b){for(var c=b.split(" "),d=0;d<c.length;d++)e[c[d]]=a}function b(a,b){if(a.eatSpace())return null;var g=a.sol(),h=a.next();if("\\"===h)return a.next(),null;if("'"===h||'"'===h||"`"===h)return b.tokens.unshift(c(h,"`"===h?"quote":"string")),d(a,b);if("#"===h)return g&&a.eat("!")?(a.skipToEnd(),"meta"):(a.skipToEnd(),"comment");if("$"===h)return b.tokens.unshift(f),d(a,b);if("+"===h||"="===h)return"operator";if("-"===h)return a.eat("-"),a.eatWhile(/\w/),"attribute";if(/\d/.test(h)&&(a.eatWhile(/\d/),a.eol()||!/\w/.test(a.peek())))return"number";a.eatWhile(/[\w-]/);var i=a.current();return"="===a.peek()&&/\w+/.test(i)?"def":e.hasOwnProperty(i)?e[i]:null}function c(a,b){var e="("==a?")":"{"==a?"}":a;return function(g,h){for(var i,j=!1,k=!1;null!=(i=g.next());){if(i===e&&!k){j=!0;break}if("$"===i&&!k&&"'"!==a){k=!0,g.backUp(1),h.tokens.unshift(f);break}if(!k&&i===a&&a!==e)return h.tokens.unshift(c(a,b)),d(g,h);k=!k&&"\\"===i}return j&&h.tokens.shift(),b}}function d(a,c){return(c.tokens[0]||b)(a,c)}var e={};a("atom","true false"),a("keyword","if then do else elif while until for in esac fi fin fil done exit set unset export function"),a("builtin","ab awk bash beep cat cc cd chown chmod chroot clear cp curl cut diff echo find gawk gcc get git grep hg kill killall ln ls make mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh shopt shred source sort sleep ssh start stop su sudo svn tee telnet top touch vi vim wall wc wget who write yes zsh");var f=function(a,b){b.tokens.length>1&&a.eat("$");var e=a.next();return/['"({]/.test(e)?(b.tokens[0]=c(e,"("==e?"quote":"{"==e?"def":"string"),d(a,b)):(/\d/.test(e)||a.eatWhile(/\w/),b.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(a,b){return d(a,b)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}})),a.defineMIME("text/x-sh","shell"),a.defineMIME("application/x-sh","shell")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("shell",(function(){function a(a,b){for(var c=b.split(" "),d=0;d<c.length;d++)f[c[d]]=a}function b(a,b){if(a.eatSpace())return null;var d=a.sol(),h=a.next();if("\\"===h)return a.next(),null;if("'"===h||'"'===h||"`"===h)return b.tokens.unshift(c(h,"`"===h?"quote":"string")),e(a,b);if("#"===h)return d&&a.eat("!")?(a.skipToEnd(),"meta"):(a.skipToEnd(),"comment");if("$"===h)return b.tokens.unshift(g),e(a,b);if("+"===h||"="===h)return"operator";if("-"===h)return a.eat("-"),a.eatWhile(/\w/),"attribute";if(/\d/.test(h)&&(a.eatWhile(/\d/),a.eol()||!/\w/.test(a.peek())))return"number";a.eatWhile(/[\w-]/);var i=a.current();return"="===a.peek()&&/\w+/.test(i)?"def":f.hasOwnProperty(i)?f[i]:null}function c(a,b){var f="("==a?")":"{"==a?"}":a;return function(h,i){for(var j,k=!1;null!=(j=h.next());){if(j===f&&!k){i.tokens.shift();break}if("$"===j&&!k&&"'"!==a&&h.peek()!=f){k=!0,h.backUp(1),i.tokens.unshift(g);break}if(!k&&a!==f&&j===a)return i.tokens.unshift(c(a,b)),e(h,i);if(!k&&/['"]/.test(j)&&!/['"]/.test(a)){i.tokens.unshift(d(j,"string")),h.backUp(1);break}k=!k&&"\\"===j}return b}}function d(a,b){return function(d,f){return f.tokens[0]=c(a,b),d.next(),e(d,f)}}function e(a,c){return(c.tokens[0]||b)(a,c)}var f={};a("atom","true false"),a("keyword","if then do else elif while until for in esac fi fin fil done exit set unset export function"),a("builtin","ab awk bash beep cat cc cd chown chmod chroot clear cp curl cut diff echo find gawk gcc get git grep hg kill killall ln ls make mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh shopt shred source sort sleep ssh start stop su sudo svn tee telnet top touch vi vim wall wc wget who write yes zsh");var g=function(a,b){b.tokens.length>1&&a.eat("$");var d=a.next();return/['"({]/.test(d)?(b.tokens[0]=c(d,"("==d?"quote":"{"==d?"def":"string"),e(a,b)):(/\d/.test(d)||a.eatWhile(/\w/),b.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(a,b){return e(a,b)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}})),a.defineMIME("text/x-sh","shell"),a.defineMIME("application/x-sh","shell")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/sql/sql.js b/media/editors/codemirror/mode/sql/sql.js index da416f20481d6..63e87733bf768 100644 --- a/media/editors/codemirror/mode/sql/sql.js +++ b/media/editors/codemirror/mode/sql/sql.js @@ -400,7 +400,7 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { name: "sql", client: set("source"), // https://www.postgresql.org/docs/10/static/sql-keywords-appendix.html - keywords: set(sqlKeywords + "a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"), + keywords: set(sqlKeywords + "a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"), // https://www.postgresql.org/docs/10/static/datatype.html builtin: set("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), atoms: set("false true null unknown"), diff --git a/media/editors/codemirror/mode/sql/sql.min.js b/media/editors/codemirror/mode/sql/sql.min.js index 5f3404ea6aa10..e4a88c798241e 100644 --- a/media/editors/codemirror/mode/sql/sql.min.js +++ b/media/editors/codemirror/mode/sql/sql.min.js @@ -1,2 +1,2 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(c))return null;if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),null;if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0};return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(c))return null;if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),null;if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0};return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-sparksql",{name:"sql",keywords:f("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:f("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:f("false true null"),operatorChars:/^[*+\-%<>!=~&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote zerolessFloat")}),a.defineMIME("text/x-esper",{name:"sql",client:f("source"),keywords:f("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:f("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("time"),support:f("decimallessFloat zerolessFloat binaryNumber hexNumber")})})()})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/stylus/stylus.js b/media/editors/codemirror/mode/stylus/stylus.js index b83be16f42b61..a9f50c05d1f1e 100644 --- a/media/editors/codemirror/mode/stylus/stylus.js +++ b/media/editors/codemirror/mode/stylus/stylus.js @@ -76,7 +76,7 @@ if (ch == "#") { stream.next(); // Hex color - if (stream.match(/^[0-9a-f]{6}|[0-9a-f]{3}/i)) { + if (stream.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b/i)) { return ["atom", "atom"]; } // ID selector diff --git a/media/editors/codemirror/mode/stylus/stylus.min.js b/media/editors/codemirror/mode/stylus/stylus.min.js index 86904d39b8631..84efcd1a1996e 100644 --- a/media/editors/codemirror/mode/stylus/stylus.min.js +++ b/media/editors/codemirror/mode/stylus/stylus.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return a=a.sort((function(a,b){return b>a})),new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){for(var b={},c=0;c<a.length;++c)b[a[c]]=!0;return b}function d(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}a.defineMode("stylus",(function(a){function q(a,b){if(ea=a.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),b.context.line.firstWord=ea?ea[0].replace(/^\s*/,""):"",b.context.line.indent=a.indentation(),K=a.peek(),a.match("//"))return a.skipToEnd(),["comment","comment"];if(a.match("/*"))return b.tokenize=r,r(a,b);if('"'==K||"'"==K)return a.next(),b.tokenize=s(K),b.tokenize(a,b);if("@"==K)return a.next(),a.eatWhile(/[\w\\-]/),["def",a.current()];if("#"==K){if(a.next(),a.match(/^[0-9a-f]{6}|[0-9a-f]{3}/i))return["atom","atom"];if(a.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return a.match(ca)?["meta","vendor-prefixes"]:a.match(/^-?[0-9]?\.?[0-9]/)?(a.eatWhile(/[a-z%]/i),["number","unit"]):"!"==K?(a.next(),[a.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==K&&a.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:a.match(X)?("("==a.peek()&&(b.tokenize=t),["property","word"]):a.match(/^[a-z][\w-]*\(/i)?(a.backUp(1),["keyword","mixin"]):a.match(/^(\+|-)[a-z][\w-]*\(/i)?(a.backUp(1),["keyword","block-mixin"]):a.string.match(/^\s*&/)&&a.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:a.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(a.backUp(1),["variable-3","reference"]):a.match(/^&{1}\s*$/)?["variable-3","reference"]:a.match(aa)?["operator","operator"]:a.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?a.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!z(a.current())?(a.match(/\./),["variable-2","variable-name"]):["variable-2","word"]:a.match(_)?["operator",a.current()]:/[:;,{}\[\]\(\)]/.test(K)?(a.next(),[null,K]):(a.next(),[null,null])}function r(a,b){for(var c,d=!1;null!=(c=a.next());){if(d&&"/"==c){b.tokenize=null;break}d="*"==c}return["comment","comment"]}function s(a){return function(b,c){for(var d,e=!1;null!=(d=b.next());){if(d==a&&!e){")"==a&&b.backUp(1);break}e=!e&&"\\"==d}return(d==a||!e&&")"!=a)&&(c.tokenize=null),["string","string"]}}function t(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=s(")"),[null,"("]}function u(a,b,c,d){this.type=a,this.indent=b,this.prev=c,this.line=d||{firstWord:"",indent:0}}function v(a,b,c,d){return d=d>=0?d:O,a.context=new u(c,b.indentation()+d,a.context),c}function w(a,b){var c=a.context.indent-O;return b=b||!1,a.context=a.context.prev,b&&(a.context.indent=c),a.context.type}function x(a,b,c){return fa[c.context.type](a,b,c)}function y(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return x(a,b,c)}function z(a){return a.toLowerCase()in Q}function A(a){return a=a.toLowerCase(),a in S||a in $}function B(a){return a.toLowerCase()in ba}function C(a){return a.toLowerCase().match(ca)}function D(a){var b=a.toLowerCase(),c="variable-2";return z(a)?c="tag":B(a)?c="block-keyword":A(a)?c="property":b in U||b in da?c="atom":"return"==b||b in V?c="keyword":a.match(/^[A-Z]/)&&(c="string"),c}function E(a,b){return I(b)&&("{"==a||"]"==a||"hash"==a||"qualifier"==a)||"block-mixin"==a}function F(a,b){return"{"==a&&b.match(/^\s*\$?[\w-]+/i,!1)}function G(a,b){return":"==a&&b.match(/^[a-z-]+/,!1)}function H(a){return a.sol()||a.string.match(new RegExp("^\\s*"+d(a.current())))}function I(a){return a.eol()||a.match(/^\s*$/,!1)}function J(a){var b=/^\s*[-_]*[a-z0-9]+[\w-]*/i,c="string"==typeof a?a.match(b):a.string.match(b);return c?c[0].replace(/^\s*/,""):""}for(var K,L,M,N,O=a.indentUnit,P="",Q=c(e),R=/^(a|b|i|s|col|em)$/i,S=c(i),T=c(j),U=c(m),V=c(l),W=c(f),X=b(f),Y=c(h),Z=c(g),$=c(k),_=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,aa=b(n),ba=c(o),ca=new RegExp(/^\-(moz|ms|o|webkit)-/i),da=c(p),ea="",fa={};P.length<O;)P+=" ";return fa.block=function(a,b,c){if("comment"==a&&H(b)||","==a&&I(b)||"mixin"==a)return v(c,b,"block",0);if(F(a,b))return v(c,b,"interpolation");if(I(b)&&"]"==a&&!/^\s*(\.|#|:|\[|\*|&)/.test(b.string)&&!z(J(b)))return v(c,b,"block",0);if(E(a,b))return v(c,b,"block");if("}"==a&&I(b))return v(c,b,"block",0);if("variable-name"==a)return b.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||B(J(b))?v(c,b,"variableName"):v(c,b,"variableName",0);if("="==a)return I(b)||B(J(b))?v(c,b,"block"):v(c,b,"block",0);if("*"==a&&(I(b)||b.match(/\s*(,|\.|#|\[|:|{)/,!1)))return N="tag",v(c,b,"block");if(G(a,b))return v(c,b,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(a))return v(c,b,I(b)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(a))return v(c,b,"keyframes");if(/@extends?/.test(a))return v(c,b,"extend",0);if(a&&"@"==a.charAt(0))return b.indentation()>0&&A(b.current().slice(1))?(N="variable-2","block"):/(@import|@require|@charset)/.test(a)?v(c,b,"block",0):v(c,b,"block");if("reference"==a&&I(b))return v(c,b,"block");if("("==a)return v(c,b,"parens");if("vendor-prefixes"==a)return v(c,b,"vendorPrefixes");if("word"==a){var d=b.current();if(N=D(d),"property"==N)return H(b)?v(c,b,"block",0):(N="atom","block");if("tag"==N){if(/embed|menu|pre|progress|sub|table/.test(d)&&A(J(b)))return N="atom","block";if(b.string.match(new RegExp("\\[\\s*"+d+"|"+d+"\\s*\\]")))return N="atom","block";if(R.test(d)&&(H(b)&&b.string.match(/=/)||!H(b)&&!b.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!z(J(b))))return N="variable-2",B(J(b))?"block":v(c,b,"block",0);if(I(b))return v(c,b,"block")}if("block-keyword"==N)return N="keyword",b.current(/(if|unless)/)&&!H(b)?"block":v(c,b,"block");if("return"==d)return v(c,b,"block",0);if("variable-2"==N&&b.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return v(c,b,"block")}return c.context.type},fa.parens=function(a,b,c){if("("==a)return v(c,b,"parens");if(")"==a)return"parens"==c.context.prev.type?w(c):b.string.match(/^[a-z][\w-]*\(/i)&&I(b)||B(J(b))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(J(b))||!b.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&z(J(b))?v(c,b,"block"):b.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||b.string.match(/^\s*(\(|\)|[0-9])/)||b.string.match(/^\s+[a-z][\w-]*\(/i)||b.string.match(/^\s+[\$-]?[a-z]/i)?v(c,b,"block",0):I(b)?v(c,b,"block"):v(c,b,"block",0);if(a&&"@"==a.charAt(0)&&A(b.current().slice(1))&&(N="variable-2"),"word"==a){var d=b.current();N=D(d),"tag"==N&&R.test(d)&&(N="variable-2"),"property"!=N&&"to"!=d||(N="atom")}return"variable-name"==a?v(c,b,"variableName"):G(a,b)?v(c,b,"pseudo"):c.context.type},fa.vendorPrefixes=function(a,b,c){return"word"==a?(N="property",v(c,b,"block",0)):w(c)},fa.pseudo=function(a,b,c){return A(J(b.string))?y(a,b,c):(b.match(/^[a-z-]+/),N="variable-3",I(b)?v(c,b,"block"):w(c))},fa.atBlock=function(a,b,c){if("("==a)return v(c,b,"atBlock_parens");if(E(a,b))return v(c,b,"block");if(F(a,b))return v(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();if(N=/^(only|not|and|or)$/.test(d)?"keyword":W.hasOwnProperty(d)?"tag":Z.hasOwnProperty(d)?"attribute":Y.hasOwnProperty(d)?"property":T.hasOwnProperty(d)?"string-2":D(b.current()),"tag"==N&&I(b))return v(c,b,"block")}return"operator"==a&&/^(not|and|or)$/.test(b.current())&&(N="keyword"),c.context.type},fa.atBlock_parens=function(a,b,c){if("{"==a||"}"==a)return c.context.type;if(")"==a)return I(b)?v(c,b,"block"):v(c,b,"atBlock");if("word"==a){var d=b.current().toLowerCase();return N=D(d),/^(max|min)/.test(d)&&(N="property"),"tag"==N&&(N=R.test(d)?"variable-2":"atom"),c.context.type}return fa.atBlock(a,b,c)},fa.keyframes=function(a,b,c){return"0"==b.indentation()&&("}"==a&&H(b)||"]"==a||"hash"==a||"qualifier"==a||z(b.current()))?y(a,b,c):"{"==a?v(c,b,"keyframes"):"}"==a?H(b)?w(c,!0):v(c,b,"keyframes"):"unit"==a&&/^[0-9]+\%$/.test(b.current())?v(c,b,"keyframes"):"word"==a&&(N=D(b.current()),"block-keyword"==N)?(N="keyword",v(c,b,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(a)?v(c,b,I(b)?"block":"atBlock"):"mixin"==a?v(c,b,"block",0):c.context.type},fa.interpolation=function(a,b,c){return"{"==a&&w(c)&&v(c,b,"block"),"}"==a?b.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||b.string.match(/^\s*[a-z]/i)&&z(J(b))?v(c,b,"block"):!b.string.match(/^(\{|\s*\&)/)||b.match(/\s*[\w-]/,!1)?v(c,b,"block",0):v(c,b,"block"):"variable-name"==a?v(c,b,"variableName",0):("word"==a&&(N=D(b.current()),"tag"==N&&(N="atom")),c.context.type)},fa.extend=function(a,b,c){return"["==a||"="==a?"extend":"]"==a?w(c):"word"==a?(N=D(b.current()),"extend"):w(c)},fa.variableName=function(a,b,c){return"string"==a||"["==a||"]"==a||b.current().match(/^(\.|\$)/)?(b.current().match(/^\.[\w-]+/i)&&(N="variable-2"),"variableName"):y(a,b,c)},{startState:function(a){return{tokenize:null,state:"block",context:new u("block",a||0,null)}},token:function(a,b){return!b.tokenize&&a.eatSpace()?null:(L=(b.tokenize||q)(a,b),L&&"object"==typeof L&&(M=L[1],L=L[0]),N=L,b.state=fa[b.state](M,a,b),N)},indent:function(a,b,c){var d=a.context,e=b&&b.charAt(0),f=d.indent,g=J(b),h=c.match(/^\s*/)[0].replace(/\t/g,P).length,i=a.context.prev?a.context.prev.line.firstWord:"",j=a.context.prev?a.context.prev.line.indent:h;return d.prev&&("}"==e&&("block"==d.type||"atBlock"==d.type||"keyframes"==d.type)||")"==e&&("parens"==d.type||"atBlock_parens"==d.type)||"{"==e&&"at"==d.type)?f=d.indent-O:/(\})/.test(e)||(/@|\$|\d/.test(e)||/^\{/.test(b)||/^\s*\/(\/|\*)/.test(b)||/^\s*\/\*/.test(i)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(b)||/^(\+|-)?[a-z][\w-]*\(/i.test(b)||/^return/.test(b)||B(g)?f=h:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(e)||z(g)?f=/\,\s*$/.test(i)?j:/^\s+/.test(c)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||z(i))?h<=j?j:j+O:h:/,\s*$/.test(c)||!C(g)&&!A(g)||(f=B(i)?h<=j?j:j+O:/^\{/.test(i)?h<=j?h:j+O:C(i)||A(i)?h>=j?j:h:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(i)||/=\s*$/.test(i)||z(i)||/^\$[\w-\.\[\]\'\"]/.test(i)?j+O:h)),f},electricChars:"}",lineComment:"//",fold:"indent"}}));var e=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],f=["domain","regexp","url","url-prefix"],g=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"],i=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],j=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],k=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],m=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],n=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],o=["for","if","else","unless","from","to"],p=["null","true","false","href","title","type","not-allowed","readonly","disabled"],q=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],r=e.concat(f,g,h,i,j,l,m,k,n,o,p,q);a.registerHelper("hintWords","stylus",r),a.defineMIME("text/x-styl","stylus")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return a=a.sort((function(a,b){return b>a})),new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){for(var b={},c=0;c<a.length;++c)b[a[c]]=!0;return b}function d(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}a.defineMode("stylus",(function(a){function q(a,b){if(ea=a.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),b.context.line.firstWord=ea?ea[0].replace(/^\s*/,""):"",b.context.line.indent=a.indentation(),K=a.peek(),a.match("//"))return a.skipToEnd(),["comment","comment"];if(a.match("/*"))return b.tokenize=r,r(a,b);if('"'==K||"'"==K)return a.next(),b.tokenize=s(K),b.tokenize(a,b);if("@"==K)return a.next(),a.eatWhile(/[\w\\-]/),["def",a.current()];if("#"==K){if(a.next(),a.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b/i))return["atom","atom"];if(a.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return a.match(ca)?["meta","vendor-prefixes"]:a.match(/^-?[0-9]?\.?[0-9]/)?(a.eatWhile(/[a-z%]/i),["number","unit"]):"!"==K?(a.next(),[a.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==K&&a.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:a.match(X)?("("==a.peek()&&(b.tokenize=t),["property","word"]):a.match(/^[a-z][\w-]*\(/i)?(a.backUp(1),["keyword","mixin"]):a.match(/^(\+|-)[a-z][\w-]*\(/i)?(a.backUp(1),["keyword","block-mixin"]):a.string.match(/^\s*&/)&&a.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:a.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(a.backUp(1),["variable-3","reference"]):a.match(/^&{1}\s*$/)?["variable-3","reference"]:a.match(aa)?["operator","operator"]:a.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?a.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!z(a.current())?(a.match(/\./),["variable-2","variable-name"]):["variable-2","word"]:a.match(_)?["operator",a.current()]:/[:;,{}\[\]\(\)]/.test(K)?(a.next(),[null,K]):(a.next(),[null,null])}function r(a,b){for(var c,d=!1;null!=(c=a.next());){if(d&&"/"==c){b.tokenize=null;break}d="*"==c}return["comment","comment"]}function s(a){return function(b,c){for(var d,e=!1;null!=(d=b.next());){if(d==a&&!e){")"==a&&b.backUp(1);break}e=!e&&"\\"==d}return(d==a||!e&&")"!=a)&&(c.tokenize=null),["string","string"]}}function t(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=s(")"),[null,"("]}function u(a,b,c,d){this.type=a,this.indent=b,this.prev=c,this.line=d||{firstWord:"",indent:0}}function v(a,b,c,d){return d=d>=0?d:O,a.context=new u(c,b.indentation()+d,a.context),c}function w(a,b){var c=a.context.indent-O;return b=b||!1,a.context=a.context.prev,b&&(a.context.indent=c),a.context.type}function x(a,b,c){return fa[c.context.type](a,b,c)}function y(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return x(a,b,c)}function z(a){return a.toLowerCase()in Q}function A(a){return a=a.toLowerCase(),a in S||a in $}function B(a){return a.toLowerCase()in ba}function C(a){return a.toLowerCase().match(ca)}function D(a){var b=a.toLowerCase(),c="variable-2";return z(a)?c="tag":B(a)?c="block-keyword":A(a)?c="property":b in U||b in da?c="atom":"return"==b||b in V?c="keyword":a.match(/^[A-Z]/)&&(c="string"),c}function E(a,b){return I(b)&&("{"==a||"]"==a||"hash"==a||"qualifier"==a)||"block-mixin"==a}function F(a,b){return"{"==a&&b.match(/^\s*\$?[\w-]+/i,!1)}function G(a,b){return":"==a&&b.match(/^[a-z-]+/,!1)}function H(a){return a.sol()||a.string.match(new RegExp("^\\s*"+d(a.current())))}function I(a){return a.eol()||a.match(/^\s*$/,!1)}function J(a){var b=/^\s*[-_]*[a-z0-9]+[\w-]*/i,c="string"==typeof a?a.match(b):a.string.match(b);return c?c[0].replace(/^\s*/,""):""}for(var K,L,M,N,O=a.indentUnit,P="",Q=c(e),R=/^(a|b|i|s|col|em)$/i,S=c(i),T=c(j),U=c(m),V=c(l),W=c(f),X=b(f),Y=c(h),Z=c(g),$=c(k),_=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,aa=b(n),ba=c(o),ca=new RegExp(/^\-(moz|ms|o|webkit)-/i),da=c(p),ea="",fa={};P.length<O;)P+=" ";return fa.block=function(a,b,c){if("comment"==a&&H(b)||","==a&&I(b)||"mixin"==a)return v(c,b,"block",0);if(F(a,b))return v(c,b,"interpolation");if(I(b)&&"]"==a&&!/^\s*(\.|#|:|\[|\*|&)/.test(b.string)&&!z(J(b)))return v(c,b,"block",0);if(E(a,b))return v(c,b,"block");if("}"==a&&I(b))return v(c,b,"block",0);if("variable-name"==a)return b.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||B(J(b))?v(c,b,"variableName"):v(c,b,"variableName",0);if("="==a)return I(b)||B(J(b))?v(c,b,"block"):v(c,b,"block",0);if("*"==a&&(I(b)||b.match(/\s*(,|\.|#|\[|:|{)/,!1)))return N="tag",v(c,b,"block");if(G(a,b))return v(c,b,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(a))return v(c,b,I(b)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(a))return v(c,b,"keyframes");if(/@extends?/.test(a))return v(c,b,"extend",0);if(a&&"@"==a.charAt(0))return b.indentation()>0&&A(b.current().slice(1))?(N="variable-2","block"):/(@import|@require|@charset)/.test(a)?v(c,b,"block",0):v(c,b,"block");if("reference"==a&&I(b))return v(c,b,"block");if("("==a)return v(c,b,"parens");if("vendor-prefixes"==a)return v(c,b,"vendorPrefixes");if("word"==a){var d=b.current();if(N=D(d),"property"==N)return H(b)?v(c,b,"block",0):(N="atom","block");if("tag"==N){if(/embed|menu|pre|progress|sub|table/.test(d)&&A(J(b)))return N="atom","block";if(b.string.match(new RegExp("\\[\\s*"+d+"|"+d+"\\s*\\]")))return N="atom","block";if(R.test(d)&&(H(b)&&b.string.match(/=/)||!H(b)&&!b.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!z(J(b))))return N="variable-2",B(J(b))?"block":v(c,b,"block",0);if(I(b))return v(c,b,"block")}if("block-keyword"==N)return N="keyword",b.current(/(if|unless)/)&&!H(b)?"block":v(c,b,"block");if("return"==d)return v(c,b,"block",0);if("variable-2"==N&&b.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return v(c,b,"block")}return c.context.type},fa.parens=function(a,b,c){if("("==a)return v(c,b,"parens");if(")"==a)return"parens"==c.context.prev.type?w(c):b.string.match(/^[a-z][\w-]*\(/i)&&I(b)||B(J(b))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(J(b))||!b.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&z(J(b))?v(c,b,"block"):b.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||b.string.match(/^\s*(\(|\)|[0-9])/)||b.string.match(/^\s+[a-z][\w-]*\(/i)||b.string.match(/^\s+[\$-]?[a-z]/i)?v(c,b,"block",0):I(b)?v(c,b,"block"):v(c,b,"block",0);if(a&&"@"==a.charAt(0)&&A(b.current().slice(1))&&(N="variable-2"),"word"==a){var d=b.current();N=D(d),"tag"==N&&R.test(d)&&(N="variable-2"),"property"!=N&&"to"!=d||(N="atom")}return"variable-name"==a?v(c,b,"variableName"):G(a,b)?v(c,b,"pseudo"):c.context.type},fa.vendorPrefixes=function(a,b,c){return"word"==a?(N="property",v(c,b,"block",0)):w(c)},fa.pseudo=function(a,b,c){return A(J(b.string))?y(a,b,c):(b.match(/^[a-z-]+/),N="variable-3",I(b)?v(c,b,"block"):w(c))},fa.atBlock=function(a,b,c){if("("==a)return v(c,b,"atBlock_parens");if(E(a,b))return v(c,b,"block");if(F(a,b))return v(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();if(N=/^(only|not|and|or)$/.test(d)?"keyword":W.hasOwnProperty(d)?"tag":Z.hasOwnProperty(d)?"attribute":Y.hasOwnProperty(d)?"property":T.hasOwnProperty(d)?"string-2":D(b.current()),"tag"==N&&I(b))return v(c,b,"block")}return"operator"==a&&/^(not|and|or)$/.test(b.current())&&(N="keyword"),c.context.type},fa.atBlock_parens=function(a,b,c){if("{"==a||"}"==a)return c.context.type;if(")"==a)return I(b)?v(c,b,"block"):v(c,b,"atBlock");if("word"==a){var d=b.current().toLowerCase();return N=D(d),/^(max|min)/.test(d)&&(N="property"),"tag"==N&&(N=R.test(d)?"variable-2":"atom"),c.context.type}return fa.atBlock(a,b,c)},fa.keyframes=function(a,b,c){return"0"==b.indentation()&&("}"==a&&H(b)||"]"==a||"hash"==a||"qualifier"==a||z(b.current()))?y(a,b,c):"{"==a?v(c,b,"keyframes"):"}"==a?H(b)?w(c,!0):v(c,b,"keyframes"):"unit"==a&&/^[0-9]+\%$/.test(b.current())?v(c,b,"keyframes"):"word"==a&&(N=D(b.current()),"block-keyword"==N)?(N="keyword",v(c,b,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(a)?v(c,b,I(b)?"block":"atBlock"):"mixin"==a?v(c,b,"block",0):c.context.type},fa.interpolation=function(a,b,c){return"{"==a&&w(c)&&v(c,b,"block"),"}"==a?b.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||b.string.match(/^\s*[a-z]/i)&&z(J(b))?v(c,b,"block"):!b.string.match(/^(\{|\s*\&)/)||b.match(/\s*[\w-]/,!1)?v(c,b,"block",0):v(c,b,"block"):"variable-name"==a?v(c,b,"variableName",0):("word"==a&&(N=D(b.current()),"tag"==N&&(N="atom")),c.context.type)},fa.extend=function(a,b,c){return"["==a||"="==a?"extend":"]"==a?w(c):"word"==a?(N=D(b.current()),"extend"):w(c)},fa.variableName=function(a,b,c){return"string"==a||"["==a||"]"==a||b.current().match(/^(\.|\$)/)?(b.current().match(/^\.[\w-]+/i)&&(N="variable-2"),"variableName"):y(a,b,c)},{startState:function(a){return{tokenize:null,state:"block",context:new u("block",a||0,null)}},token:function(a,b){return!b.tokenize&&a.eatSpace()?null:(L=(b.tokenize||q)(a,b),L&&"object"==typeof L&&(M=L[1],L=L[0]),N=L,b.state=fa[b.state](M,a,b),N)},indent:function(a,b,c){var d=a.context,e=b&&b.charAt(0),f=d.indent,g=J(b),h=c.match(/^\s*/)[0].replace(/\t/g,P).length,i=a.context.prev?a.context.prev.line.firstWord:"",j=a.context.prev?a.context.prev.line.indent:h;return d.prev&&("}"==e&&("block"==d.type||"atBlock"==d.type||"keyframes"==d.type)||")"==e&&("parens"==d.type||"atBlock_parens"==d.type)||"{"==e&&"at"==d.type)?f=d.indent-O:/(\})/.test(e)||(/@|\$|\d/.test(e)||/^\{/.test(b)||/^\s*\/(\/|\*)/.test(b)||/^\s*\/\*/.test(i)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(b)||/^(\+|-)?[a-z][\w-]*\(/i.test(b)||/^return/.test(b)||B(g)?f=h:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(e)||z(g)?f=/\,\s*$/.test(i)?j:/^\s+/.test(c)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||z(i))?h<=j?j:j+O:h:/,\s*$/.test(c)||!C(g)&&!A(g)||(f=B(i)?h<=j?j:j+O:/^\{/.test(i)?h<=j?h:j+O:C(i)||A(i)?h>=j?j:h:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(i)||/=\s*$/.test(i)||z(i)||/^\$[\w-\.\[\]\'\"]/.test(i)?j+O:h)),f},electricChars:"}",lineComment:"//",fold:"indent"}}));var e=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],f=["domain","regexp","url","url-prefix"],g=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"],i=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],j=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],k=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],m=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],n=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],o=["for","if","else","unless","from","to"],p=["null","true","false","href","title","type","not-allowed","readonly","disabled"],q=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],r=e.concat(f,g,h,i,j,l,m,k,n,o,p,q);a.registerHelper("hintWords","stylus",r),a.defineMIME("text/x-styl","stylus")})); \ No newline at end of file diff --git a/media/editors/codemirror/theme/oceanic-next.css b/media/editors/codemirror/theme/oceanic-next.css new file mode 100644 index 0000000000000..296277ba04a45 --- /dev/null +++ b/media/editors/codemirror/theme/oceanic-next.css @@ -0,0 +1,44 @@ +/* + + Name: oceanic-next + Author: Filype Pereira (https://github.com/fpereira1) + + Original oceanic-next color scheme by Dmitri Voronianski (https://github.com/voronianski/oceanic-next-color-scheme) + +*/ + +.cm-s-oceanic-next.CodeMirror { background: #304148; color: #f8f8f2; } +.cm-s-oceanic-next div.CodeMirror-selected { background: rgba(101, 115, 126, 0.33); } +.cm-s-oceanic-next .CodeMirror-line::selection, .cm-s-oceanic-next .CodeMirror-line > span::selection, .cm-s-oceanic-next .CodeMirror-line > span > span::selection { background: rgba(101, 115, 126, 0.33); } +.cm-s-oceanic-next .CodeMirror-line::-moz-selection, .cm-s-oceanic-next .CodeMirror-line > span::-moz-selection, .cm-s-oceanic-next .CodeMirror-line > span > span::-moz-selection { background: rgba(101, 115, 126, 0.33); } +.cm-s-oceanic-next .CodeMirror-gutters { background: #304148; border-right: 10px; } +.cm-s-oceanic-next .CodeMirror-guttermarker { color: white; } +.cm-s-oceanic-next .CodeMirror-guttermarker-subtle { color: #d0d0d0; } +.cm-s-oceanic-next .CodeMirror-linenumber { color: #d0d0d0; } +.cm-s-oceanic-next .CodeMirror-cursor { border-left: 1px solid #f8f8f0; } + +.cm-s-oceanic-next span.cm-comment { color: #65737E; } +.cm-s-oceanic-next span.cm-atom { color: #C594C5; } +.cm-s-oceanic-next span.cm-number { color: #F99157; } + +.cm-s-oceanic-next span.cm-property { color: #99C794; } +.cm-s-oceanic-next span.cm-attribute, +.cm-s-oceanic-next span.cm-keyword { color: #C594C5; } +.cm-s-oceanic-next span.cm-builtin { color: #66d9ef; } +.cm-s-oceanic-next span.cm-string { color: #99C794; } + +.cm-s-oceanic-next span.cm-variable, +.cm-s-oceanic-next span.cm-variable-2, +.cm-s-oceanic-next span.cm-variable-3 { color: #f8f8f2; } +.cm-s-oceanic-next span.cm-def { color: #6699CC; } +.cm-s-oceanic-next span.cm-bracket { color: #5FB3B3; } +.cm-s-oceanic-next span.cm-tag { color: #C594C5; } +.cm-s-oceanic-next span.cm-header { color: #C594C5; } +.cm-s-oceanic-next span.cm-link { color: #C594C5; } +.cm-s-oceanic-next span.cm-error { background: #C594C5; color: #f8f8f0; } + +.cm-s-oceanic-next .CodeMirror-activeline-background { background: rgba(101, 115, 126, 0.33); } +.cm-s-oceanic-next .CodeMirror-matchingbracket { + text-decoration: underline; + color: white !important; +} diff --git a/media/editors/codemirror/theme/shadowfox.css b/media/editors/codemirror/theme/shadowfox.css new file mode 100644 index 0000000000000..32d59b139ac24 --- /dev/null +++ b/media/editors/codemirror/theme/shadowfox.css @@ -0,0 +1,52 @@ +/* + + Name: shadowfox + Author: overdodactyl (http://github.com/overdodactyl) + + Original shadowfox color scheme by Firefox + +*/ + +.cm-s-shadowfox.CodeMirror { background: #2a2a2e; color: #b1b1b3; } +.cm-s-shadowfox div.CodeMirror-selected { background: #353B48; } +.cm-s-shadowfox .CodeMirror-line::selection, .cm-s-shadowfox .CodeMirror-line > span::selection, .cm-s-shadowfox .CodeMirror-line > span > span::selection { background: #353B48; } +.cm-s-shadowfox .CodeMirror-line::-moz-selection, .cm-s-shadowfox .CodeMirror-line > span::-moz-selection, .cm-s-shadowfox .CodeMirror-line > span > span::-moz-selection { background: #353B48; } +.cm-s-shadowfox .CodeMirror-gutters { background: #0c0c0d ; border-right: 1px solid #0c0c0d; } +.cm-s-shadowfox .CodeMirror-guttermarker { color: #555; } +.cm-s-shadowfox .CodeMirror-linenumber { color: #939393; } +.cm-s-shadowfox .CodeMirror-cursor { border-left: 1px solid #fff; } + +.cm-s-shadowfox span.cm-comment { color: #939393; } +.cm-s-shadowfox span.cm-atom { color: #FF7DE9; } +.cm-s-shadowfox span.cm-quote { color: #FF7DE9; } +.cm-s-shadowfox span.cm-builtin { color: #FF7DE9; } +.cm-s-shadowfox span.cm-attribute { color: #FF7DE9; } +.cm-s-shadowfox span.cm-keyword { color: #FF7DE9; } +.cm-s-shadowfox span.cm-error { color: #FF7DE9; } + +.cm-s-shadowfox span.cm-number { color: #6B89FF; } +.cm-s-shadowfox span.cm-string { color: #6B89FF; } +.cm-s-shadowfox span.cm-string-2 { color: #6B89FF; } + +.cm-s-shadowfox span.cm-meta { color: #939393; } +.cm-s-shadowfox span.cm-hr { color: #939393; } + +.cm-s-shadowfox span.cm-header { color: #75BFFF; } +.cm-s-shadowfox span.cm-qualifier { color: #75BFFF; } +.cm-s-shadowfox span.cm-variable-2 { color: #75BFFF; } + +.cm-s-shadowfox span.cm-property { color: #86DE74; } + +.cm-s-shadowfox span.cm-def { color: #75BFFF; } +.cm-s-shadowfox span.cm-bracket { color: #75BFFF; } +.cm-s-shadowfox span.cm-tag { color: #75BFFF; } +.cm-s-shadowfox span.cm-link:visited { color: #75BFFF; } + +.cm-s-shadowfox span.cm-variable { color: #B98EFF; } +.cm-s-shadowfox span.cm-variable-3 { color: #d7d7db; } +.cm-s-shadowfox span.cm-link { color: #737373; } +.cm-s-shadowfox span.cm-operator { color: #b1b1b3; } +.cm-s-shadowfox span.cm-special { color: #d7d7db; } + +.cm-s-shadowfox .CodeMirror-activeline-background { background: rgba(185, 215, 253, .15) } +.cm-s-shadowfox .CodeMirror-matchingbracket { outline: solid 1px rgba(255, 255, 255, .25); color: white !important; } diff --git a/plugins/editors/codemirror/codemirror.xml b/plugins/editors/codemirror/codemirror.xml index 58596b12a22a7..1f5e6b1a438d5 100644 --- a/plugins/editors/codemirror/codemirror.xml +++ b/plugins/editors/codemirror/codemirror.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <extension version="3.2" type="plugin" group="editors" method="upgrade"> <name>plg_editors_codemirror</name> - <version>5.33.0</version> + <version>5.34.0</version> <creationDate>28 March 2011</creationDate> <author>Marijn Haverbeke</author> <authorEmail>marijnh@gmail.com</authorEmail> From 07220f00396e49ca99389c90ad27edce2c3d07fe Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Sat, 3 Feb 2018 11:19:52 -0600 Subject: [PATCH 068/255] Prepare 3.8.5 release candidate --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 4 ++-- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 10 +++++----- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 7654f617dc5ea..fc642ca071403 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> <version>3.8.5</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index e812b910ec056..06b7d8a9a6403 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.5</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 0dd48bd54ed7b..83d451a87981f 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,8 +6,8 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.5-dev</version> - <creationDate>January 2018</creationDate> + <version>3.8.5-rc</version> + <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> <scriptfile>administrator/components/com_admin/script.php</scriptfile> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 44174db22c7b6..ab92a4435ad60 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -3,7 +3,7 @@ <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> <version>3.8.5.1</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 841a9d9788fbe..4a74b7bc49d5e 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,7 +4,7 @@ client="installation"> <name>English (United Kingdom)</name> <version>3.8.5</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index a27949fa4c380..37634e9872049 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="site"> <name>English (en-GB)</name> <version>3.8.5</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index d44c33183cec9..4cb94dbceab5d 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.5</version> - <creationDate>January 2018</creationDate> + <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index c0191972a6a17..f52a526dbde0d 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '5-dev'; + const DEV_LEVEL = '5-rc'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '30-January-2018'; + const RELDATE = '3-February-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:00'; + const RELTIME = '17:30'; /** * Release timezone. From e9af548712ce186f4080aa053df71b3c67ddf6eb Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Sat, 3 Feb 2018 11:31:12 -0600 Subject: [PATCH 069/255] Reset to dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 83d451a87981f..86c6a634e0e90 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.5-rc</version> + <version>3.8.5-dev</version> <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index f52a526dbde0d..01feef98a86af 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc'; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '5-rc'; + const DEV_LEVEL = '5-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Build number. From a7e96622e298bfb4fbb9a534c1abf768f9d35a86 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Sun, 4 Feb 2018 13:37:50 +0100 Subject: [PATCH 070/255] Revert "Do not add unnecessary parameters in the archive link (#19447)" This reverts commit 0155f35c9676a4905dbe82494fc3d1d16c183ee2. --- .../com_content/helpers/legacyrouter.php | 62 +++++++------------ 1 file changed, 22 insertions(+), 40 deletions(-) diff --git a/components/com_content/helpers/legacyrouter.php b/components/com_content/helpers/legacyrouter.php index 3bf72bdc1dd47..4529c8c942399 100644 --- a/components/com_content/helpers/legacyrouter.php +++ b/components/com_content/helpers/legacyrouter.php @@ -225,34 +225,25 @@ public function build(&$query, &$segments) if (!$menuItemGiven) { $segments[] = $view; + unset($query['view']); } - unset($query['view']); - - // If there is no year segment then do not add month segment - if (isset($query['year']) && $menuItemGiven) + if (isset($query['year'])) { - if ($query['year']) + if ($menuItemGiven) { $segments[] = $query['year']; - - if (isset($query['month'])) - { - if ($query['month']) - { - $segments[] = $query['month']; - } - - unset($query['month']); - } + unset($query['year']); } - - unset($query['year']); } - if (isset($query['month']) && empty($query['month'])) + if (isset($query['month'])) { - unset($query['month']); + if ($menuItemGiven) + { + $segments[] = $query['month']; + unset($query['month']); + } } } @@ -329,7 +320,7 @@ public function parse(&$segments, &$vars) * Standard routing for articles. If we don't pick up an Itemid then we get the view from the segments * the first segment is the view and the last segment is the id of the article or category. */ - if ($item === null) + if (!isset($item)) { $vars['view'] = $segments[0]; $vars['id'] = $segments[$count - 1]; @@ -337,25 +328,6 @@ public function parse(&$segments, &$vars) return; } - // Manage the archive view - if ($item->query['view'] === 'archive') - { - $vars['view'] = 'archive'; - - if ($count >= 2) - { - $vars['year'] = $segments[$count - 2]; - $vars['month'] = $segments[$count - 1]; - } - else - { - $vars['year'] = $segments[$count - 1]; - $vars['month'] = null; - } - - return; - } - /* * If there is only one segment, then it points to either an article or a category. * We test it first to see if it is a category. If the id and alias match a category, @@ -412,7 +384,7 @@ public function parse(&$segments, &$vars) * because the first segment will have the target category id prepended to it. If the * last segment has a number prepended, it is an article, otherwise, it is a category. */ - if ((!$advanced)) + if ((!$advanced) && ($item->query['view'] !== 'archive')) { $cat_id = (int) $segments[0]; @@ -433,6 +405,16 @@ public function parse(&$segments, &$vars) return; } + // Manage the archive view + if ($item->query['view'] == 'archive' && $count !== 1) + { + $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; + $vars['month'] = $segments[$count - 1]; + $vars['view'] = 'archive'; + + return; + } + // We get the category id from the menu item and search from there $id = $item->query['id']; $category = JCategories::getInstance('Content')->get($id); From 4ddbefe851f75f0864238fa5c027581b1ecea9fb Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <tomasz.narloch@cleversite.pl> Date: Sun, 4 Feb 2018 13:39:52 +0100 Subject: [PATCH 071/255] Revert "[com_content] - archived legacy SEF fix (#19397)" This reverts commit 01a9147d2a6561e0389d16fcdc3e5dc31299bfc3. --- .../com_content/helpers/legacyrouter.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/components/com_content/helpers/legacyrouter.php b/components/com_content/helpers/legacyrouter.php index 4529c8c942399..5b2dc90e03907 100644 --- a/components/com_content/helpers/legacyrouter.php +++ b/components/com_content/helpers/legacyrouter.php @@ -237,7 +237,7 @@ public function build(&$query, &$segments) } } - if (isset($query['month'])) + if (isset($query['year']) && isset($query['month'])) { if ($menuItemGiven) { @@ -384,7 +384,7 @@ public function parse(&$segments, &$vars) * because the first segment will have the target category id prepended to it. If the * last segment has a number prepended, it is an article, otherwise, it is a category. */ - if ((!$advanced) && ($item->query['view'] !== 'archive')) + if (!$advanced) { $cat_id = (int) $segments[0]; @@ -405,16 +405,6 @@ public function parse(&$segments, &$vars) return; } - // Manage the archive view - if ($item->query['view'] == 'archive' && $count !== 1) - { - $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; - $vars['month'] = $segments[$count - 1]; - $vars['view'] = 'archive'; - - return; - } - // We get the category id from the menu item and search from there $id = $item->query['id']; $category = JCategories::getInstance('Content')->get($id); @@ -466,8 +456,18 @@ public function parse(&$segments, &$vars) $cid = $segment; } - $vars['id'] = $cid; - $vars['view'] = 'article'; + $vars['id'] = $cid; + + if ($item->query['view'] == 'archive' && $count != 1) + { + $vars['year'] = $count >= 2 ? $segments[$count - 2] : null; + $vars['month'] = $segments[$count - 1]; + $vars['view'] = 'archive'; + } + else + { + $vars['view'] = 'article'; + } } $found = 0; From cabc7099b183f324d8cf561998194f9653d11779 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 6 Feb 2018 06:44:31 -0600 Subject: [PATCH 072/255] Prepare 3.8.5 release --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 86c6a634e0e90..7d8d3e2a1b775 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.5-dev</version> + <version>3.8.5</version> <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 01feef98a86af..0c502464d435e 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = ''; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '5-dev'; + const DEV_LEVEL = '5'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Stable'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '3-February-2018'; + const RELDATE = '6-February-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '17:30'; + const RELTIME = '15:00'; /** * Release timezone. From 43e13cc54246aa108f01f69ec2c08ee629a142a6 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 6 Feb 2018 07:09:55 -0600 Subject: [PATCH 073/255] Reset for dev --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 2 +- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 8 ++++---- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index fc642ca071403..16337fc201b0e 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> - <version>3.8.5</version> + <version>3.8.6</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 06b7d8a9a6403..ec66a9cd59e7e 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="administrator" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.5</version> + <version>3.8.6</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 7d8d3e2a1b775..0c5ab2c1b1cbe 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.5</version> + <version>3.8.6-dev</version> <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index ab92a4435ad60..4a175d3b4f0ba 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -2,7 +2,7 @@ <extension type="package" version="3.8" method="upgrade"> <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> - <version>3.8.5.1</version> + <version>3.8.6.1</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 4a74b7bc49d5e..4e5bda1f5120e 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -3,7 +3,7 @@ version="3.8" client="installation"> <name>English (United Kingdom)</name> - <version>3.8.5</version> + <version>3.8.6</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 37634e9872049..85726c91a7290 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="site"> <name>English (en-GB)</name> - <version>3.8.5</version> + <version>3.8.6</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 4cb94dbceab5d..39cef6920c122 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="site" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.5</version> + <version>3.8.6</version> <creationDate>February 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 0c502464d435e..cc511efa4b7b9 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -49,7 +49,7 @@ final class Version * @var integer * @since 3.8.0 */ - const PATCH_VERSION = 5; + const PATCH_VERSION = 6; /** * Extra release version info. @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = ''; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '5'; + const DEV_LEVEL = '6-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Stable'; + const DEV_STATUS = 'Development'; /** * Build number. From 59ed416bd31d86482ed0ecb878b196a383ef323f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Demis=20Palma=20=E3=83=84?= <demis.palma@gmail.com> Date: Wed, 7 Feb 2018 00:04:16 +0000 Subject: [PATCH 074/255] Changed parameter to bool (#19573) --- administrator/components/com_templates/controllers/style.php | 2 +- components/com_config/controller/templates/display.php | 2 +- components/com_config/controller/templates/save.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_templates/controllers/style.php b/administrator/components/com_templates/controllers/style.php index 965000c7387e7..e114480fdead9 100644 --- a/administrator/components/com_templates/controllers/style.php +++ b/administrator/components/com_templates/controllers/style.php @@ -54,7 +54,7 @@ public function save($key = null, $urlVar = null) $context = $this->option . '.edit.' . $this->context; $task = $this->getTask(); - $item = $model->getItem($app->getTemplate('template')->id); + $item = $model->getItem($app->getTemplate(true)->id); // Setting received params $item->set('params', $data); diff --git a/components/com_config/controller/templates/display.php b/components/com_config/controller/templates/display.php index 47fbfabc904c1..7c5ef48c0324b 100644 --- a/components/com_config/controller/templates/display.php +++ b/components/com_config/controller/templates/display.php @@ -44,7 +44,7 @@ public function execute() // Set backend required params $document->setType('json'); - $this->input->set('id', $app->getTemplate('template')->id); + $this->input->set('id', $app->getTemplate(true)->id); // Execute backend controller $serviceData = json_decode($displayClass->display(), true); diff --git a/components/com_config/controller/templates/save.php b/components/com_config/controller/templates/save.php index 116b394d4a087..1d41731345e5c 100644 --- a/components/com_config/controller/templates/save.php +++ b/components/com_config/controller/templates/save.php @@ -55,7 +55,7 @@ public function execute() // Set backend required params $document->setType('json'); - $this->input->set('id', $app->getTemplate('template')->id); + $this->input->set('id', $app->getTemplate(true)->id); // Execute backend controller $return = $controllerClass->save(); From bcc971d25a5a50f840c98c77741fdfd5f5948f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Demis=20Palma=20=E3=83=84?= <demis.palma@gmail.com> Date: Wed, 7 Feb 2018 00:13:58 +0000 Subject: [PATCH 075/255] Removed orphan weblinks languages (#19495) --- administrator/templates/isis/css/template-rtl.css | 6 ++++++ administrator/templates/isis/css/template.css | 6 ++++++ media/jui/css/bootstrap-extended.css | 6 ++++++ media/jui/less/bootstrap-extended.less | 6 ++++++ templates/protostar/css/template.css | 6 ++++++ 5 files changed, 30 insertions(+) diff --git a/administrator/templates/isis/css/template-rtl.css b/administrator/templates/isis/css/template-rtl.css index 5f2b04679dc7f..807e28ffbf3a4 100644 --- a/administrator/templates/isis/css/template-rtl.css +++ b/administrator/templates/isis/css/template-rtl.css @@ -5871,6 +5871,12 @@ hr.hr-condensed { .radio.btn-group input[type=radio] { display: none; } +.radio.btn-group > label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; diff --git a/administrator/templates/isis/css/template.css b/administrator/templates/isis/css/template.css index 46d6735c158a0..f7d1a8d8f8fa9 100644 --- a/administrator/templates/isis/css/template.css +++ b/administrator/templates/isis/css/template.css @@ -5871,6 +5871,12 @@ hr.hr-condensed { .radio.btn-group input[type=radio] { display: none; } +.radio.btn-group > label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; diff --git a/media/jui/css/bootstrap-extended.css b/media/jui/css/bootstrap-extended.css index 2db0e651b1405..a24649bbee82d 100644 --- a/media/jui/css/bootstrap-extended.css +++ b/media/jui/css/bootstrap-extended.css @@ -289,6 +289,12 @@ hr.hr-condensed { .radio.btn-group input[type=radio] { display: none; } +.radio.btn-group > label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; diff --git a/media/jui/less/bootstrap-extended.less b/media/jui/less/bootstrap-extended.less index 613ddbcf484a4..6583190fd6df1 100644 --- a/media/jui/less/bootstrap-extended.less +++ b/media/jui/less/bootstrap-extended.less @@ -304,6 +304,12 @@ hr.hr-condensed { .radio.btn-group input[type=radio] { display: none; } +.radio.btn-group > label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; diff --git a/templates/protostar/css/template.css b/templates/protostar/css/template.css index fd3b51d4037de..f0a97dac5f5f3 100644 --- a/templates/protostar/css/template.css +++ b/templates/protostar/css/template.css @@ -6032,6 +6032,12 @@ hr.hr-condensed { .radio.btn-group input[type=radio] { display: none; } +.radio.btn-group > label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .radio.btn-group > label:first-of-type { margin-left: 0; -webkit-border-bottom-left-radius: 4px; From f4e56e4945627b7fe7372907b25af318418df542 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Wed, 7 Feb 2018 01:15:21 +0100 Subject: [PATCH 076/255] Changing loading order for between Redirect and Logout system plugins at (#19489) install time --- installation/sql/mysql/joomla.sql | 4 ++-- installation/sql/postgresql/joomla.sql | 4 ++-- installation/sql/sqlazure/joomla.sql | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index d61cf3aa0162c..32d131a542bf0 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -590,10 +590,10 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem (424, 0, 'plg_system_cache', 'plugin', 'cache', 'system', 0, 0, 1, 1, '', '{"browsercache":"0","cachetime":"15"}', '', '', 0, '0000-00-00 00:00:00', 9, 0), (425, 0, 'plg_system_debug', 'plugin', 'debug', 'system', 0, 1, 1, 0, '', '{"profile":"1","queries":"1","memory":"1","language_files":"1","language_strings":"1","strip-first":"1","strip-prefix":"","strip-suffix":""}', '', '', 0, '0000-00-00 00:00:00', 4, 0), (426, 0, 'plg_system_log', 'plugin', 'log', 'system', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 5, 0), -(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 6, 0), +(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 3, 0), (428, 0, 'plg_system_remember', 'plugin', 'remember', 'system', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 7, 0), (429, 0, 'plg_system_sef', 'plugin', 'sef', 'system', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 8, 0), -(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 3, 0), +(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 6, 0), (431, 0, 'plg_user_contactcreator', 'plugin', 'contactcreator', 'user', 0, 0, 1, 0, '', '{"autowebpage":"","category":"34","autopublish":"0"}', '', '', 0, '0000-00-00 00:00:00', 1, 0), (432, 0, 'plg_user_joomla', 'plugin', 'joomla', 'user', 0, 1, 1, 0, '', '{"autoregister":"1","mail_to_user":"1","forceLogout":"1"}', '', '', 0, '0000-00-00 00:00:00', 2, 0), (433, 0, 'plg_user_profile', 'plugin', 'profile', 'user', 0, 0, 1, 0, '', '{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"1","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_tos":"1","profile-require_dob":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index 5069d5576ec7a..abfa4e5ce739f 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -604,10 +604,10 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (424, 0, 'plg_system_cache', 'plugin', 'cache', 'system', 0, 0, 1, 1, '', '{"browsercache":"0","cachetime":"15"}', '', '', 0, '1970-01-01 00:00:00', 9, 0), (425, 0, 'plg_system_debug', 'plugin', 'debug', 'system', 0, 1, 1, 0, '', '{"profile":"1","queries":"1","memory":"1","language_files":"1","language_strings":"1","strip-first":"1","strip-prefix":"","strip-suffix":""}', '', '', 0, '1970-01-01 00:00:00', 4, 0), (426, 0, 'plg_system_log', 'plugin', 'log', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 5, 0), -(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 6, 0), +(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 3, 0), (428, 0, 'plg_system_remember', 'plugin', 'remember', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 7, 0), (429, 0, 'plg_system_sef', 'plugin', 'sef', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 8, 0), -(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 3, 0), +(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 6, 0), (431, 0, 'plg_user_contactcreator', 'plugin', 'contactcreator', 'user', 0, 0, 1, 0, '', '{"autowebpage":"","category":"34","autopublish":"0"}', '', '', 0, '1970-01-01 00:00:00', 1, 0), (432, 0, 'plg_user_joomla', 'plugin', 'joomla', 'user', 0, 1, 1, 0, '', '{"autoregister":"1","mail_to_user":"1","forceLogout":"1"}', '', '', 0, '1970-01-01 00:00:00', 2, 0), (433, 0, 'plg_user_profile', 'plugin', 'profile', 'user', 0, 0, 1, 0, '', '{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"1","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_tos":"1","profile-require_dob":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 92c467041a45f..a7d4a96fbbe91 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -819,10 +819,10 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (424, 0, 'plg_system_cache', 'plugin', 'cache', 'system', 0, 0, 1, 1, '', '{"browsercache":"0","cachetime":"15"}', '', '', 0, '1900-01-01 00:00:00', 9, 0), (425, 0, 'plg_system_debug', 'plugin', 'debug', 'system', 0, 1, 1, 0, '', '{"profile":"1","queries":"1","memory":"1","language_files":"1","language_strings":"1","strip-first":"1","strip-prefix":"","strip-suffix":""}', '', '', 0, '1900-01-01 00:00:00', 4, 0), (426, 0, 'plg_system_log', 'plugin', 'log', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 5, 0), -(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 6, 0), +(427, 0, 'plg_system_redirect', 'plugin', 'redirect', 'system', 0, 0, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 3, 0), (428, 0, 'plg_system_remember', 'plugin', 'remember', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 7, 0), (429, 0, 'plg_system_sef', 'plugin', 'sef', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 8, 0), -(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 3, 0), +(430, 0, 'plg_system_logout', 'plugin', 'logout', 'system', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 6, 0), (431, 0, 'plg_user_contactcreator', 'plugin', 'contactcreator', 'user', 0, 0, 1, 0, '', '{"autowebpage":"","category":"34","autopublish":"0"}', '', '', 0, '1900-01-01 00:00:00', 1, 0), (432, 0, 'plg_user_joomla', 'plugin', 'joomla', 'user', 0, 1, 1, 0, '', '{"autoregister":"1","mail_to_user":"1","forceLogout":"1"}', '', '', 0, '1900-01-01 00:00:00', 2, 0), (433, 0, 'plg_user_profile', 'plugin', 'profile', 'user', 0, 0, 1, 0, '', '{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"1","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_tos":"1","profile-require_dob":"1"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), From 056a9f8d211903666961a05f42c0ed6d36b11ce8 Mon Sep 17 00:00:00 2001 From: ReLater <ReLater@users.noreply.github.com> Date: Wed, 7 Feb 2018 01:17:32 +0100 Subject: [PATCH 077/255] mod_articles_news. Define $item_heading only if needed (#19439) * mod_articles_news. Define $item_heading only if needed * Update _item.php * Update _item.php --- modules/mod_articles_news/tmpl/_item.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/mod_articles_news/tmpl/_item.php b/modules/mod_articles_news/tmpl/_item.php index e4c125286cae4..c534dc8565a51 100644 --- a/modules/mod_articles_news/tmpl/_item.php +++ b/modules/mod_articles_news/tmpl/_item.php @@ -8,11 +8,9 @@ */ defined('_JEXEC') or die; - -$item_heading = $params->get('item_heading', 'h4'); ?> <?php if ($params->get('item_title')) : ?> - + <?php $item_heading = $params->get('item_heading', 'h4'); ?> <<?php echo $item_heading; ?> class="newsflash-title<?php echo $params->get('moduleclass_sfx'); ?>"> <?php if ($item->link !== '' && $params->get('link_titles')) : ?> <a href="<?php echo $item->link; ?>"> @@ -22,7 +20,6 @@ <?php echo $item->title; ?> <?php endif; ?> </<?php echo $item_heading; ?>> - <?php endif; ?> <?php if (!$params->get('intro_only')) : ?> From 7757e6196b5ff90aeecf8748bc4c4030e5cebf88 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Tue, 6 Feb 2018 16:18:19 -0800 Subject: [PATCH 078/255] Fix count() in PHP 7.2 (#19396) * Fix count() * Simplify check --- components/com_content/models/category.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_content/models/category.php b/components/com_content/models/category.php index 351d5265457e8..78b83cdbba37d 100644 --- a/components/com_content/models/category.php +++ b/components/com_content/models/category.php @@ -454,7 +454,7 @@ public function &getChildren() } // Order subcategories - if (count($this->_children)) + if ($this->_children) { $params = $this->getState()->get('params'); From 9c127402fa27f840b2a234853cab20224b82f577 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Tue, 6 Feb 2018 17:19:59 -0700 Subject: [PATCH 079/255] [CS] Code style Tabs must be used to indent lines; round 1 (#19350) * Tabs must be used to indent lines; round 1 Tabs must be used to indent lines; spaces are not allowed * Fix some indent issues not fixed by the auto fixer nothing is perfect, sometimes we need to make some minor adjustments. * fix line issue * Make suggested changes to reflect general code style * Add space after ; - correct indenting - remove extra ; - correct spaces *   was on it's own line * fix missing semicolon * align equals replace tab with spaces on line 25 * remove extra space * fix missing semicolons fix some spacing around operators --- administrator/templates/hathor/cpanel.php | 4 +- .../hathor/html/com_admin/help/default.php | 2 +- .../com_categories/categories/default.php | 26 ++--- .../hathor/html/com_contact/contact/edit.php | 4 +- .../com_installer/install/default_form.php | 97 +++++++++---------- .../html/com_installer/manage/default.php | 6 +- .../com_installer/manage/default_filter.php | 18 ++-- .../html/com_languages/languages/default.php | 18 ++-- .../hathor/html/com_menus/item/edit.php | 4 +- .../hathor/html/com_menus/items/default.php | 84 ++++++++-------- .../hathor/html/com_menus/menu/edit.php | 4 +- .../html/com_modules/modules/default.php | 32 +++--- .../html/com_newsfeeds/newsfeed/edit.php | 2 +- .../html/com_newsfeeds/newsfeeds/default.php | 32 +++--- .../html/com_plugins/plugins/default.php | 32 +++--- .../hathor/html/com_users/levels/default.php | 8 +- .../html/com_weblinks/weblinks/default.php | 30 +++--- .../html/com_media/medialist/thumbs_imgs.php | 2 +- installation/view/languages/tmpl/default.php | 16 +-- installation/view/summary/tmpl/default.php | 10 +- 20 files changed, 214 insertions(+), 217 deletions(-) diff --git a/administrator/templates/hathor/cpanel.php b/administrator/templates/hathor/cpanel.php index cf9c670d5654e..dd456477dc01f 100644 --- a/administrator/templates/hathor/cpanel.php +++ b/administrator/templates/hathor/cpanel.php @@ -91,7 +91,7 @@ <div class="title-ua"> <h1 class="title"><?php echo $this->params->get('showSiteName') ? $app->get('sitename') . ' ' . JText::_('JADMINISTRATION') : JText::_('JADMINISTRATION'); ?></h1> <div id="skiplinkholder"><p><a id="skiplink" href="#skiptarget"><?php echo JText::_('TPL_HATHOR_SKIP_TO_MAIN_CONTENT'); ?></a></p></div> - </div> + </div> </div><!-- end header --> <!-- Main Menu Navigation --> <div id="nav"> @@ -113,7 +113,7 @@ <jdoc:include type="message" /> <!-- Sub Menu Navigation --> <div id="no-submenu"></div> - <div class="clr"></div> + <div class="clr"></div> <!-- Beginning of Actual Content --> <div id="element-box"> <p id="skiptargetholder"><a id="skiptarget" class="skip" tabindex="-1"></a></p> diff --git a/administrator/templates/hathor/html/com_admin/help/default.php b/administrator/templates/hathor/html/com_admin/help/default.php index 9f11510154a8f..ce05e3d19c23f 100644 --- a/administrator/templates/hathor/html/com_admin/help/default.php +++ b/administrator/templates/hathor/html/com_admin/help/default.php @@ -29,7 +29,7 @@ <ul class="subext"> <?php foreach ($this->toc as $k => $v):?> <li> - <?php $url = JHelp::createUrl('JHELP_'.strtoupper($k)); ?> + <?php $url = JHelp::createUrl('JHELP_'.strtoupper($k)); ?> <?php echo JHtml::_('link', $url, $v, array('target' => 'helpFrame'));?> </li> <?php endforeach;?> diff --git a/administrator/templates/hathor/html/com_categories/categories/default.php b/administrator/templates/hathor/html/com_categories/categories/default.php index 22852f3dd400f..b06f7b0275aa0 100644 --- a/administrator/templates/hathor/html/com_categories/categories/default.php +++ b/administrator/templates/hathor/html/com_categories/categories/default.php @@ -104,22 +104,22 @@ <th width="1%" class="nowrap center hidden-phone"> <span class="icon-publish hasTooltip" aria-hidden="true" title="<?php echo JText::_('COM_CATEGORY_COUNT_PUBLISHED_ITEMS'); ?>"><span class="element-invisible"><?php echo JText::_('COM_CATEGORY_COUNT_PUBLISHED_ITEMS'); ?></span></span> </th> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_unpublished')) : ?> <th width="1%" class="nowrap center hidden-phone"> <span class="icon-unpublish hasTooltip" aria-hidden="true" title="<?php echo JText::_('COM_CATEGORY_COUNT_UNPUBLISHED_ITEMS'); ?>"><span class="element-invisible"><?php echo JText::_('COM_CATEGORY_COUNT_UNPUBLISHED_ITEMS'); ?></span></span> </th> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_archived')) : ?> <th width="1%" class="nowrap center hidden-phone"> <span class="icon-archive hasTooltip" aria-hidden="true" title="<?php echo JText::_('COM_CATEGORY_COUNT_ARCHIVED_ITEMS'); ?>"><span class="element-invisible"><?php echo JText::_('COM_CATEGORY_COUNT_ARCHIVED_ITEMS'); ?></span></span> </th> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_trashed')) : ?> <th width="1%" class="nowrap center hidden-phone"> <span class="icon-trash hasTooltip" aria-hidden="true" title="<?php echo JText::_('COM_CATEGORY_COUNT_TRASHED_ITEMS'); ?>"><span class="element-invisible"><?php echo JText::_('COM_CATEGORY_COUNT_TRASHED_ITEMS'); ?></span></span> </th> - <?php endif;?> + <?php endif; ?> <th class="access-col"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ACCESS', 'access_level', $listDirn, $listOrder); ?> </th> @@ -179,35 +179,35 @@ <span><?php echo $this->pagination->orderDownIcon($i, $this->pagination->total, isset($this->ordering[$item->parent_id][$orderkey + 1]), 'categories.orderdown', 'JLIB_HTML_MOVE_DOWN', $ordering); ?></span> <?php endif; ?> <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $orderkey + 1; ?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> + <input type="text" name="order[]" value="<?php echo $orderkey + 1; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> <?php else : ?> <?php echo $orderkey + 1; ?> <?php endif; ?> </td> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_published')) : ?> <td class="center"> - <a title="<?php echo JText::_('COM_CATEGORY_COUNT_PUBLISHED_ITEMS');?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=1' . '&filter[level]=' . (int) $item->level);?>"> + <a title="<?php echo JText::_('COM_CATEGORY_COUNT_PUBLISHED_ITEMS'); ?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=1' . '&filter[level]=' . (int) $item->level); ?>"> <?php echo $item->count_published; ?></a> </td> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_unpublished')) : ?> <td class="center"> - <a title="<?php echo JText::_('COM_CATEGORY_COUNT_UNPUBLISHED_ITEMS');?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=0' . '&filter[level]=' . (int) $item->level);?>"> + <a title="<?php echo JText::_('COM_CATEGORY_COUNT_UNPUBLISHED_ITEMS'); ?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=0' . '&filter[level]=' . (int) $item->level); ?>"> <?php echo $item->count_unpublished; ?></a> </td> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_archived')) : ?> <td class="center"> - <a title="<?php echo JText::_('COM_CATEGORY_COUNT_ARCHIVED_ITEMS');?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=2' . '&filter[level]=' . (int) $item->level);?>"> + <a title="<?php echo JText::_('COM_CATEGORY_COUNT_ARCHIVED_ITEMS'); ?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=2' . '&filter[level]=' . (int) $item->level); ?>"> <?php echo $item->count_archived; ?></a> </td> - <?php endif;?> + <?php endif; ?> <?php if (isset($this->items[0]) && property_exists($this->items[0], 'count_trashed')) : ?> <td class="center"> - <a title="<?php echo JText::_('COM_CATEGORY_COUNT_TRASHED_ITEMS');?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=-2' . '&filter[level]=' . (int) $item->level);?>"> + <a title="<?php echo JText::_('COM_CATEGORY_COUNT_TRASHED_ITEMS'); ?>" href="<?php echo JRoute::_('index.php?option=' . $component . '&filter[category_id]=' . (int) $item->id . '&filter[published]=-2' . '&filter[level]=' . (int) $item->level); ?>"> <?php echo $item->count_trashed; ?></a> </td> - <?php endif;?> + <?php endif; ?> <td class="center"> <?php echo $this->escape($item->access_level); ?> </td> diff --git a/administrator/templates/hathor/html/com_contact/contact/edit.php b/administrator/templates/hathor/html/com_contact/contact/edit.php index 15361745e6b67..3cdbfaac931af 100644 --- a/administrator/templates/hathor/html/com_contact/contact/edit.php +++ b/administrator/templates/hathor/html/com_contact/contact/edit.php @@ -86,8 +86,8 @@ <?php echo $this->form->getInput('misc'); ?> </fieldset> </div> - <div class="col options-section"> - <?php echo JHtml::_('sliders.start', 'contact-slider'); ?> + <div class="col options-section"> + <?php echo JHtml::_('sliders.start', 'contact-slider'); ?> <?php echo JHtml::_('sliders.panel', JText::_('JGLOBAL_FIELDSET_PUBLISHING'), 'publishing-details'); ?> <fieldset class="panelform"> diff --git a/administrator/templates/hathor/html/com_installer/install/default_form.php b/administrator/templates/hathor/html/com_installer/install/default_form.php index 7608267fc6f42..358e3d77a8bfa 100644 --- a/administrator/templates/hathor/html/com_installer/install/default_form.php +++ b/administrator/templates/hathor/html/com_installer/install/default_form.php @@ -39,7 +39,7 @@ } else { - JoomlaInstaller.showLoading(); + JoomlaInstaller.showLoading(); form.installtype.value = 'folder'; form.submit(); } @@ -109,53 +109,52 @@ ); ?> <div id="installer-install" class="clearfix"> - <form enctype="multipart/form-data" action="<?php echo JRoute::_('index.php?option=com_installer&view=install');?>" method="post" name="adminForm" id="adminForm"> - <?php if (!empty( $this->sidebar)) : ?> - <div id="j-sidebar-container" class="span2"> - <?php echo $this->sidebar; ?> - </div> - <div id="j-main-container" class="span10"> - <?php else : ?> - <div id="j-main-container"> - <?php endif;?> - - <?php if ($this->showJedAndWebInstaller && !$this->showMessage) : ?> - <div class="alert j-jed-message" style="margin-bottom: 20px; line-height: 2em; color:#333333; clear:both;"> - <a href="index.php?option=com_config&view=component&component=com_installer&path=&return=<?php echo urlencode(base64_encode(JUri::getInstance())); ?>" class="close hasTooltip icon-options" data-dismiss="alert" title="<?php echo str_replace('"', '"', JText::_('COM_INSTALLER_SHOW_JED_INFORMATION_TOOLTIP')); ?>"></a> - <p><?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_INFO'); ?> <?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_TOS'); ?></p> - <input class="btn" type="button" value="<?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_ADD_TAB'); ?>" onclick="Joomla.submitbuttonInstallWebInstaller()" /> - </div> - <?php endif; ?> - - <?php if ($this->ftp) : ?> - <?php echo $this->loadTemplate('ftp'); ?> - <?php endif; ?> - <div class="width-70 fltlft"> - - <?php $firstTab = JEventDispatcher::getInstance()->trigger('onInstallerViewBeforeFirstTab', array()); ?> - - <?php // Show installation fieldsets ?> - <?php $tabs = JEventDispatcher::getInstance()->trigger('onInstallerAddInstallationTab', array()); ?> - <?php foreach ($tabs as $tab) : ?> - <fieldset class="uploadform"> - <?php echo $tab['content']; ?> - </fieldset> - <?php endforeach; ?> - - <?php $lastTab = JEventDispatcher::getInstance()->trigger('onInstallerViewAfterLastTab', array()); ?> - - <?php $tabs = array_merge($firstTab, $tabs, $lastTab); ?> - <?php if (!$tabs) : ?> - <?php JFactory::getApplication()->enqueueMessage(JText::_('COM_INSTALLER_NO_INSTALLATION_PLUGINS_FOUND'), 'warning'); ?> - <?php endif; ?> - - - <input type="hidden" name="type" value="" /> - <input type="hidden" name="installtype" value="upload" /> - <input type="hidden" name="task" value="install.install" /> - <?php echo JHtml::_('form.token'); ?> - </div> - </div> - </form> + <form enctype="multipart/form-data" action="<?php echo JRoute::_('index.php?option=com_installer&view=install');?>" method="post" name="adminForm" id="adminForm"> + <?php if (!empty($this->sidebar)) : ?> + <div id="j-sidebar-container" class="span2"> + <?php echo $this->sidebar; ?> + </div> + <div id="j-main-container" class="span10"> + <?php else : ?> + <div id="j-main-container"> + <?php endif;?> + + <?php if ($this->showJedAndWebInstaller && !$this->showMessage) : ?> + <div class="alert j-jed-message" style="margin-bottom: 20px; line-height: 2em; color:#333333; clear:both;"> + <a href="index.php?option=com_config&view=component&component=com_installer&path=&return=<?php echo urlencode(base64_encode(JUri::getInstance())); ?>" class="close hasTooltip icon-options" data-dismiss="alert" title="<?php echo str_replace('"', '"', JText::_('COM_INSTALLER_SHOW_JED_INFORMATION_TOOLTIP')); ?>"></a> + <p><?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_INFO'); ?> <?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_TOS'); ?></p> + <input class="btn" type="button" value="<?php echo JText::_('COM_INSTALLER_INSTALL_FROM_WEB_ADD_TAB'); ?>" onclick="Joomla.submitbuttonInstallWebInstaller()" /> + </div> + <?php endif; ?> + + <?php if ($this->ftp) : ?> + <?php echo $this->loadTemplate('ftp'); ?> + <?php endif; ?> + <div class="width-70 fltlft"> + + <?php $firstTab = JEventDispatcher::getInstance()->trigger('onInstallerViewBeforeFirstTab', array()); ?> + + <?php // Show installation fieldsets ?> + <?php $tabs = JEventDispatcher::getInstance()->trigger('onInstallerAddInstallationTab', array()); ?> + <?php foreach ($tabs as $tab) : ?> + <fieldset class="uploadform"> + <?php echo $tab['content']; ?> + </fieldset> + <?php endforeach; ?> + + <?php $lastTab = JEventDispatcher::getInstance()->trigger('onInstallerViewAfterLastTab', array()); ?> + + <?php $tabs = array_merge($firstTab, $tabs, $lastTab); ?> + <?php if (!$tabs) : ?> + <?php JFactory::getApplication()->enqueueMessage(JText::_('COM_INSTALLER_NO_INSTALLATION_PLUGINS_FOUND'), 'warning'); ?> + <?php endif; ?> + + <input type="hidden" name="type" value="" /> + <input type="hidden" name="installtype" value="upload" /> + <input type="hidden" name="task" value="install.install" /> + <?php echo JHtml::_('form.token'); ?> + </div> + </div> + </form> </div> <div id="loading"></div> diff --git a/administrator/templates/hathor/html/com_installer/manage/default.php b/administrator/templates/hathor/html/com_installer/manage/default.php index 5cd465acdfecd..f770d8fc7a02b 100644 --- a/administrator/templates/hathor/html/com_installer/manage/default.php +++ b/administrator/templates/hathor/html/com_installer/manage/default.php @@ -61,9 +61,9 @@ <th class="width-10"> <?php echo JText::_('JDATE'); ?> </th> - <th class="width-15 center"> - <?php echo JText::_('JAUTHOR'); ?> - </th> + <th class="width-15 center"> + <?php echo JText::_('JAUTHOR'); ?> + </th> <th> <?php echo JHtml::_('grid.sort', 'COM_INSTALLER_HEADING_FOLDER', 'folder', $listDirn, $listOrder); ?> </th> diff --git a/administrator/templates/hathor/html/com_installer/manage/default_filter.php b/administrator/templates/hathor/html/com_installer/manage/default_filter.php index b7204e7c9e00d..7ae791451da35 100644 --- a/administrator/templates/hathor/html/com_installer/manage/default_filter.php +++ b/administrator/templates/hathor/html/com_installer/manage/default_filter.php @@ -24,31 +24,31 @@ <?php echo JText::_('COM_INSTALLER_VALUE_CLIENT_SELECT'); ?> </label> <select name="filter_client_id" id="filter_client_id"> - <?php echo JHtml::_('select.options', array('0' => JText::_('JSITE'), '1' => JText::_('JADMINISTRATOR')), 'value', 'text', $this->state->get('filter.client_id'), true);?> + <?php echo JHtml::_('select.options', array('0' => JText::_('JSITE'), '1' => JText::_('JADMINISTRATOR')), 'value', 'text', $this->state->get('filter.client_id'), true); ?> </select> - <label class="selectlabel" for="filter_status"> + <label class="selectlabel" for="filter_status"> <?php echo JText::_('COM_INSTALLER_VALUE_STATE_SELECT'); ?> </label> <select name="filter_status" id="filter_status"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', InstallerHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.status'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', InstallerHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.status'), true); ?> </select> - <label class="selectlabel" for="filter_type"> + <label class="selectlabel" for="filter_type"> <?php echo JText::_('COM_INSTALLER_VALUE_TYPE_SELECT'); ?> </label> <select name="filter_type" id="filter_type"> - <option value=""><?php echo JText::_('COM_INSTALLER_VALUE_TYPE_SELECT');?></option> - <?php echo JHtml::_('select.options', InstallerHelper::getExtensionTypes(), 'value', 'text', $this->state->get('filter.type'), true);?> + <option value=""><?php echo JText::_('COM_INSTALLER_VALUE_TYPE_SELECT'); ?></option> + <?php echo JHtml::_('select.options', InstallerHelper::getExtensionTypes(), 'value', 'text', $this->state->get('filter.type'), true); ?> </select> <label class="selectlabel" for="filter_folder"> <?php echo JText::_('COM_INSTALLER_VALUE_FOLDER_SELECT'); ?> </label> <select name="filter_folder" id="filter_folder"> - <option value=""><?php echo JText::_('COM_INSTALLER_VALUE_FOLDER_SELECT');?></option> - <?php echo JHtml::_('select.options', array_merge(InstallerHelper::getExtensionGroupes(), array('*' => JText::_('COM_INSTALLER_VALUE_FOLDER_NONAPPLICABLE'))), 'value', 'text', $this->state->get('filter.folder'), true);?> + <option value=""><?php echo JText::_('COM_INSTALLER_VALUE_FOLDER_SELECT'); ?></option> + <?php echo JHtml::_('select.options', array_merge(InstallerHelper::getExtensionGroupes(), array('*' => JText::_('COM_INSTALLER_VALUE_FOLDER_NONAPPLICABLE'))), 'value', 'text', $this->state->get('filter.folder'), true); ?> </select> <button type="submit" id="filter-go"> diff --git a/administrator/templates/hathor/html/com_languages/languages/default.php b/administrator/templates/hathor/html/com_languages/languages/default.php index 0d7599aa3a1a6..41d07121ed553 100644 --- a/administrator/templates/hathor/html/com_languages/languages/default.php +++ b/administrator/templates/hathor/html/com_languages/languages/default.php @@ -31,7 +31,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -46,8 +46,8 @@ <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter_published" id="filter_published"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', JHtml::_('languages.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('languages.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true); ?> </select> <button type="submit" id="filter-go"> @@ -133,7 +133,7 @@ <?php endif; ?> </td> <td class="center"> - <?php echo JHtml::_('jgrid.published', $item->published, $i, 'languages.', $canChange);?> + <?php echo JHtml::_('jgrid.published', $item->published, $i, 'languages.', $canChange); ?> </td> <td class="order"> <?php if ($canChange) : ?> @@ -146,18 +146,18 @@ <span><?php echo $this->pagination->orderDownIcon($i, $this->pagination->total, true, 'languages.orderup', 'JLIB_HTML_MOVE_DOWN', $ordering); ?></span> <?php endif; ?> <?php endif; ?> - <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" size="5" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" /> + <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> + <input type="text" name="order[]" size="5" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> </td> <td class="center"> <?php if ($item->home == '1') : ?> - <?php echo JText::_('JYES');?> + <?php echo JText::_('JYES'); ?> <?php else:?> - <?php echo JText::_('JNO');?> - <?php endif;?> + <?php echo JText::_('JNO'); ?> + <?php endif; ?> </td> <td class="center"> <?php echo $this->escape($item->lang_id); ?> diff --git a/administrator/templates/hathor/html/com_menus/item/edit.php b/administrator/templates/hathor/html/com_menus/item/edit.php index d5b55666c438d..8f95748c6c43f 100644 --- a/administrator/templates/hathor/html/com_menus/item/edit.php +++ b/administrator/templates/hathor/html/com_menus/item/edit.php @@ -150,9 +150,9 @@ <li><?php echo $this->form->getLabel('id'); ?> <?php echo $this->form->getInput('id'); ?></li> - <li><?php echo $this->form->getLabel('client_id'); ?> + <li><?php echo $this->form->getLabel('client_id'); ?> <?php echo $this->form->getInput('client_id'); ?></li> - </ul> + </ul> </fieldset> </div> diff --git a/administrator/templates/hathor/html/com_menus/items/default.php b/administrator/templates/hathor/html/com_menus/items/default.php index 930edca56711b..9d2bb9297afad 100644 --- a/administrator/templates/hathor/html/com_menus/items/default.php +++ b/administrator/templates/hathor/html/com_menus/items/default.php @@ -14,20 +14,20 @@ JHtml::_('behavior.multiselect'); -$user = JFactory::getUser(); -$app = JFactory::getApplication(); -$userId = $user->get('id'); -$listOrder = $this->escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); -$ordering = ($listOrder == 'a.lft'); -$canOrder = $user->authorise('core.edit.state', 'com_menus'); -$saveOrder = ($listOrder == 'a.lft' && $listDirn == 'asc'); -$menutypeid = (int) $this->state->get('menutypeid'); -$assoc = JLanguageAssociations::isEnabled() && $this->state->get('filter.client_id') == 0;; +$user = JFactory::getUser(); +$app = JFactory::getApplication(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$ordering = ($listOrder == 'a.lft'); +$canOrder = $user->authorise('core.edit.state', 'com_menus'); +$saveOrder = ($listOrder == 'a.lft' && $listDirn == 'asc'); +$menutypeid = (int) $this->state->get('menutypeid'); +$assoc = JLanguageAssociations::isEnabled() && $this->state->get('filter.client_id') == 0; ?> <?php // Set up the filter bar. ?> -<form action="<?php echo JRoute::_('index.php?option=com_menus&view=items');?>" method="post" name="adminForm" id="adminForm"> +<form action="<?php echo JRoute::_('index.php?option=com_menus&view=items'); ?>" method="post" name="adminForm" id="adminForm"> <?php if (!empty( $this->sidebar)) : ?> <div id="j-sidebar-container" class="span2"> <?php echo $this->sidebar; ?> @@ -35,7 +35,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -49,39 +49,39 @@ <?php echo JText::_('TPL_HATHOR_COM_MENUS_MENU'); ?> </label> <select name="menutype" id="menutype"> - <?php echo JHtml::_('select.options', JHtml::_('menu.menus'), 'value', 'text', $this->state->get('filter.menutype'));?> + <?php echo JHtml::_('select.options', JHtml::_('menu.menus'), 'value', 'text', $this->state->get('filter.menutype')); ?> </select> <label class="selectlabel" for="filter_level"> <?php echo JText::_('COM_MENUS_OPTION_SELECT_LEVEL'); ?> </label> <select name="filter_level" id="filter_level"> - <option value=""><?php echo JText::_('COM_MENUS_OPTION_SELECT_LEVEL');?></option> - <?php echo JHtml::_('select.options', $this->f_levels, 'value', 'text', $this->state->get('filter.level'));?> + <option value=""><?php echo JText::_('COM_MENUS_OPTION_SELECT_LEVEL'); ?></option> + <?php echo JHtml::_('select.options', $this->f_levels, 'value', 'text', $this->state->get('filter.level')); ?> </select> - <label class="selectlabel" for="filter_published"> + <label class="selectlabel" for="filter_published"> <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter[published]" id="filter_published"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('archived' => false)), 'value', 'text', $this->state->get('filter.published'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('archived' => false)), 'value', 'text', $this->state->get('filter.published'), true); ?> </select> - <label class="selectlabel" for="filter_access"> + <label class="selectlabel" for="filter_access"> <?php echo JText::_('JOPTION_SELECT_ACCESS'); ?> </label> <select name="filter[access]" id="filter_access"> - <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS');?></option> - <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')); ?> </select> <label class="selectlabel" for="filter_language"> <?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?> </label> <select name="filter[language]" id="filter_language"> - <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE');?></option> - <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language')); ?> </select> <button type="submit" id="filter-go"> @@ -123,7 +123,7 @@ <th class="width-5"> <?php echo JHtml::_('grid.sort', 'COM_MENUS_HEADING_ASSOCIATION', 'association', $listDirn, $listOrder); ?> </th> - <?php endif;?> + <?php endif; ?> <th class="language-col"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'language', $listDirn, $listOrder); ?> </th> @@ -141,7 +141,7 @@ $canEdit = $user->authorise('core.edit', 'com_menus.menu.' . $menutypeid); $canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->get('id')|| $item->checked_out == 0; $canChange = $user->authorise('core.edit.state', 'com_menus.menu.' . $menutypeid) && $canCheckin; - ?> + ?> <tr class="row<?php echo $i % 2; ?>"> <td class="center"> <?php echo JHtml::_('grid.id', $i, $item->id); ?> @@ -152,21 +152,21 @@ <?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, 'items.', $canCheckin); ?> <?php endif; ?> <?php if ($canEdit && !$item->protected) : ?> - <a href="<?php echo JRoute::_('index.php?option=com_menus&task=item.edit&id='.(int) $item->id);?>"> + <a href="<?php echo JRoute::_('index.php?option=com_menus&task=item.edit&id='.(int) $item->id); ?>"> <?php echo $this->escape($item->title); ?></a> <?php else : ?> <?php echo $this->escape($item->title); ?> <?php endif; ?> - <p class="smallsub" title="<?php echo $this->escape($item->path);?>"> + <p class="smallsub" title="<?php echo $this->escape($item->path); ?>"> <?php echo str_repeat('<span class="gtr">|—</span>', $item->level - 1) ?> <?php if ($item->type != 'url') : ?> <?php if (empty($item->note)) : ?> - <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias));?> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias)); ?> <?php else : ?> - <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS_NOTE', $this->escape($item->alias), $this->escape($item->note));?> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS_NOTE', $this->escape($item->alias), $this->escape($item->note)); ?> <?php endif; ?> <?php elseif ($item->type == 'url' && $item->note) : ?> - <?php echo JText::sprintf('JGLOBAL_LIST_NOTE', $this->escape($item->note));?> + <?php echo JText::sprintf('JGLOBAL_LIST_NOTE', $this->escape($item->note)); ?> <?php endif; ?></p> </td> <td class="center"> @@ -178,10 +178,10 @@ <span><?php echo $this->pagination->orderUpIcon($i, isset($this->ordering[$item->parent_id][$orderkey - 1]), 'items.orderup', 'JLIB_HTML_MOVE_UP', $ordering); ?></span> <span><?php echo $this->pagination->orderDownIcon($i, $this->pagination->total, isset($this->ordering[$item->parent_id][$orderkey + 1]), 'items.orderdown', 'JLIB_HTML_MOVE_DOWN', $ordering); ?></span> <?php endif; ?> - <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $orderkey + 1;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> + <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> + <input type="text" name="order[]" value="<?php echo $orderkey + 1; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> <?php else : ?> - <?php echo $orderkey + 1;?> + <?php echo $orderkey + 1; ?> <?php endif; ?> </td> <td class="center"> @@ -195,7 +195,7 @@ <td class="center"> <?php if ($item->type == 'component') : ?> <?php if ($item->language == '*' || $item->home == '0'):?> - <?php echo JHtml::_('jgrid.isdefault', $item->home, $i, 'items.', ($item->language != '*' || !$item->home) && $canChange && !$item->protected);?> + <?php echo JHtml::_('jgrid.isdefault', $item->home, $i, 'items.', ($item->language != '*' || !$item->home) && $canChange && !$item->protected); ?> <?php elseif ($canChange):?> <a href="<?php echo JRoute::_('index.php?option=com_menus&task=items.unsetDefault&cid[]='.$item->id.'&'.JSession::getFormToken().'=1'); ?>"> <?php if ($item->language_image) : ?> @@ -210,24 +210,22 @@ <?php else : ?> <span class="label" title="<?php echo $item->language_title; ?>"><?php echo $item->language_sef; ?></span> <?php endif; ?> - <?php endif;?> + <?php endif; ?> <?php endif; ?> </td> <?php endif; ?> - <?php - if ($assoc): - ?> + <?php if ($assoc) : ?> <td class="center"> <?php if ($item->association):?> - <?php echo JHtml::_('MenusHtml.Menus.association', $item->id);?> - <?php endif;?> + <?php echo JHtml::_('MenusHtml.Menus.association', $item->id); ?> + <?php endif; ?> </td> - <?php endif;?> + <?php endif; ?> <td class="center"> <?php echo JLayoutHelper::render('joomla.content.language', $item); ?> </td> <td class="center"> - <span title="<?php echo sprintf('%d-%d', $item->lft, $item->rgt);?>"> + <span title="<?php echo sprintf('%d-%d', $item->lft, $item->rgt); ?>"> <?php echo (int) $item->id; ?></span> </td> </tr> @@ -249,7 +247,7 @@ ), $this->loadTemplate('batch_body') ); ?> - <?php endif;?> + <?php endif; ?> <input type="hidden" name="task" value="" /> <input type="hidden" name="boxchecked" value="0" /> diff --git a/administrator/templates/hathor/html/com_menus/menu/edit.php b/administrator/templates/hathor/html/com_menus/menu/edit.php index b05362ed7a091..ae2972da8346b 100644 --- a/administrator/templates/hathor/html/com_menus/menu/edit.php +++ b/administrator/templates/hathor/html/com_menus/menu/edit.php @@ -42,10 +42,10 @@ <?php echo $this->form->getInput('menutype'); ?></li> <li><?php echo $this->form->getLabel('description'); ?> - <?php echo $this->form->getInput('description'); ?></li> + <?php echo $this->form->getInput('description'); ?></li> <li><?php echo $this->form->getLabel('client_id'); ?> - <?php echo $this->form->getInput('client_id'); ?></li> + <?php echo $this->form->getInput('client_id'); ?></li> </ul> </fieldset> </div> diff --git a/administrator/templates/hathor/html/com_modules/modules/default.php b/administrator/templates/hathor/html/com_modules/modules/default.php index 404b4d2be60e3..a22490605d159 100644 --- a/administrator/templates/hathor/html/com_modules/modules/default.php +++ b/administrator/templates/hathor/html/com_modules/modules/default.php @@ -31,7 +31,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -46,47 +46,47 @@ <?php echo JText::_('JGLOBAL_FILTER_CLIENT'); ?> </label> <select name="client_id" id="client_id"> - <?php echo JHtml::_('select.options', ModulesHelper::getClientOptions(), 'value', 'text', $this->state->get('client_id'));?> + <?php echo JHtml::_('select.options', ModulesHelper::getClientOptions(), 'value', 'text', $this->state->get('client_id')); ?> </select> <label class="selectlabel" for="filter_state"> <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter_state" id="filter_state"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', ModulesHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', ModulesHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state')); ?> </select> <label class="selectlabel" for="filter_position"> <?php echo JText::_('COM_MODULES_OPTION_SELECT_POSITION'); ?> </label> <select name="filter_position" id="filter_position"> - <option value=""><?php echo JText::_('COM_MODULES_OPTION_SELECT_POSITION');?></option> - <?php echo JHtml::_('select.options', ModulesHelper::getPositions($this->state->get('client_id')), 'value', 'text', $this->state->get('filter.position'));?> + <option value=""><?php echo JText::_('COM_MODULES_OPTION_SELECT_POSITION'); ?></option> + <?php echo JHtml::_('select.options', ModulesHelper::getPositions($this->state->get('client_id')), 'value', 'text', $this->state->get('filter.position')); ?> </select> <label class="selectlabel" for="filter_module"> <?php echo JText::_('COM_MODULES_OPTION_SELECT_MODULE'); ?> </label> <select name="filter_module" id="filter_module"> - <option value=""><?php echo JText::_('COM_MODULES_OPTION_SELECT_MODULE');?></option> - <?php echo JHtml::_('select.options', ModulesHelper::getModules($this->state->get('client_id')), 'value', 'text', $this->state->get('filter.module'));?> + <option value=""><?php echo JText::_('COM_MODULES_OPTION_SELECT_MODULE'); ?></option> + <?php echo JHtml::_('select.options', ModulesHelper::getModules($this->state->get('client_id')), 'value', 'text', $this->state->get('filter.module')); ?> </select> <label class="selectlabel" for="filter_access"> <?php echo JText::_('JOPTION_SELECT_ACCESS'); ?> </label> <select name="filter_access" id="filter_access"> - <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS');?></option> - <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')); ?> </select> <label class="selectlabel" for="filter_language"> <?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?> </label> <select name="filter_language" id="filter_language"> - <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE');?></option> - <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language')); ?> </select> <button type="submit" id="filter-go"> @@ -159,7 +159,7 @@ <?php endif; ?> <?php if (!empty($item->note)) : ?> <p class="smallsub"> - <?php echo JText::sprintf('JGLOBAL_LIST_NOTE', $this->escape($item->note));?></p> + <?php echo JText::sprintf('JGLOBAL_LIST_NOTE', $this->escape($item->note)); ?></p> <?php endif; ?> </td> <td class="center"> @@ -188,13 +188,13 @@ <?php endif; ?> <?php endif; ?> <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> + <input type="text" name="order[]" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> </td> <td class="left"> - <?php echo $item->name;?> + <?php echo $item->name; ?> </td> <td class="center"> <?php echo $item->pages; ?> @@ -210,7 +210,7 @@ <?php echo JText::alt('JALL', 'language'); ?> <?php else:?> <?php echo $item->language_title ? JHtml::_('image', 'mod_languages/' . $item->language_image . '.gif', $item->language_title, array('title' => $item->language_title), true) . ' ' . $this->escape($item->language_title) : JText::_('JUNDEFINED'); ?> - <?php endif;?> + <?php endif; ?> </td> <td class="center"> <?php echo (int) $item->id; ?> diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php index f30e28b59bd9a..378aa976c8b67 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeed/edit.php @@ -41,7 +41,7 @@ <li><?php echo $this->form->getLabel('name'); ?> <?php echo $this->form->getInput('name'); ?></li> - <li><?php echo $this->form->getLabel('alias'); ?> + <li><?php echo $this->form->getLabel('alias'); ?> <?php echo $this->form->getInput('alias'); ?></li> <li><?php echo $this->form->getLabel('link'); ?> diff --git a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php index e25a999c65dc3..478966db9edec 100644 --- a/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php +++ b/administrator/templates/hathor/html/com_newsfeeds/newsfeeds/default.php @@ -32,7 +32,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -47,40 +47,40 @@ <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter_published" id="filter_published"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true); ?> </select> <label class="selectlabel" for="filter_category_id"> <?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?> </label> <select name="filter_category_id" id="filter_category_id"> - <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY');?></option> - <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_newsfeeds'), 'value', 'text', $this->state->get('filter.category_id'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_newsfeeds'), 'value', 'text', $this->state->get('filter.category_id')); ?> </select> <label class="selectlabel" for="filter_access"> <?php echo JText::_('JOPTION_SELECT_ACCESS'); ?> </label> <select name="filter_access" id="filter_access"> - <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS');?></option> - <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')); ?> </select> <label class="selectlabel" for="filter_language"> <?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?> </label> <select name="filter_language" id="filter_language"> - <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE');?></option> - <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language')); ?> </select> <label class="selectlabel" for="filter_tag"> <?php echo JText::_('JOPTION_SELECT_TAG'); ?> </label> <select name="filter_tag" id="filter_tag"> - <option value=""><?php echo JText::_('JOPTION_SELECT_TAG');?></option> - <?php echo JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_TAG'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag')); ?> </select> <button type="submit" id="filter-go"> @@ -123,7 +123,7 @@ <th class="width-5"> <?php echo JHtml::_('grid.sort', 'COM_NEWSFEEDS_HEADING_ASSOCIATION', 'association', $listDirn, $listOrder); ?> </th> - <?php endif;?> + <?php endif; ?> <th class="width-5"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'a.language', $listDirn, $listOrder); ?> </th> @@ -156,7 +156,7 @@ <?php echo $this->escape($item->name); ?> <?php endif; ?> <p class="smallsub"> - <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias));?></p> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias)); ?></p> </td> <td class="center"> <?php echo JHtml::_('jgrid.published', $item->published, $i, 'newsfeeds.', $canChange, 'cb', $item->publish_up, $item->publish_down); ?> @@ -176,7 +176,7 @@ <?php endif; ?> <?php endif; ?> <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" size="5" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->name; ?> order" /> + <input type="text" name="order[]" size="5" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->name; ?> order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> @@ -196,7 +196,7 @@ <?php echo JHtml::_('newsfeed.association', $item->id); ?> <?php endif; ?> </td> - <?php endif;?> + <?php endif; ?> <td class="center"> <?php echo JLayoutHelper::render('joomla.content.language', $item); ?> </td> @@ -221,7 +221,7 @@ ), $this->loadTemplate('batch_body') ); ?> - <?php endif;?> + <?php endif; ?> <?php echo $this->pagination->getListFooter(); ?> diff --git a/administrator/templates/hathor/html/com_plugins/plugins/default.php b/administrator/templates/hathor/html/com_plugins/plugins/default.php index 6323c5eafcce9..d6d548b33355d 100644 --- a/administrator/templates/hathor/html/com_plugins/plugins/default.php +++ b/administrator/templates/hathor/html/com_plugins/plugins/default.php @@ -28,7 +28,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -43,23 +43,23 @@ <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter_enabled" id="filter_enabled"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', PluginsHelper::publishedOptions(), 'value', 'text', $this->state->get('filter.enabled'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', PluginsHelper::publishedOptions(), 'value', 'text', $this->state->get('filter.enabled'), true); ?> </select> <label class="selectlabel" for="filter_folder"> <?php echo JText::_('COM_PLUGINS_OPTION_FOLDER'); ?> </label> <select name="filter_folder" id="filter_folder"> - <option value=""><?php echo JText::_('COM_PLUGINS_OPTION_FOLDER');?></option> - <?php echo JHtml::_('select.options', PluginsHelper::folderOptions(), 'value', 'text', $this->state->get('filter.folder'));?> + <option value=""><?php echo JText::_('COM_PLUGINS_OPTION_FOLDER'); ?></option> + <?php echo JHtml::_('select.options', PluginsHelper::folderOptions(), 'value', 'text', $this->state->get('filter.folder')); ?> </select> - <label class="selectlabel" for="filter_access"> + <label class="selectlabel" for="filter_access"> <?php echo JText::_('JOPTION_SELECT_ACCESS'); ?> </label> <select name="filter_access" id="filter_access"> - <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS');?></option> - <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')); ?> </select> <button type="submit" id="filter-go"> @@ -93,7 +93,7 @@ <th class="nowrap width-10"> <?php echo JHtml::_('grid.sort', 'COM_PLUGINS_ELEMENT_HEADING', 'element', $listDirn, $listOrder); ?> </th> - <th class="title access-col"> + <th class="title access-col"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ACCESS', 'access', $listDirn, $listOrder); ?> </th> <th class="nowrap id-col"> @@ -108,7 +108,7 @@ $canEdit = $user->authorise('core.edit', 'com_plugins'); $canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->get('id') || $item->checked_out == 0; $canChange = $user->authorise('core.edit.state', 'com_plugins') && $canCheckin; - ?> + ?> <tr class="row<?php echo $i % 2; ?>"> <td class="center"> <?php echo JHtml::_('grid.id', $i, $item->extension_id); ?> @@ -129,7 +129,7 @@ </td> <td class="order"> <?php if ($canChange) : ?> - <?php if ($saveOrder) :?> + <?php if ($saveOrder) : ?> <?php if ($listDirn == 'asc') : ?> <span><?php echo $this->pagination->orderUpIcon($i, @$this->items[$i - 1]->folder == $item->folder, 'plugins.orderup', 'JLIB_HTML_MOVE_UP', $ordering); ?></span> <span><?php echo $this->pagination->orderDownIcon($i, $this->pagination->total, @$this->items[$i + 1]->folder == $item->folder, 'plugins.orderdown', 'JLIB_HTML_MOVE_DOWN', $ordering); ?></span> @@ -139,23 +139,23 @@ <?php endif; ?> <?php endif; ?> <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->name; ?> order" /> + <input type="text" name="order[]" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->name; ?> order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> </td> <td class="nowrap center"> - <?php echo $this->escape($item->folder);?> + <?php echo $this->escape($item->folder); ?> </td> <td class="nowrap center"> - <?php echo $this->escape($item->element);?> + <?php echo $this->escape($item->element); ?> </td> - <td class="center"> + <td class="center"> <?php echo $this->escape($item->access_level); ?> </td> <td class="center"> - <?php echo (int) $item->extension_id;?> + <?php echo (int) $item->extension_id; ?> </td> </tr> <?php endforeach; ?> diff --git a/administrator/templates/hathor/html/com_users/levels/default.php b/administrator/templates/hathor/html/com_users/levels/default.php index 577270e0145a1..e902eb66db739 100644 --- a/administrator/templates/hathor/html/com_users/levels/default.php +++ b/administrator/templates/hathor/html/com_users/levels/default.php @@ -21,7 +21,7 @@ $saveOrder = $listOrder == 'a.ordering'; ?> -<form action="<?php echo JRoute::_('index.php?option=com_users&view=levels');?>" method="post" id="adminForm" name="adminForm"> +<form action="<?php echo JRoute::_('index.php?option=com_users&view=levels'); ?>" method="post" id="adminForm" name="adminForm"> <?php if (!empty( $this->sidebar)) : ?> <div id="j-sidebar-container" class="span2"> <?php echo $this->sidebar; ?> @@ -29,7 +29,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('COM_USERS_SEARCH_ACCESS_LEVELS'); ?></legend> <div class="filter-search"> @@ -78,7 +78,7 @@ </td> <td> <?php if ($canEdit) : ?> - <a href="<?php echo JRoute::_('index.php?option=com_users&task=level.edit&id='.$item->id);?>"> + <a href="<?php echo JRoute::_('index.php?option=com_users&task=level.edit&id='.$item->id); ?>"> <?php echo $this->escape($item->title); ?></a> <?php else : ?> <?php echo $this->escape($item->title); ?> @@ -96,7 +96,7 @@ <?php endif; ?> <?php endif; ?> <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> + <input type="text" name="order[]" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> diff --git a/administrator/templates/hathor/html/com_weblinks/weblinks/default.php b/administrator/templates/hathor/html/com_weblinks/weblinks/default.php index 92b8bdaf81e52..5948d60690adb 100644 --- a/administrator/templates/hathor/html/com_weblinks/weblinks/default.php +++ b/administrator/templates/hathor/html/com_weblinks/weblinks/default.php @@ -30,7 +30,7 @@ <div id="j-main-container" class="span10"> <?php else : ?> <div id="j-main-container"> -<?php endif;?> +<?php endif; ?> <fieldset id="filter-bar"> <legend class="element-invisible"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></legend> <div class="filter-search"> @@ -45,40 +45,40 @@ <?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?> </label> <select name="filter_published" id="filter_published"> - <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option> - <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.state'), true);?> + <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.state'), true); ?> </select> <label class="selectlabel" for="filter_category_id"> <?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?> </label> <select name="filter_category_id" id="filter_category_id"> - <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY');?></option> - <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_weblinks'), 'value', 'text', $this->state->get('filter.category_id'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_weblinks'), 'value', 'text', $this->state->get('filter.category_id')); ?> </select> - <label class="selectlabel" for="filter_access"> + <label class="selectlabel" for="filter_access"> <?php echo JText::_('JOPTION_SELECT_ACCESS'); ?> </label> <select name="filter_access" id="filter_access"> - <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS');?></option> - <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_ACCESS'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')); ?> </select> <label class="selectlabel" for="filter_language"> <?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?> </label> <select name="filter_language" id="filter_language"> - <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE');?></option> - <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_LANGUAGE'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language')); ?> </select> <label class="selectlabel" for="filter_tag"> <?php echo JText::_('JOPTION_SELECT_TAG'); ?> </label> <select name="filter_tag" id="filter_tag"> - <option value=""><?php echo JText::_('JOPTION_SELECT_TAG');?></option> - <?php echo JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag'));?> + <option value=""><?php echo JText::_('JOPTION_SELECT_TAG'); ?></option> + <?php echo JHtml::_('select.options', JHtml::_('tag.options', true, true), 'value', 'text', $this->state->get('filter.tag')); ?> </select> <button type="submit" id="filter-go"> @@ -147,7 +147,7 @@ <?php echo $this->escape($item->title); ?> <?php endif; ?> <p class="smallsub"> - <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias));?></p> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias)); ?></p> </td> <td class="center"> <?php echo JHtml::_('jgrid.published', $item->state, $i, 'weblinks.', $canChange, 'cb', $item->publish_up, $item->publish_down); ?> @@ -166,8 +166,8 @@ <span><?php echo $this->pagination->orderDownIcon($i, $this->pagination->total, $item->catid == @$this->items[$i + 1]->catid, 'weblinks.orderup', 'JLIB_HTML_MOVE_DOWN', $ordering); ?></span> <?php endif; ?> <?php endif; ?> - <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> - <input type="text" name="order[]" value="<?php echo $item->ordering;?>" <?php echo $disabled ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> + <?php $disabled = $saveOrder ? '' : 'disabled="disabled"'; ?> + <input type="text" name="order[]" value="<?php echo $item->ordering; ?>" <?php echo $disabled; ?> class="text-area-order" title="<?php echo $item->title; ?> order" /> <?php else : ?> <?php echo $item->ordering; ?> <?php endif; ?> diff --git a/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php b/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php index 327bc2cc21883..ae1afdcc39ea2 100644 --- a/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php +++ b/administrator/templates/isis/html/com_media/medialist/thumbs_imgs.php @@ -36,7 +36,7 @@ </label> </div> - <div class="imgPreview nowrap small"> + <div class="imgPreview nowrap small"> <a href="<?php echo COM_MEDIA_BASEURL, '/', $img->path_relative; ?>" title="<?php echo $img->name; ?>" class="preview truncate"> <span class="icon-search" aria-hidden="true"></span><?php echo $img->name; ?> </a> diff --git a/installation/view/languages/tmpl/default.php b/installation/view/languages/tmpl/default.php index 34573653fe6c6..c6c2bc1cd06a1 100644 --- a/installation/view/languages/tmpl/default.php +++ b/installation/view/languages/tmpl/default.php @@ -98,15 +98,15 @@ class="btn btn-primary" </td> <td> <?php echo $language->code; ?> - </td> + </td> <td class="center"> - <?php $minorVersion = $version::MAJOR_VERSION . '.' . $version::MINOR_VERSION; ?> - <?php // Display a Note if language pack version is not equal to Joomla version ?> - <?php if (strpos($language->version, $minorVersion) !== 0 || strpos($language->version, $currentShortVersion) !== 0) : ?> - <span class="label label-warning hasTooltip" title="<?php echo JText::_('JGLOBAL_LANGUAGE_VERSION_NOT_PLATFORM'); ?>"><?php echo $language->version; ?></span> - <?php else : ?> - <span class="label label-success"><?php echo $language->version; ?></span> - <?php endif; ?> + <?php $minorVersion = $version::MAJOR_VERSION . '.' . $version::MINOR_VERSION; ?> + <?php // Display a Note if language pack version is not equal to Joomla version ?> + <?php if (strpos($language->version, $minorVersion) !== 0 || strpos($language->version, $currentShortVersion) !== 0) : ?> + <span class="label label-warning hasTooltip" title="<?php echo JText::_('JGLOBAL_LANGUAGE_VERSION_NOT_PLATFORM'); ?>"><?php echo $language->version; ?></span> + <?php else : ?> + <span class="label label-success"><?php echo $language->version; ?></span> + <?php endif; ?> </td> </tr> <?php endforeach; ?> diff --git a/installation/view/summary/tmpl/default.php b/installation/view/summary/tmpl/default.php index 429eb9b5ab03a..32227981a1e0c 100644 --- a/installation/view/summary/tmpl/default.php +++ b/installation/view/summary/tmpl/default.php @@ -370,9 +370,9 @@ <script type="text/javascript"> jQuery('input[name="jform[summary_email]"]').each(function(index, el) { - jQuery(el).on('click', function() { - Install.toggle('email_passwords', 'summary_email', 1); - }); - Install.toggle('email_passwords', 'summary_email', 1); - }); + jQuery(el).on('click', function() { + Install.toggle('email_passwords', 'summary_email', 1); + }); + Install.toggle('email_passwords', 'summary_email', 1); + }); </script> From 78745f384e25fcd5abb83187c5c7aa9c56165743 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Wed, 7 Feb 2018 00:20:27 +0000 Subject: [PATCH 080/255] com_mailto remove unused params (#19290) I was checking to see why we had an untranslated string and as far as i can tell this entire params section is not used To test apply pr and make sure that the send to friend functionality works as before --- components/com_mailto/mailto.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/components/com_mailto/mailto.xml b/components/com_mailto/mailto.xml index fb11424fcf872..65bddce1adbe2 100644 --- a/components/com_mailto/mailto.xml +++ b/components/com_mailto/mailto.xml @@ -26,7 +26,4 @@ <language tag="en-GB">language/en-GB.com_mailto.sys.ini</language> </languages> </administration> - <params> - <param name="view" type="filelist" directory="/components/com_mailto/views" hide_none="1" hide_default="0" filter="." default="0" label="View Style" description="The view style for display" /> - </params> </extension> From ef3f900c55106ea3caccf2822bd885d7cd985e45 Mon Sep 17 00:00:00 2001 From: Thong Tran Quang <thong@redweb.dk> Date: Wed, 7 Feb 2018 07:27:11 +0700 Subject: [PATCH 081/255] [com_fields] Fields are not copied when batch duplicating an article (#16958) * [#16740] - [com_fields] Fields are not copied when batch duplicating an article * user deploy version over the wrong since tag ;) * [#16740] - [com_fields] Fields are not copied when batch duplicating an article --- .../components/com_content/models/article.php | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/administrator/components/com_content/models/article.php b/administrator/components/com_content/models/article.php index 5b193b3e36679..d25a2f095e7c4 100644 --- a/administrator/components/com_content/models/article.php +++ b/administrator/components/com_content/models/article.php @@ -67,6 +67,12 @@ protected function batchCopy($value, $pks, $contexts) return false; } + JPluginHelper::importPlugin('system'); + $dispatcher = JEventDispatcher::getInstance(); + + // Register FieldsHelper + JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); + // Parent exists so we let's proceed while (!empty($pks)) { @@ -93,6 +99,19 @@ protected function batchCopy($value, $pks, $contexts) } } + $fields = FieldsHelper::getFields('com_content.article', $this->table, true); + $fieldsData = array(); + + if (!empty($fields)) + { + $fieldsData['com_fields'] = array(); + + foreach ($fields as $field) + { + $fieldsData['com_fields'][$field->name] = $field->rawvalue; + } + } + // Alter the title & alias $data = $this->generateNewTitle($categoryId, $this->table->alias, $this->table->title); $this->table->title = $data['0']; @@ -150,6 +169,9 @@ protected function batchCopy($value, $pks, $contexts) $db->setQuery($query); $db->execute(); } + + // Run event for copied article + $dispatcher->trigger('onContentAfterSave', array('com_content.article', &$this->table, true, $fieldsData)); } // Clean the cache @@ -158,6 +180,117 @@ protected function batchCopy($value, $pks, $contexts) return $newIds; } + /** + * Batch move categories to a new category. + * + * @param integer $value The new category ID. + * @param array $pks An array of row IDs. + * @param array $contexts An array of item contexts. + * + * @return boolean True on success. + * + * @since __DEPLOY_VERSION__ + */ + protected function batchMove($value, $pks, $contexts) + { + if (empty($this->batchSet)) + { + // Set some needed variables. + $this->user = JFactory::getUser(); + $this->table = $this->getTable(); + $this->tableClassName = get_class($this->table); + $this->contentType = new JUcmType; + $this->type = $this->contentType->getTypeByTable($this->tableClassName); + } + + $categoryId = (int) $value; + + if (!$this->checkCategoryId($categoryId)) + { + return false; + } + + JPluginHelper::importPlugin('system'); + $dispatcher = JEventDispatcher::getInstance(); + + // Register FieldsHelper + JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); + + // Parent exists so we proceed + foreach ($pks as $pk) + { + if (!$this->user->authorise('core.edit', $contexts[$pk])) + { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT')); + + return false; + } + + // Check that the row actually exists + if (!$this->table->load($pk)) + { + if ($error = $this->table->getError()) + { + // Fatal error + $this->setError($error); + + return false; + } + else + { + // Not fatal error + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk)); + continue; + } + } + + $fields = FieldsHelper::getFields('com_content.article', $this->table, true); + $fieldsData = array(); + + if (!empty($fields)) + { + $fieldsData['com_fields'] = array(); + + foreach ($fields as $field) + { + $fieldsData['com_fields'][$field->name] = $field->rawvalue; + } + } + + // Set the new category ID + $this->table->catid = $categoryId; + + // Check the row. + if (!$this->table->check()) + { + $this->setError($this->table->getError()); + + return false; + } + + if (!empty($this->type)) + { + $this->createTagsHelper($this->tagsObserver, $this->type, $pk, $this->typeAlias, $this->table); + } + + // Store the row. + if (!$this->table->store()) + { + $this->setError($this->table->getError()); + + return false; + } + + // Run event for moved article + $dispatcher->trigger('onContentAfterSave', array('com_content.article', &$this->table, false, $fieldsData)); + } + + // Clean the cache + $this->cleanCache(); + + return true; + } + /** * Method to test whether a record can be deleted. * From 16e3d98789c0a87d695ec4543c398a430c797a32 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Tue, 6 Feb 2018 16:31:06 -0800 Subject: [PATCH 082/255] Handle modified date in Document objects consistently (#19592) --- libraries/src/Document/Document.php | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/libraries/src/Document/Document.php b/libraries/src/Document/Document.php index d1ab531a038ac..fecc9f754def3 100644 --- a/libraries/src/Document/Document.php +++ b/libraries/src/Document/Document.php @@ -10,6 +10,8 @@ defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Date\Date; + /** * Document class, provides an easy interface to parse and display a document * @@ -69,13 +71,14 @@ class Document * Document generator * * @var string + * @since 11.1 */ public $_generator = 'Joomla! - Open Source Content Management'; /** * Document modified date * - * @var string + * @var string|Date * @since 11.1 */ public $_mdate = ''; @@ -1035,14 +1038,27 @@ public function getGenerator() /** * Sets the document modified date * - * @param string $date The date to be set + * @param string|Date $date The date to be set * * @return Document instance of $this to allow chaining * * @since 11.1 + * @throws \InvalidArgumentException */ public function setModifiedDate($date) { + if (!is_string($date) && !($date instanceof Date)) + { + throw new \InvalidArgumentException( + sprintf( + 'The $date parameter of %1$s must be a string or a %2$s instance, a %3$s was given.', + __METHOD__ . '()', + 'Joomla\\CMS\\Date\\Date', + gettype($date) === 'object' ? (get_class($date) . ' instance') : gettype($date) + ) + ); + } + $this->_mdate = $date; return $this; @@ -1051,7 +1067,7 @@ public function setModifiedDate($date) /** * Returns the document modified date * - * @return string + * @return string|Date * * @since 11.1 */ @@ -1252,6 +1268,11 @@ public function render($cache = false, $params = array()) if ($mdate = $this->getModifiedDate()) { + if (!($mdate instanceof Date)) + { + $mdate = new Date($mdate); + } + $app->modifiedDate = $mdate; } From 9ba27e532c2d63e9fe083d68af5cf864648a9189 Mon Sep 17 00:00:00 2001 From: Ruediger Schultz <it-solutions@schultz.ch> Date: Wed, 7 Feb 2018 01:49:46 +0100 Subject: [PATCH 083/255] Delete existing user_keys, if password is changed (#17827) * Delete existing user_keys, if password is changed * corrected styling issues * deploy version - as I said, this is my first pr * pushing to patch-2 * newline after } * push to patch-2 * push to patch-2 * Update en-GB.com_users.ini * Update remember.php * Update remember.xml * configuration option in XML file radio button option to activate/deactivate the "reset RememberMe" functionality on password-change. * Update en-GB.plg_system_remember.ini * hm... * Update remember.php * Update remember.php * XML styles * commenting out the user message * Update remember.php * Update en-GB.plg_system_remember.ini * btn-group-yesno * Update remember.php * Update remember.php * reference to Alice Ruggles removed! * making it mandatory * Update remember.php * making it mandatory * making it mandatory * making it mandatory * as per the remarks of Quy changed * changed as per Quy's remarks --- plugins/system/remember/remember.php | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/plugins/system/remember/remember.php b/plugins/system/remember/remember.php index a6e177bf4b7eb..3608c43b66990 100644 --- a/plugins/system/remember/remember.php +++ b/plugins/system/remember/remember.php @@ -94,4 +94,55 @@ public function onUserLogout($user, $options) return true; } + + /** + * Method is called before user data is stored in the database + * Invalidate all existing remember-me cookies after a password change + * + * @param array $user Holds the old user data. + * @param boolean $isnew True if a new user is stored. + * @param array $data Holds the new user data. + * + * @return boolean + * + * @since __DEPLOY_VERSION__ + */ + public function onUserBeforeSave($user, $isnew, $data) + { + // Irrelevant on new users + if ($isnew) + { + return true; + } + + // Irrelevant, because password was not changed by user + if ($data['password_clear'] == '') + { + return true; + } + + /* + * But now, we need to do something + * Delete all tokens for this user! + */ + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->delete('#__user_keys') + ->where($db->quoteName('user_id') . ' = ' . $db->quote($user['username'])); + try + { + $db->setQuery($query)->execute(); + } + catch (RuntimeException $e) + { + // Log an alert for the site admin + JLog::add( + sprintf('Failed to delete cookie token for user %s with the following error: %s', $user['username'], $e->getMessage()), + JLog::WARNING, + 'security' + ); + } + + return true; + } } From 30581d318a779e4d526ee28d123b8896b86bc628 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Wed, 7 Feb 2018 20:00:35 -0700 Subject: [PATCH 084/255] [CS] Code style Tabs must be used to indent lines; round 2 (#19351) * [CS] Code style Tabs must be used to indent lines; round 2 - Tabs must be used to indent lines; spaces are not allowed * fix some indenting not fixed by the auto fixer * Fix some more indenting and spacing * use and/or in template mixed HTML/PHP files For consistancy, Until a decision is made on joomla/coding-standards#191 use `and`/`or` in template mixed HTML/PHP files rather than our normal required `&&`/`||` requierment that we have for full PHP files * Use the && and || operators preferences to Use the && and || operators --- .../tmpl/default_items.php | 2 +- .../com_contact/categories/default_items.php | 2 +- .../com_contact/category/default_children.php | 14 +++--- .../html/com_contact/contact/default_form.php | 46 +++++++++---------- .../com_contact/contact/default_links.php | 2 +- .../com_content/categories/default_items.php | 2 +- .../html/com_content/category/blog_item.php | 12 ++--- .../html/com_content/category/blog_links.php | 18 +++----- .../html/com_content/category/default.php | 11 ++--- .../html/com_newsfeeds/categories/default.php | 42 ++++++++--------- .../categories/default_items.php | 4 +- .../category/default_children.php | 16 +++---- .../com_newsfeeds/category/default_items.php | 42 ++++++++--------- .../com_weblinks/categories/default_items.php | 8 ++-- .../category/default_children.php | 18 ++++---- .../beez3/html/mod_login/default_logout.php | 2 +- 16 files changed, 113 insertions(+), 128 deletions(-) diff --git a/modules/mod_articles_categories/tmpl/default_items.php b/modules/mod_articles_categories/tmpl/default_items.php index 3b91448a4f0aa..2e1278f8c8479 100644 --- a/modules/mod_articles_categories/tmpl/default_items.php +++ b/modules/mod_articles_categories/tmpl/default_items.php @@ -23,7 +23,7 @@ (<?php echo $item->numitems; ?>) <?php endif; ?> </a> - </h<?php echo $params->get('item_heading') + $levelup; ?>> + </h<?php echo $params->get('item_heading') + $levelup; ?>> <?php if ($params->get('show_description', 0)) : ?> <?php echo JHtml::_('content.prepare', $item->description, $item->getParams(), 'mod_articles_categories.content'); ?> diff --git a/templates/beez3/html/com_contact/categories/default_items.php b/templates/beez3/html/com_contact/categories/default_items.php index 77abb50b5bd1b..fa487e2f37a11 100644 --- a/templates/beez3/html/com_contact/categories/default_items.php +++ b/templates/beez3/html/com_contact/categories/default_items.php @@ -32,7 +32,7 @@ <?php echo JHtml::_('content.prepare', $item->description, '', 'com_contact.categories'); ?> </div> <?php endif; ?> - <?php endif; ?> + <?php endif; ?> <?php if ($this->params->get('show_cat_items_cat') == 1) :?> <dl><dt> diff --git a/templates/beez3/html/com_contact/category/default_children.php b/templates/beez3/html/com_contact/category/default_children.php index 2a781592e2d2a..5c2d7f8ca0b66 100644 --- a/templates/beez3/html/com_contact/category/default_children.php +++ b/templates/beez3/html/com_contact/category/default_children.php @@ -32,15 +32,15 @@ <?php echo JHtml::_('content.prepare', $child->description, '', 'com_contact.category'); ?> </div> <?php endif; ?> - <?php endif; ?> + <?php endif; ?> - <?php if ($this->params->get('show_cat_items') == 1) :?> - <dl><dt> - <?php echo JText::_('COM_CONTACT_CAT_NUM'); ?></dt> - <dd><?php echo $child->numitems; ?></dd> - </dl> + <?php if ($this->params->get('show_cat_items') == 1) :?> + <dl><dt> + <?php echo JText::_('COM_CONTACT_CAT_NUM'); ?></dt> + <dd><?php echo $child->numitems; ?></dd> + </dl> <?php endif; ?> - <?php if (count($child->getChildren()) > 0 ) : + <?php if (count($child->getChildren()) > 0 ) : $this->children[$child->id] = $child->getChildren(); $this->category = $child; $this->maxLevel--; diff --git a/templates/beez3/html/com_contact/contact/default_form.php b/templates/beez3/html/com_contact/contact/default_form.php index 1d1f4b479b4db..37c5776b7e0c3 100644 --- a/templates/beez3/html/com_contact/contact/default_form.php +++ b/templates/beez3/html/com_contact/contact/default_form.php @@ -43,30 +43,30 @@ <div class="control-label"><?php echo $this->form->getLabel('contact_email_copy'); ?></div> <div class="controls"><?php echo $this->form->getInput('contact_email_copy'); ?></div> </div> - <?php } ?> + <?php } ?> <?php //Dynamically load any additional fields from plugins. ?> - <?php foreach ($this->form->getFieldsets() as $fieldset) : ?> - <?php if ($fieldset->name !== 'contact'):?> - <?php $fields = $this->form->getFieldset($fieldset->name);?> - <?php foreach ($fields as $field) : ?> - <div class="control-group"> - <?php if ($field->hidden) : ?> - <div class="controls"> - <?php echo $field->input;?> - </div> - <?php else:?> - <div class="control-label"> - <?php echo $field->label; ?> - <?php if (!$field->required && $field->type !== 'Spacer') : ?> - <span class="optional"><?php echo JText::_('COM_CONTACT_OPTIONAL');?></span> - <?php endif; ?> - </div> - <div class="controls"><?php echo $field->input;?></div> - <?php endif;?> - </div> - <?php endforeach;?> - <?php endif ?> - <?php endforeach;?> + <?php foreach ($this->form->getFieldsets() as $fieldset) : ?> + <?php if ($fieldset->name !== 'contact'):?> + <?php $fields = $this->form->getFieldset($fieldset->name);?> + <?php foreach ($fields as $field) : ?> + <div class="control-group"> + <?php if ($field->hidden) : ?> + <div class="controls"> + <?php echo $field->input;?> + </div> + <?php else:?> + <div class="control-label"> + <?php echo $field->label; ?> + <?php if (!$field->required && $field->type !== 'Spacer') : ?> + <span class="optional"><?php echo JText::_('COM_CONTACT_OPTIONAL');?></span> + <?php endif; ?> + </div> + <div class="controls"><?php echo $field->input;?></div> + <?php endif;?> + </div> + <?php endforeach;?> + <?php endif ?> + <?php endforeach;?> <div class="form-actions"><button class="btn btn-primary validate" type="submit"><?php echo JText::_('COM_CONTACT_CONTACT_SEND'); ?></button> <input type="hidden" name="option" value="com_contact" /> <input type="hidden" name="task" value="contact.submit" /> diff --git a/templates/beez3/html/com_contact/contact/default_links.php b/templates/beez3/html/com_contact/contact/default_links.php index 66a2ca3720252..96f154a0629b2 100644 --- a/templates/beez3/html/com_contact/contact/default_links.php +++ b/templates/beez3/html/com_contact/contact/default_links.php @@ -37,7 +37,7 @@ ?> <li> <a href="<?php echo $link; ?>"> - <?php echo $label; ?> + <?php echo $label; ?> </a> </li> <?php endforeach; ?> diff --git a/templates/beez3/html/com_content/categories/default_items.php b/templates/beez3/html/com_content/categories/default_items.php index 62620c6cb9c1f..537b9adde5227 100644 --- a/templates/beez3/html/com_content/categories/default_items.php +++ b/templates/beez3/html/com_content/categories/default_items.php @@ -33,7 +33,7 @@ <?php echo JHtml::_('content.prepare', $item->description); ?> </div> <?php endif; ?> - <?php endif; ?> + <?php endif; ?> <?php if ($this->params->get('show_cat_num_articles_cat') == 1) :?> <dl class="article-count"><dt> <?php echo JText::_('COM_CONTENT_NUM_ITEMS'); ?></dt> diff --git a/templates/beez3/html/com_content/category/blog_item.php b/templates/beez3/html/com_content/category/blog_item.php index 44f2d42b08f14..d3a47913847da 100644 --- a/templates/beez3/html/com_content/category/blog_item.php +++ b/templates/beez3/html/com_content/category/blog_item.php @@ -59,9 +59,9 @@ <?php // to do not that elegant would be nice to group the params ?> -<?php if ($params->get('show_author') or $params->get('show_category') or $params->get('show_create_date') or $params->get('show_modify_date') or $params->get('show_publish_date') or $params->get('show_parent_category') or $params->get('show_hits')) : ?> - <dl class="article-info"> - <dt class="article-info-term"><?php echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt> +<?php if ($params->get('show_author') || $params->get('show_category') || $params->get('show_create_date') || $params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_parent_category') || $params->get('show_hits')) : ?> + <dl class="article-info"> + <dt class="article-info-term"><?php echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt> <?php endif; ?> <?php if ($params->get('show_parent_category') && $this->item->parent_id != 1) : ?> <dd class="parent-category-name"> @@ -115,10 +115,10 @@ <?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?> </dd> <?php endif; ?> -<?php if ($params->get('show_author') or $params->get('show_category') or $params->get('show_create_date') or $params->get('show_modify_date') or $params->get('show_publish_date') or $params->get('show_parent_category') or $params->get('show_hits')) :?> - </dl> +<?php if ($params->get('show_author') || $params->get('show_category') || $params->get('show_create_date') || $params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_parent_category') || $params->get('show_hits')) :?> + </dl> <?php endif; ?> -<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?> +<?php if (isset($images->image_intro) && !empty($images->image_intro)) : ?> <?php $imgfloat = empty($images->float_intro) ? $params->get('float_intro') : $images->float_intro; ?> <div class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>"> <img diff --git a/templates/beez3/html/com_content/category/blog_links.php b/templates/beez3/html/com_content/category/blog_links.php index 3d83a46a992bf..7bcdad86cef45 100644 --- a/templates/beez3/html/com_content/category/blog_links.php +++ b/templates/beez3/html/com_content/category/blog_links.php @@ -17,19 +17,13 @@ ?> <div class="items-more"> -<h3><?php echo JText::_('COM_CONTENT_MORE_ARTICLES'); ?></h3> - -<ol> - -<?php - foreach ($this->link_items as &$item) : -?> - <li> - <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language)); ?>"> + <h3><?php echo JText::_('COM_CONTENT_MORE_ARTICLES'); ?></h3> + <ol> + <?php foreach ($this->link_items as &$item) : ?> + <li> + <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language)); ?>"> <?php echo $item->title; ?></a> </li> -<?php endforeach; ?> + <?php endforeach; ?> </ol> </div> - - diff --git a/templates/beez3/html/com_content/category/default.php b/templates/beez3/html/com_content/category/default.php index 222320e444346..db7f6a1cd78f1 100644 --- a/templates/beez3/html/com_content/category/default.php +++ b/templates/beez3/html/com_content/category/default.php @@ -57,9 +57,8 @@ </div> <?php endif; ?> - <?php if ($this->params->get('maxLevel') != 0 && is_array($this->children[$this->category->id]) && count($this->children[$this->category->id]) > 0) : ?> - <div class="cat-children"> + <div class="cat-children"> <?php if ($showCategoryTitle === true or $pageSubHeading) { @@ -69,7 +68,7 @@ { echo '<h2>'; } ?> - <?php if ($showCategoryHeadingTitleText === true) : ?> + <?php if ($showCategoryHeadingTitleText === true) : ?> <?php echo JText::_('JGLOBAL_SUBCATEGORIES'); ?> <?php endif; ?> <?php if ($showCategoryTitle === true or $pageSubHeading) @@ -80,14 +79,10 @@ { echo '</h2>'; } ?> - </div> + </div> <?php endif; ?> <?php echo $this->loadTemplate('children'); ?> - - <div class="cat-items"> <?php echo $this->loadTemplate('articles'); ?> </div> - </section> - diff --git a/templates/beez3/html/com_newsfeeds/categories/default.php b/templates/beez3/html/com_newsfeeds/categories/default.php index a4269461e9fac..c776db16c377c 100644 --- a/templates/beez3/html/com_newsfeeds/categories/default.php +++ b/templates/beez3/html/com_newsfeeds/categories/default.php @@ -13,28 +13,26 @@ JHtml::_('behavior.caption'); ?> <div class="categories-list<?php echo $this->pageclass_sfx;?>"> -<?php if ($this->params->get('show_page_heading')) : ?> -<h1> - <?php echo $this->escape($this->params->get('page_heading')); ?> -</h1> -<?php endif; ?> + <?php if ($this->params->get('show_page_heading')) : ?> + <h1> + <?php echo $this->escape($this->params->get('page_heading')); ?> + </h1> + <?php endif; ?> - <?php if ($this->params->get('show_base_description')) : ?> - <?php //If there is a description in the menu parameters use that; ?> - <?php if ($this->params->get('categories_description')) : ?> - <div class="category-desc base-desc"> - <?php echo JHtml::_('content.prepare', $this->params->get('categories_description'), '', 'com_newsfeeds.categories'); ?> - </div> - <?php else: ?> - <?php //Otherwise get one from the database if it exists. ?> - <?php if ($this->parent->description) : ?> - <div class="category-desc base-desc"> - <?php echo JHtml::_('content.prepare', $this->parent->description, '', 'com_newsfeeds.categories'); ?> + <?php if ($this->params->get('show_base_description')) : ?> + <?php // If there is a description in the menu parameters use that. ?> + <?php if ($this->params->get('categories_description')) : ?> + <div class="category-desc base-desc"> + <?php echo JHtml::_('content.prepare', $this->params->get('categories_description'), '', 'com_newsfeeds.categories'); ?> </div> - <?php endif; ?> - <?php endif; ?> - <?php endif; ?> -<?php -echo $this->loadTemplate('items'); -?> + <?php else : ?> + <?php // Otherwise get one from the database if it exists. ?> + <?php if ($this->parent->description) : ?> + <div class="category-desc base-desc"> + <?php echo JHtml::_('content.prepare', $this->parent->description, '', 'com_newsfeeds.categories'); ?> + </div> + <?php endif; ?> + <?php endif; ?> + <?php endif; ?> + <?php echo $this->loadTemplate('items'); ?> </div> diff --git a/templates/beez3/html/com_newsfeeds/categories/default_items.php b/templates/beez3/html/com_newsfeeds/categories/default_items.php index 538ff1c7cd287..ad69fedc7b1d8 100644 --- a/templates/beez3/html/com_newsfeeds/categories/default_items.php +++ b/templates/beez3/html/com_newsfeeds/categories/default_items.php @@ -31,8 +31,8 @@ <?php echo JHtml::_('content.prepare', $item->description, '', 'com_newsfeeds.categories'); ?> </div> <?php endif; ?> - <?php endif; ?> - <?php if ($this->params->get('show_cat_items_cat') == 1) :?> + <?php endif; ?> + <?php if ($this->params->get('show_cat_items_cat') == 1) : ?> <dl class="newsfeed-count"><dt> <?php echo JText::_('COM_NEWSFEEDS_CAT_NUM'); ?></dt> <dd><?php echo $item->numitems; ?></dd> diff --git a/templates/beez3/html/com_newsfeeds/category/default_children.php b/templates/beez3/html/com_newsfeeds/category/default_children.php index b01abcb74c29d..247c33880c49e 100644 --- a/templates/beez3/html/com_newsfeeds/category/default_children.php +++ b/templates/beez3/html/com_newsfeeds/category/default_children.php @@ -27,20 +27,20 @@ <?php echo $this->escape($child->title); ?></a> </span> - <?php if ($this->params->get('show_subcat_desc') == 1) :?> + <?php if ($this->params->get('show_subcat_desc') == 1) : ?> <?php if ($child->description) : ?> <div class="category-desc"> <?php echo JHtml::_('content.prepare', $child->description, '', 'com_newsfeeds.category'); ?> </div> <?php endif; ?> - <?php endif; ?> + <?php endif; ?> - <?php if ($this->params->get('show_cat_items') == 1) :?> - <dl class="newsfeed-count"><dt> - <?php echo JText::_('COM_NEWSFEEDS_CAT_NUM'); ?></dt> - <dd><?php echo $child->numitems; ?></dd> - </dl> - <?php endif; ?> + <?php if ($this->params->get('show_cat_items') == 1) : ?> + <dl class="newsfeed-count"><dt> + <?php echo JText::_('COM_NEWSFEEDS_CAT_NUM'); ?></dt> + <dd><?php echo $child->numitems; ?></dd> + </dl> + <?php endif; ?> <?php if (count($child->getChildren()) > 0) : $this->children[$child->id] = $child->getChildren(); diff --git a/templates/beez3/html/com_newsfeeds/category/default_items.php b/templates/beez3/html/com_newsfeeds/category/default_items.php index 453e73ab39498..5d32369af50ed 100644 --- a/templates/beez3/html/com_newsfeeds/category/default_items.php +++ b/templates/beez3/html/com_newsfeeds/category/default_items.php @@ -35,12 +35,10 @@ <table class="category"> <?php if ($this->params->get('show_headings') == 1) : ?> <thead><tr> - <th class="item-title" id="tableOrdering"> <?php echo JHtml::_('grid.sort', 'COM_NEWSFEEDS_FEED_NAME', 'a.name', $listDirn, $listOrder); ?> </th> - <?php if ($this->params->get('show_articles')) : ?> <th class="item-num-art" id="tableOrdering2"> <?php echo JHtml::_('grid.sort', 'COM_NEWSFEEDS_NUM_ARTICLES', 'a.numarticles', $listDirn, $listOrder); ?> @@ -59,30 +57,30 @@ <tbody> <?php foreach ($this->items as $i => $item) : ?> - <?php if ($this->items[$i]->published == 0) : ?> - <tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>"> - <?php else: ?> - <tr class="cat-list-row<?php echo $i % 2; ?>" > - <?php endif; ?> + <?php if ($this->items[$i]->published == 0) : ?> + <tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>"> + <?php else: ?> + <tr class="cat-list-row<?php echo $i % 2; ?>" > + <?php endif; ?> - <td class="item-title"> - <a href="<?php echo JRoute::_(NewsFeedsHelperRoute::getNewsfeedRoute($item->slug, $item->catid)); ?>"> - <?php echo $item->name; ?></a> - </td> + <td class="item-title"> + <a href="<?php echo JRoute::_(NewsFeedsHelperRoute::getNewsfeedRoute($item->slug, $item->catid)); ?>"> + <?php echo $item->name; ?></a> + </td> - <?php if ($this->params->get('show_articles')) : ?> - <td class="item-num-art"> - <?php echo $item->numarticles; ?> - </td> - <?php endif; ?> + <?php if ($this->params->get('show_articles')) : ?> + <td class="item-num-art"> + <?php echo $item->numarticles; ?> + </td> + <?php endif; ?> - <?php if ($this->params->get('show_link')) : ?> - <td class="item-link"> - <a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a> - </td> - <?php endif; ?> + <?php if ($this->params->get('show_link')) : ?> + <td class="item-link"> + <a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a> + </td> + <?php endif; ?> - </tr> + </tr> <?php endforeach; ?> diff --git a/templates/beez3/html/com_weblinks/categories/default_items.php b/templates/beez3/html/com_weblinks/categories/default_items.php index 475a8fe1853ca..56c983ccb7254 100644 --- a/templates/beez3/html/com_weblinks/categories/default_items.php +++ b/templates/beez3/html/com_weblinks/categories/default_items.php @@ -23,17 +23,17 @@ ?> <li<?php echo $class; ?>> <?php $class = ''; ?> - <span class="item-title"><a href="<?php echo JRoute::_(WeblinksHelperRoute::getCategoryRoute($item->id));?>"> + <span class="item-title"><a href="<?php echo JRoute::_(WeblinksHelperRoute::getCategoryRoute($item->id)); ?>"> <?php echo $this->escape($item->title); ?></a> </span> - <?php if ($this->params->get('show_subcat_desc_cat') == 1) :?> + <?php if ($this->params->get('show_subcat_desc_cat') == 1) : ?> <?php if ($item->description) : ?> <div class="category-desc"> <?php echo JHtml::_('content.prepare', $item->description, '', 'com_weblinks.categories'); ?> </div> <?php endif; ?> - <?php endif; ?> - <?php if ($this->params->get('show_cat_num_links_cat') == 1) :?> + <?php endif; ?> + <?php if ($this->params->get('show_cat_num_links_cat') == 1) : ?> <dl class="weblink-count"><dt> <?php echo JText::_('COM_WEBLINKS_NUM'); ?></dt> <dd><?php echo $item->numitems; ?></dd> diff --git a/templates/beez3/html/com_weblinks/category/default_children.php b/templates/beez3/html/com_weblinks/category/default_children.php index 690d947ac410f..801a951087d8e 100644 --- a/templates/beez3/html/com_weblinks/category/default_children.php +++ b/templates/beez3/html/com_weblinks/category/default_children.php @@ -23,24 +23,24 @@ ?> <li<?php echo $class; ?>> <?php $class = ''; ?> - <span class="item-title"><a href="<?php echo JRoute::_(WeblinksHelperRoute::getCategoryRoute($child->id));?>"> + <span class="item-title"><a href="<?php echo JRoute::_(WeblinksHelperRoute::getCategoryRoute($child->id)); ?>"> <?php echo $this->escape($child->title); ?></a> </span> - <?php if ($this->params->get('show_subcat_desc') == 1) :?> + <?php if ($this->params->get('show_subcat_desc') == 1) : ?> <?php if ($child->description) : ?> <div class="category-desc"> <?php echo JHtml::_('content.prepare', $child->description, '', 'com_weblinks.category'); ?> </div> <?php endif; ?> - <?php endif; ?> + <?php endif; ?> - <?php if ($this->params->get('show_cat_num_links') == 1) :?> - <dl class="weblink-count"><dt> - <?php echo JText::_('COM_WEBLINKS_NUM'); ?></dt> - <dd><?php echo $child->numitems; ?></dd> - </dl> - <?php endif; ?> + <?php if ($this->params->get('show_cat_num_links') == 1) : ?> + <dl class="weblink-count"><dt> + <?php echo JText::_('COM_WEBLINKS_NUM'); ?></dt> + <dd><?php echo $child->numitems; ?></dd> + </dl> + <?php endif; ?> <?php if (count($child->getChildren()) > 0 ) : $this->children[$child->id] = $child->getChildren(); diff --git a/templates/beez3/html/mod_login/default_logout.php b/templates/beez3/html/mod_login/default_logout.php index 164399b738bd9..60ca8444a4278 100644 --- a/templates/beez3/html/mod_login/default_logout.php +++ b/templates/beez3/html/mod_login/default_logout.php @@ -18,7 +18,7 @@ <?php if ($params->get('name') == 0) : ?> <?php echo JText::sprintf('MOD_LOGIN_HINAME', htmlspecialchars($user->get('name'), ENT_COMPAT, 'UTF-8')); ?> <?php else : ?> - <?php echo JText::sprintf('MOD_LOGIN_HINAME', htmlspecialchars($user->get('username'), ENT_COMPAT, 'UTF-8')); ?> + <?php echo JText::sprintf('MOD_LOGIN_HINAME', htmlspecialchars($user->get('username'), ENT_COMPAT, 'UTF-8')); ?> <?php endif; ?> </div> <?php endif; ?> From e4c2ac1d51da10b44a2bbfa7236fbb908a1e53fb Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Wed, 7 Feb 2018 21:36:09 -0700 Subject: [PATCH 085/255] Remove space indent exceptions (#19609) * remove space indent exceptions * tab indent not spaces * Tabs must be used to indent lines; spaces are not allowed * Tabs must be used to indent lines; spaces are not allowed try using the concatenation to fix space indent strangeness * Tabs must be used to indent lines; spaces are not allowed --- .../com_associations/models/fields/itemlanguage.php | 2 +- .../com_associations/views/associations/tmpl/modal.php | 4 ++-- administrator/components/com_menus/controllers/item.php | 2 +- build/phpcs/Joomla/ruleset.xml | 7 +------ components/com_content/content.php | 2 +- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/administrator/components/com_associations/models/fields/itemlanguage.php b/administrator/components/com_associations/models/fields/itemlanguage.php index a7b3cfaca7379..1c8ddf46d52ec 100644 --- a/administrator/components/com_associations/models/fields/itemlanguage.php +++ b/administrator/components/com_associations/models/fields/itemlanguage.php @@ -80,7 +80,7 @@ protected function getOptions() $itemId = (int) $associations[$language->lang_code]['id']; $options[$langCode]->value = $language->lang_code . ':' . $itemId . ':edit'; - // Check if user does have permission to edit the associated item. + // Check if user does have permission to edit the associated item. $canEdit = AssociationsHelper::allowEdit($extensionName, $typeName, $itemId); // Check if item can be checked out diff --git a/administrator/components/com_associations/views/associations/tmpl/modal.php b/administrator/components/com_associations/views/associations/tmpl/modal.php index 63520f408c2a6..6d21097cac952 100644 --- a/administrator/components/com_associations/views/associations/tmpl/modal.php +++ b/administrator/components/com_associations/views/associations/tmpl/modal.php @@ -46,8 +46,8 @@ });" ); ?> -<form action="<?php echo JRoute::_('index.php?option=com_associations&view=associations&layout=modal&tmpl=component&function=' . $function . '&' . JSession::getFormToken() . '=1'); - ?>" method="post" name="adminForm" id="adminForm"> +<form action="<?php echo JRoute::_('index.php?option=com_associations&view=associations&layout=modal&tmpl=component&function=' +. $function . '&' . JSession::getFormToken() . '=1'); ?>" method="post" name="adminForm" id="adminForm"> <?php if (!empty( $this->sidebar)) : ?> <div id="j-sidebar-container" class="span2"> diff --git a/administrator/components/com_menus/controllers/item.php b/administrator/components/com_menus/controllers/item.php index 2f25088d5fa6e..83770ba1c7cfb 100644 --- a/administrator/components/com_menus/controllers/item.php +++ b/administrator/components/com_menus/controllers/item.php @@ -337,7 +337,7 @@ public function save($key = null, $urlVar = null) $segments = explode(':', $data['link']); $protocol = strtolower($segments[0]); $scheme = array('http', 'https', 'ftp', 'ftps', 'gopher', 'mailto', 'news', 'prospero', 'telnet', 'rlogin', 'tn3270', 'wais','mid', 'cid', 'nntp', - 'tel', 'urn', 'ldap', 'file', 'fax', 'modem', 'git', 'sms'); + 'tel', 'urn', 'ldap', 'file', 'fax', 'modem', 'git', 'sms'); if (!in_array($protocol, $scheme)) { diff --git a/build/phpcs/Joomla/ruleset.xml b/build/phpcs/Joomla/ruleset.xml index 0b2d1219aea8c..ac4a3d675b0bd 100644 --- a/build/phpcs/Joomla/ruleset.xml +++ b/build/phpcs/Joomla/ruleset.xml @@ -82,12 +82,7 @@ <rule ref="Generic.PHP.DeprecatedFunctions" /> <rule ref="Generic.PHP.ForbiddenFunctions"/> <rule ref="Generic.PHP.LowerCaseConstant" /> - <rule ref="Generic.WhiteSpace.DisallowSpaceIndent"> - <!-- These exceptions are temporary for now --> - <exclude-pattern type="relative">administrator/components/*</exclude-pattern> - <exclude-pattern type="relative">components/*</exclude-pattern> - <exclude-pattern type="relative">libraries/cms/*</exclude-pattern> - </rule> + <rule ref="Generic.WhiteSpace.DisallowSpaceIndent" /> <!-- Include some additional sniffs from the PEAR standard --> <rule ref="PEAR.Classes.ClassDeclaration" /> diff --git a/components/com_content/content.php b/components/com_content/content.php index f0cd8505b95c0..187de0a8e7256 100644 --- a/components/com_content/content.php +++ b/components/com_content/content.php @@ -23,7 +23,7 @@ { // Can create in any category (component permission) or at least in one category $canCreateRecords = $user->authorise('core.create', 'com_content') - || count($user->getAuthorisedCategories('com_content', 'core.create')) > 0; + || count($user->getAuthorisedCategories('com_content', 'core.create')) > 0; // Instead of checking edit on all records, we can use **same** check as the form editing view $values = (array) JFactory::getApplication()->getUserState('com_content.edit.article.id'); From 4908668676a8a32f92f3aa27d31259016327030e Mon Sep 17 00:00:00 2001 From: Sophist <3001893+Sophist-UK@users.noreply.github.com> Date: Sat, 10 Feb 2018 13:48:22 +0000 Subject: [PATCH 086/255] [3.9] Tweak update percentage message to include %-sign (#19628) * Tweak update percentage message to include %-sign * Add minified version. --- media/com_joomlaupdate/js/update.js | 2 +- media/com_joomlaupdate/js/update.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/media/com_joomlaupdate/js/update.js b/media/com_joomlaupdate/js/update.js index 65ebdedef934b..29900a34db739 100644 --- a/media/com_joomlaupdate/js/update.js +++ b/media/com_joomlaupdate/js/update.js @@ -263,7 +263,7 @@ stepExtract = function(data) jQuery('#progress-bar').removeClass('bar-success'); } - jQuery('#extpercent').text(stat_percent.toFixed(1)); + jQuery('#extpercent').text(stat_percent.toFixed(1) + '%'); jQuery('#extbytesin').text(stat_inbytes); jQuery('#extbytesout').text(stat_outbytes); jQuery('#extfiles').text(data.files); diff --git a/media/com_joomlaupdate/js/update.min.js b/media/com_joomlaupdate/js/update.min.js index 0059da8e8a158..c5dd74c65db35 100644 --- a/media/com_joomlaupdate/js/update.min.js +++ b/media/com_joomlaupdate/js/update.min.js @@ -1 +1 @@ -function error_callback(t){alert("ERROR:\n"+t)}function empty(t){var r;if(""===t||0===t||"0"===t||null===t||t===!1||"undefined"==typeof t)return!0;if("object"==typeof t){for(r in t)return!1;return!0}return!1}function is_array(t){var r="",e=function(t){var r=/\W*function\s+([\w\$]+)\s*\(/.exec(t);return r?r[1]:"(Anonymous)"};if(!t)return!1;if(this.php_js=this.php_js||{},this.php_js.ini=this.php_js.ini||{},"object"==typeof t){if(this.php_js.ini["phpjs.objectsAsArrays"]&&(this.php_js.ini["phpjs.objectsAsArrays"].local_value.toLowerCase&&"off"===this.php_js.ini["phpjs.objectsAsArrays"].local_value.toLowerCase()||0===parseInt(this.php_js.ini["phpjs.objectsAsArrays"].local_value,10)))return t.hasOwnProperty("length")&&!t.propertyIsEnumerable("length")&&"String"!==e(t.constructor);if(t.hasOwnProperty)for(r in t)if(!1===t.hasOwnProperty(r))return!1;return!0}return!1}var stat_total=0,stat_files=0,stat_inbytes=0,stat_outbytes=0;doEncryptedAjax=function(t,r,e){var s=JSON.stringify(t);joomlaupdate_password.length>0&&(s=AesCtr.encrypt(s,joomlaupdate_password,128));var a={json:s},n={type:"POST",url:joomlaupdate_ajax_url,cache:!1,data:a,timeout:6e5,success:function(t,s){var a=null,n="",o=t.indexOf("###");if(-1==o)return t="Invalid AJAX data:\n"+t,void(null==e?null!=error_callback&&error_callback(t):e(t));0!=o?(a=t.substr(0,o),n=t.substr(o)):n=t,n=n.substr(3);var o=n.lastIndexOf("###");n=n.substr(0,o);var i=null;if(joomlaupdate_password.length>0)try{var i=JSON.parse(n)}catch(c){n=AesCtr.decrypt(n,joomlaupdate_password,128)}try{empty(i)&&(i=JSON.parse(n))}catch(c){var t=c.message+"\n<br/>\n<pre>\n"+n+"\n</pre>";return void(null==e?null!=error_callback&&error_callback(t):e(t))}r(i)},error:function(t){var r="AJAX Loading Error: "+t.statusText;null==e?null!=error_callback&&error_callback(r):e(r)}};jQuery.ajax(n)},pingExtract=function(){this.stat_files=0,this.stat_inbytes=0,this.stat_outbytes=0;var t={task:"ping"};this.doEncryptedAjax(t,function(t){startExtract(t)})},startExtract=function(){console.log("started"),this.stat_files=0,this.stat_inbytes=0,this.stat_outbytes=0;var t={task:"startRestore"};this.doEncryptedAjax(t,function(t){stepExtract(t)})},stepExtract=function(t){return 0==t.status?void error_callback(t.message):(!empty(t.Warnings),empty(t.factory)||(extract_factory=t.factory),void(t.done?finalizeUpdate():(stat_inbytes+=t.bytesIn,stat_percent=100*stat_inbytes/joomlaupdate_totalsize,stat_inbytes+=t.bytesIn,stat_outbytes+=t.bytesOut,stat_files+=t.files,stat_percent<100?jQuery("#progress-bar").css("width",stat_percent+"%").attr("aria-valuenow",stat_percent):stat_percent>100?(stat_percent=100,jQuery("#progress-bar").css("width",stat_percent+"%").attr("aria-valuenow",stat_percent)):jQuery("#progress-bar").removeClass("bar-success"),jQuery("#extpercent").text(stat_percent.toFixed(1)),jQuery("#extbytesin").text(stat_inbytes),jQuery("#extbytesout").text(stat_outbytes),jQuery("#extfiles").text(t.files),post={task:"stepRestore",factory:t.factory},doEncryptedAjax(post,function(t){stepExtract(t)}))))},finalizeUpdate=function(){var t={task:"finalizeRestore",factory:window.factory};doEncryptedAjax(t,function(t){window.location=joomlaupdate_return_url})}; +var stat_total=0,stat_files=0,stat_inbytes=0,stat_outbytes=0;function error_callback(t){alert("ERROR:\n"+t)}function empty(t){var e;if(""===t||0===t||"0"===t||null===t||!1===t||void 0===t)return!0;if("object"==typeof t){for(e in t)return!1;return!0}return!1}function is_array(t){var e,r,s="";if(!t)return!1;if(this.php_js=this.php_js||{},this.php_js.ini=this.php_js.ini||{},"object"==typeof t){if(this.php_js.ini["phpjs.objectsAsArrays"]&&(this.php_js.ini["phpjs.objectsAsArrays"].local_value.toLowerCase&&"off"===this.php_js.ini["phpjs.objectsAsArrays"].local_value.toLowerCase()||0===parseInt(this.php_js.ini["phpjs.objectsAsArrays"].local_value,10)))return t.hasOwnProperty("length")&&!t.propertyIsEnumerable("length")&&"String"!==(e=t.constructor,(r=/\W*function\s+([\w\$]+)\s*\(/.exec(e))?r[1]:"(Anonymous)");if(t.hasOwnProperty)for(s in t)if(!1===t.hasOwnProperty(s))return!1;return!0}return!1}doEncryptedAjax=function(t,e,r){var s=JSON.stringify(t);joomlaupdate_password.length>0&&(s=AesCtr.encrypt(s,joomlaupdate_password,128));var a={type:"POST",url:joomlaupdate_ajax_url,cache:!1,data:{json:s},timeout:6e5,success:function(t,s){var a="";if(-1==(n=t.indexOf("###")))return t="Invalid AJAX data:\n"+t,void(null==r?null!=error_callback&&error_callback(t):r(t));0!=n?(t.substr(0,n),a=t.substr(n)):a=t;var n=(a=a.substr(3)).lastIndexOf("###");a=a.substr(0,n);var o=null;if(joomlaupdate_password.length>0)try{o=JSON.parse(a)}catch(t){a=AesCtr.decrypt(a,joomlaupdate_password,128)}try{empty(o)&&(o=JSON.parse(a))}catch(e){t=e.message+"\n<br/>\n<pre>\n"+a+"\n</pre>";return void(null==r?null!=error_callback&&error_callback(t):r(t))}e(o)},error:function(t){var e="AJAX Loading Error: "+t.statusText;null==r?null!=error_callback&&error_callback(e):r(e)}};jQuery.ajax(a)},pingExtract=function(){this.stat_files=0,this.stat_inbytes=0,this.stat_outbytes=0;this.doEncryptedAjax({task:"ping"},function(t){startExtract(t)})},startExtract=function(){console.log("started"),this.stat_files=0,this.stat_inbytes=0,this.stat_outbytes=0;this.doEncryptedAjax({task:"startRestore"},function(t){stepExtract(t)})},stepExtract=function(t){0!=t.status?(empty(t.Warnings),empty(t.factory)||(extract_factory=t.factory),t.done?finalizeUpdate():(stat_inbytes+=t.bytesIn,stat_percent=100*stat_inbytes/joomlaupdate_totalsize,stat_inbytes+=t.bytesIn,stat_outbytes+=t.bytesOut,stat_files+=t.files,stat_percent<100?jQuery("#progress-bar").css("width",stat_percent+"%").attr("aria-valuenow",stat_percent):stat_percent>100?(stat_percent=100,jQuery("#progress-bar").css("width",stat_percent+"%").attr("aria-valuenow",stat_percent)):jQuery("#progress-bar").removeClass("bar-success"),jQuery("#extpercent").text(stat_percent.toFixed(1)+"%"),jQuery("#extbytesin").text(stat_inbytes),jQuery("#extbytesout").text(stat_outbytes),jQuery("#extfiles").text(t.files),post={task:"stepRestore",factory:t.factory},doEncryptedAjax(post,function(t){stepExtract(t)}))):error_callback(t.message)},finalizeUpdate=function(){var t={task:"finalizeRestore",factory:window.factory};doEncryptedAjax(t,function(t){window.location=joomlaupdate_return_url})}; \ No newline at end of file From 65b8596b7e270e8db744b2c04cc574e4cdd6a545 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 12 Feb 2018 12:06:53 +0000 Subject: [PATCH 087/255] Typo Joomla is vegetarian (#19649) Quick fix to the spelling of meet --- .../components/com_admin/postinstall/joomla40checks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_admin/postinstall/joomla40checks.php b/administrator/components/com_admin/postinstall/joomla40checks.php index 06c1f04547dfe..df26ad6235327 100644 --- a/administrator/components/com_admin/postinstall/joomla40checks.php +++ b/administrator/components/com_admin/postinstall/joomla40checks.php @@ -12,7 +12,7 @@ defined('_JEXEC') or die; /** - * Checks if the installation meats the current requirements for Joomla 4 + * Checks if the installation meets the current requirements for Joomla 4 * * @return boolean True if any check fails. * From 6a0f21acb8b8e8cf1440077d29f6af5f41a39f41 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 12 Feb 2018 20:36:10 +0000 Subject: [PATCH 088/255] Plain English cont. (#19654) The accessibility standard Web Content Accessibility Guidelines (WCAG) 2.0 Section 3 states https://www.w3.org/TR/WCAG20/#understandable >### 3. Understandable > Information and the operation of user interface must be understandable. >#### Guideline 3.1 Readable > Make text content readable and understandable. > #### Success Criterion 3.1.5 Reading Level > When text requires reading ability more advanced than the lower secondary education level after removal of proper names and titles, supplemental content, or a version that does not require reading ability more advanced than the lower secondary education level, is available. To achieve this we should use "plain language" wherever possible 1. Word choice: use the simplest word that conveys your meaning. http://plainlanguagenetwork.org/plain-language/what-is-plain-language/ 2. Prefer the short word to the long. https://www.plainlanguage.gov/guidelines/words/ This PR continues the work and removes the superfluous text " to make it possible" --- administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini | 2 +- .../language/en-GB/en-GB.plg_editors-xtd_article.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini | 2 +- .../language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini | 2 +- .../language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini | 2 +- .../language/en-GB/en-GB.plg_editors-xtd_image.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini | 2 +- .../language/en-GB/en-GB.plg_editors-xtd_module.sys.ini | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini index 7559cc4781877..3347b4903340e 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.ini @@ -4,5 +4,5 @@ ; Note : All ini files need to be saved as UTF-8 PLG_ARTICLE_BUTTON_ARTICLE="Article" -PLG_ARTICLE_XML_DESCRIPTION="Displays a button to make it possible to insert links to articles into an Article. Displays a popup allowing you to choose the article." +PLG_ARTICLE_XML_DESCRIPTION="Displays a button to insert links to articles into an Article. Displays a popup allowing you to choose the article." PLG_EDITORS-XTD_ARTICLE="Button - Article" diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini index 1121f94a827a0..75587706df9e1 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_article.sys.ini @@ -3,7 +3,7 @@ ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 -PLG_ARTICLE_XML_DESCRIPTION="Displays a button to make it possible to insert links to articles into an Article. Displays a popup allowing you to choose the article." +PLG_ARTICLE_XML_DESCRIPTION="Displays a button to insert links to articles into an Article. Displays a popup allowing you to choose the article." PLG_EDITORS-XTD_ARTICLE="Button - Article" diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini index 1b35ea04da882..dbd9c666951c2 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.ini @@ -5,4 +5,4 @@ PLG_EDITORS-XTD_CONTACT="Button - Contact" PLG_EDITORS-XTD_CONTACT_BUTTON_CONTACT="Contact" -PLG_EDITORS-XTD_CONTACT_XML_DESCRIPTION="Displays a button to make it possible to insert links to Contacts in an article. Displays a popup allowing you to choose the contact." +PLG_EDITORS-XTD_CONTACT_XML_DESCRIPTION="Displays a button to insert links to Contacts in an article. Displays a popup allowing you to choose the contact." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini index 053b344a837dd..7ab09f924fd18 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_contact.sys.ini @@ -4,4 +4,4 @@ ; Note : All ini files need to be saved as UTF-8 PLG_EDITORS-XTD_CONTACT="Button - Contact" -PLG_EDITORS-XTD_CONTACT_XML_DESCRIPTION="Displays a button to make it possible to insert links to Contacts in an article. Displays a popup allowing you to choose the contact." +PLG_EDITORS-XTD_CONTACT_XML_DESCRIPTION="Displays a button to insert links to Contacts in an article. Displays a popup allowing you to choose the contact." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini index 5e247fa700ed4..c4487e74cd5c4 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.ini @@ -5,4 +5,4 @@ PLG_EDITORS-XTD_FIELDS="Button - Field" PLG_EDITORS-XTD_FIELDS_BUTTON_FIELD="Field" -PLG_EDITORS-XTD_FIELDS_XML_DESCRIPTION="Displays a button to make it possible to insert a custom field into an editor area. Displays a popup allowing you to choose the field.<br/><strong>Warning!</strong>: the custom field will not be rendered if the <a href=\"index.php?option=com_plugins&view=plugins&filter[folder]=content\">Content - Fields</a> plugin is not enabled." +PLG_EDITORS-XTD_FIELDS_XML_DESCRIPTION="Displays a button to insert a custom field into an editor area. Displays a popup allowing you to choose the field.<br/><strong>Warning!</strong>: the custom field will not be rendered if the <a href=\"index.php?option=com_plugins&view=plugins&filter[folder]=content\">Content - Fields</a> plugin is not enabled." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini index b52e7db7e1378..2765df4ceafe6 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_fields.sys.ini @@ -4,4 +4,4 @@ ; Note : All ini files need to be saved as UTF-8 PLG_EDITORS-XTD_FIELDS="Button - Field" -PLG_EDITORS-XTD_FIELDS_XML_DESCRIPTION="Displays a button to make it possible to insert a custom field into an editor area. Displays a popup allowing you to choose the field.<br/><strong>Warning!</strong>: the custom field will not be rendered if the <a href=\"index.php?option=com_plugins&view=plugins&filter[folder]=content\">Content - Fields</a> plugin is not enabled." +PLG_EDITORS-XTD_FIELDS_XML_DESCRIPTION="Displays a button to insert a custom field into an editor area. Displays a popup allowing you to choose the field.<br/><strong>Warning!</strong>: the custom field will not be rendered if the <a href=\"index.php?option=com_plugins&view=plugins&filter[folder]=content\">Content - Fields</a> plugin is not enabled." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini index 2afb3b1e65c4f..a924f55ecaad4 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.ini @@ -5,5 +5,5 @@ PLG_EDITORS-XTD_IMAGE="Button - Image" PLG_IMAGE_BUTTON_IMAGE="Image" -PLG_IMAGE_XML_DESCRIPTION="Displays a button to make it possible to insert images into an Article. Displays a popup allowing you to configure an image's properties and upload new image files." +PLG_IMAGE_XML_DESCRIPTION="Displays a button to insert images into an Article. Displays a popup allowing you to configure an image's properties and upload new image files." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini index 458e60016a836..fc10f7694f8f2 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_image.sys.ini @@ -4,5 +4,5 @@ ; Note : All ini files need to be saved as UTF-8 PLG_EDITORS-XTD_IMAGE="Button - Image" -PLG_IMAGE_XML_DESCRIPTION="Displays a button to make it possible to insert images into an Article. Displays a popup allowing you to configure an image's properties and upload new image files." +PLG_IMAGE_XML_DESCRIPTION="Displays a button to insert images into an Article. Displays a popup allowing you to configure an image's properties and upload new image files." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini index b8bca66bf84dd..bdb50691e1963 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.ini @@ -5,4 +5,4 @@ PLG_EDITORS-XTD_MENU="Button - Menu" PLG_EDITORS-XTD_MENU_BUTTON_MENU="Menu" -PLG_EDITORS-XTD_MENU_XML_DESCRIPTION="Displays a button to make it possible to insert menu item links into an Article. Displays a popup allowing you to choose the menu item." +PLG_EDITORS-XTD_MENU_XML_DESCRIPTION="Displays a button to insert menu item links into an Article. Displays a popup allowing you to choose the menu item." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini index 6aa86dca9220f..1e5cd11bf1d3b 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_menu.sys.ini @@ -4,4 +4,4 @@ ; Note : All ini files need to be saved as UTF-8 PLG_EDITORS-XTD_MENU="Button - Menu" -PLG_EDITORS-XTD_MENU_XML_DESCRIPTION="Displays a button to make it possible to insert menu item links into an Article. Displays a popup allowing you to choose the menu item." +PLG_EDITORS-XTD_MENU_XML_DESCRIPTION="Displays a button to insert menu item links into an Article. Displays a popup allowing you to choose the menu item." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini index af29265c134e9..bbec3352dfc80 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.ini @@ -5,4 +5,4 @@ PLG_EDITORS-XTD_MODULE="Button - Module" PLG_MODULE_BUTTON_MODULE="Module" -PLG_MODULE_XML_DESCRIPTION="Displays a button to make it possible to insert a module into an Article. Displays a popup allowing you to choose the module." +PLG_MODULE_XML_DESCRIPTION="Displays a button to insert a module into an Article. Displays a popup allowing you to choose the module." diff --git a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini index 6a170f1d7bb4d..6b783551b0487 100644 --- a/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_editors-xtd_module.sys.ini @@ -4,4 +4,4 @@ ; Note : All ini files need to be saved as UTF-8 PLG_EDITORS-XTD_MODULE="Button - Module" -PLG_MODULE_XML_DESCRIPTION="Displays a button to make it possible to insert a module into an Article. Displays a popup allowing you to choose the module." +PLG_MODULE_XML_DESCRIPTION="Displays a button to insert a module into an Article. Displays a popup allowing you to choose the module." From 2ce150c7ac6a1738630916df135fb9f8d4a4b823 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 12 Feb 2018 22:55:38 +0000 Subject: [PATCH 089/255] Plain English (#19629) * accordingly * advised => recommended * assist => help * attempt=>try * concerning => relevant * contains => has * containing -> with * contains=-> has * Currently -> (omit) * designated -> marked * initial -> first * initialise->start * in order to -> to * it is -> (omit) * optimal -> best * regarding->on * remain -> stay * terminated -> stopped * word order --- .../language/en-GB/en-GB.com_admin.ini | 14 +++++------ .../language/en-GB/en-GB.com_admin.sys.ini | 2 +- .../language/en-GB/en-GB.com_banners.ini | 4 ++-- .../language/en-GB/en-GB.com_cache.ini | 2 +- .../language/en-GB/en-GB.com_categories.ini | 4 ++-- .../language/en-GB/en-GB.com_checkin.ini | 2 +- .../language/en-GB/en-GB.com_config.ini | 6 ++--- .../language/en-GB/en-GB.com_contact.ini | 4 ++-- .../language/en-GB/en-GB.com_content.ini | 6 ++--- .../language/en-GB/en-GB.com_cpanel.ini | 2 +- .../language/en-GB/en-GB.com_finder.ini | 2 +- .../language/en-GB/en-GB.com_installer.ini | 6 ++--- .../language/en-GB/en-GB.com_languages.ini | 6 ++--- .../language/en-GB/en-GB.com_media.ini | 12 +++++----- .../language/en-GB/en-GB.com_menus.ini | 6 ++--- .../language/en-GB/en-GB.com_messages.ini | 2 +- .../language/en-GB/en-GB.com_modules.ini | 2 +- .../language/en-GB/en-GB.com_newsfeeds.ini | 4 ++-- .../language/en-GB/en-GB.com_plugins.ini | 2 +- .../language/en-GB/en-GB.com_redirect.ini | 2 +- .../language/en-GB/en-GB.com_templates.ini | 8 +++---- .../language/en-GB/en-GB.com_users.ini | 24 +++++++++---------- .../language/en-GB/en-GB.com_weblinks.ini | 4 ++-- administrator/language/en-GB/en-GB.ini | 10 ++++---- .../language/en-GB/en-GB.lib_joomla.ini | 18 +++++++------- .../language/en-GB/en-GB.mod_logged.ini | 2 +- .../language/en-GB/en-GB.mod_logged.sys.ini | 2 +- .../language/en-GB/en-GB.mod_menu.ini | 4 ++-- .../en-GB/en-GB.plg_authentication_ldap.ini | 6 ++--- .../en-GB/en-GB.plg_editors_codemirror.ini | 4 ++-- .../en-GB/en-GB.plg_editors_tinymce.ini | 6 ++--- .../en-GB/en-GB.plg_fields_imagelist.ini | 2 +- .../language/en-GB/en-GB.plg_fields_media.ini | 2 +- .../language/en-GB/en-GB.plg_fields_sql.ini | 2 +- .../language/en-GB/en-GB.plg_system_cache.ini | 2 +- .../language/en-GB/en-GB.plg_system_debug.ini | 2 +- .../en-GB/en-GB.plg_system_debug.sys.ini | 2 +- .../language/en-GB/en-GB.plg_system_stats.ini | 2 +- .../en-GB/en-GB.plg_twofactorauth_totp.ini | 2 +- .../language/en-GB/en-GB.plg_user_joomla.ini | 4 ++-- .../language/en-GB/en-GB.tpl_hathor.ini | 2 +- installation/language/en-GB/en-GB.ini | 18 +++++++------- language/en-GB/en-GB.com_config.ini | 2 +- language/en-GB/en-GB.com_contact.ini | 2 +- language/en-GB/en-GB.com_content.ini | 2 +- language/en-GB/en-GB.com_finder.ini | 2 +- language/en-GB/en-GB.com_media.ini | 10 ++++---- language/en-GB/en-GB.com_users.ini | 24 +++++++++---------- language/en-GB/en-GB.com_weblinks.ini | 2 +- language/en-GB/en-GB.ini | 4 ++-- language/en-GB/en-GB.lib_joomla.ini | 18 +++++++------- language/en-GB/en-GB.mod_articles_archive.ini | 2 +- .../en-GB/en-GB.mod_articles_archive.sys.ini | 2 +- .../en-GB/en-GB.mod_articles_category.ini | 2 +- language/en-GB/en-GB.mod_articles_latest.ini | 2 +- language/en-GB/en-GB.mod_articles_news.ini | 2 +- language/en-GB/en-GB.mod_articles_popular.ini | 4 ++-- .../en-GB/en-GB.mod_articles_popular.sys.ini | 2 +- language/en-GB/en-GB.mod_languages.ini | 2 +- language/en-GB/en-GB.mod_languages.sys.ini | 2 +- language/en-GB/en-GB.mod_login.ini | 4 ++-- language/en-GB/en-GB.mod_menu.ini | 2 +- language/en-GB/en-GB.mod_related_items.ini | 2 +- .../en-GB/en-GB.mod_related_items.sys.ini | 2 +- 64 files changed, 157 insertions(+), 157 deletions(-) diff --git a/administrator/language/en-GB/en-GB.com_admin.ini b/administrator/language/en-GB/en-GB.com_admin.ini index fc518aee364ae..188b0939229ad 100644 --- a/administrator/language/en-GB/en-GB.com_admin.ini +++ b/administrator/language/en-GB/en-GB.com_admin.ini @@ -183,13 +183,13 @@ COM_ADMIN_ZIP_ENABLED="Native ZIP Enabled" COM_ADMIN_ZLIB_ENABLED="Zlib Enabled" ; Messages -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not contain enough digits. At least %s digits are required." -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not contain enough digits. At least 1 digit is required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not contain enough symbols. At least %s symbols are required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not contain enough symbols. At least 1 symbol is required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not contain enough uppercase characters. At least %s upper case characters are required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not contain enough uppercase characters. At least 1 upper case character is required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not have enough digits. At least %s digits are required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not have enough digits. At least 1 digit is required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not have enough symbols. At least %s symbols are required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not have enough symbols. At least 1 symbol is required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not have enough uppercase characters. At least %s upper case characters are required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not have enough uppercase characters. At least 1 upper case character is required." COM_USERS_MSG_PASSWORD_TOO_LONG="Password is too long. Passwords must be less than 100 characters." COM_USERS_MSG_PASSWORD_TOO_SHORT_N="Password is too short. Passwords must have at least %s characters." -COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not contain spaces at the beginning or end." +COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not have spaces at the beginning or end." diff --git a/administrator/language/en-GB/en-GB.com_admin.sys.ini b/administrator/language/en-GB/en-GB.com_admin.sys.ini index 33a6bc206898c..7c5a6191aa8f6 100644 --- a/administrator/language/en-GB/en-GB.com_admin.sys.ini +++ b/administrator/language/en-GB/en-GB.com_admin.sys.ini @@ -6,7 +6,7 @@ COM_ADMIN="System Information" COM_ADMIN_XML_DESCRIPTION="Administration system information component." -COM_ADMIN_HELP_VIEW_DEFAULT_DESC="Get help regarding various pages in your Joomla administrator interface." +COM_ADMIN_HELP_VIEW_DEFAULT_DESC="Get help on various pages in your Joomla administrator interface." COM_ADMIN_HELP_VIEW_DEFAULT_TITLE="Joomla! Help" COM_ADMIN_SYSINFO_VIEW_DEFAULT_DESC="View detailed information about your Joomla site and server configuration settings." COM_ADMIN_SYSINFO_VIEW_DEFAULT_TITLE="System Information" diff --git a/administrator/language/en-GB/en-GB.com_banners.ini b/administrator/language/en-GB/en-GB.com_banners.ini index 0ea73e9425b6f..24d37881ef0c6 100644 --- a/administrator/language/en-GB/en-GB.com_banners.ini +++ b/administrator/language/en-GB/en-GB.com_banners.ini @@ -75,7 +75,7 @@ COM_BANNERS_FIELD_ALT_DESC="Alternative text used for visitors without access to COM_BANNERS_FIELD_ALT_LABEL="Alt Text" COM_BANNERS_FIELD_BANNEROWNPREFIX_DESC="Use own prefix or the client prefix." COM_BANNERS_FIELD_BANNEROWNPREFIX_LABEL="Use Own Prefix" -COM_BANNERS_FIELD_BASENAME_DESC="File name pattern which can contain<br />__SITE__ for the site name<br />__CATID__ for the category ID<br />__CATNAME__ for the category name<br />__CLIENTID__ for the client ID<br />__CLIENTNAME__ for the client name<br />__TYPE__ for the type<br />__TYPENAME__ for the type name<br />__BEGIN__ for the begin date<br />__END__ for the end date." +COM_BANNERS_FIELD_BASENAME_DESC="File name pattern which can have<br />__SITE__ for the site name<br />__CATID__ for the category ID<br />__CATNAME__ for the category name<br />__CLIENTID__ for the client ID<br />__CLIENTNAME__ for the client name<br />__TYPE__ for the type<br />__TYPENAME__ for the type name<br />__BEGIN__ for the begin date<br />__END__ for the end date." COM_BANNERS_FIELD_BASENAME_LABEL="File Name" COM_BANNERS_FIELD_CATEGORY_DESC="Choose a category for this banner." COM_BANNERS_FIELD_CLICKS_DESC="Displays the number of clicks on the banner. Select reset if desired." @@ -243,4 +243,4 @@ COM_BANNERS_TYPE1="Impressions" COM_BANNERS_TYPE2="Clicks" COM_BANNERS_UNLIMITED="Unlimited" COM_BANNERS_XML_DESCRIPTION="This component manages banners and banner clients." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_cache.ini b/administrator/language/en-GB/en-GB.com_cache.ini index 12b520f6ba734..9bfb89d74301d 100644 --- a/administrator/language/en-GB/en-GB.com_cache.ini +++ b/administrator/language/en-GB/en-GB.com_cache.ini @@ -38,4 +38,4 @@ COM_CACHE_RESOURCE_INTENSIVE_WARNING="This can be resource intensive on sites wi COM_CACHE_SIZE="Size" COM_CACHE_SELECT_CLIENT="- Select Location -" COM_CACHE_XML_DESCRIPTION="Component for cache management." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_categories.ini b/administrator/language/en-GB/en-GB.com_categories.ini index 014b19f10a041..ad3a570e34112 100644 --- a/administrator/language/en-GB/en-GB.com_categories.ini +++ b/administrator/language/en-GB/en-GB.com_categories.ini @@ -49,7 +49,7 @@ COM_CATEGORIES_HAS_SUBCATEGORY_ITEMS="%d items are assigned to this category's s COM_CATEGORIES_HAS_SUBCATEGORY_ITEMS_1="%d item is assigned to one of this category's subcategories." ; The following 2 strings are deprecated and will be removed with 4.0. COM_CATEGORIES_ITEM_ASSOCIATIONS_FIELDSET_LABEL="Category Item Associations" -COM_CATEGORIES_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a category item for the target language. This association will let the Language Switcher module redirect to the associated category item in another language. If used, make sure to display the Language switcher module on the concerned pages. A category item set to language 'All' can't be associated." +COM_CATEGORIES_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a category item for the target language. This association will let the Language Switcher module redirect to the associated category item in another language. If used, make sure to display the Language switcher module on the relevant pages. A category item set to language 'All' can't be associated." COM_CATEGORIES_ITEMS_SEARCH_FILTER="Search" COM_CATEGORIES_N_ITEMS_ARCHIVED="%d categories archived." COM_CATEGORIES_N_ITEMS_ARCHIVED_1="%d category archived." @@ -84,4 +84,4 @@ COM_CATEGORY_COUNT_UNPUBLISHED_ITEMS="Unpublished items" COM_CATEGORY_HEADING_ASSOCIATION="Association" JGLOBAL_NO_ITEM_SELECTED="No categories selected." JLIB_HTML_ACCESS_SUMMARY_DESC="Shown below is an overview of the permission settings for this category. Select the tabs above to customise these settings by action." -JLIB_RULES_SETTING_NOTES_ITEM="Changes apply to this category and all child categories.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES_ITEM="Changes apply to this category and all child categories.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_checkin.ini b/administrator/language/en-GB/en-GB.com_checkin.ini index 7183cf0b4976a..3e9ee4292c991 100644 --- a/administrator/language/en-GB/en-GB.com_checkin.ini +++ b/administrator/language/en-GB/en-GB.com_checkin.ini @@ -20,4 +20,4 @@ COM_CHECKIN_N_ITEMS_CHECKED_IN_MORE="%s items checked in." COM_CHECKIN_NO_ITEMS="There are no tables with checked out items or there are no tables with checked out items that match your search." COM_CHECKIN_TABLE="<em>%s</em> table" COM_CHECKIN_XML_DESCRIPTION="Check-in Component." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." \ No newline at end of file +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." \ No newline at end of file diff --git a/administrator/language/en-GB/en-GB.com_config.ini b/administrator/language/en-GB/en-GB.com_config.ini index d19fa8c8e2357..2c8110a6d10ac 100644 --- a/administrator/language/en-GB/en-GB.com_config.ini +++ b/administrator/language/en-GB/en-GB.com_config.ini @@ -118,7 +118,7 @@ COM_CONFIG_FIELD_MAIL_REPLY_TO_EMAIL_LABEL="Reply To email" COM_CONFIG_FIELD_MAIL_REPLY_TO_EMAIL_DESC="The email address that will be used to receive end user(s) reply" COM_CONFIG_FIELD_MAIL_REPLY_TO_NAME_LABEL="Reply To Name" COM_CONFIG_FIELD_MAIL_REPLY_TO_NAME_DESC="Text displayed in the header "To:" field when end user(s) replying to received email" -COM_CONFIG_FIELD_MAIL_MAILONLINE_DESC="Select Yes to turn on mail sending, select No to turn off mail sending. Warning: It is advised to put the site offline when disabling the mail function!" +COM_CONFIG_FIELD_MAIL_MAILONLINE_DESC="Select Yes to turn on mail sending, select No to turn off mail sending. Warning: It is recommended to put the site offline when disabling the mail function!" COM_CONFIG_FIELD_MAIL_MAILONLINE_LABEL="Send Mail" COM_CONFIG_FIELD_MAIL_MASSMAILOFF_DESC="Select Yes to disable the Mass Mail Users function, select No to make it active." COM_CONFIG_FIELD_MAIL_MASSMAILOFF_LABEL="Disable Mass Mail" @@ -158,7 +158,7 @@ COM_CONFIG_FIELD_REDIS_PORT_DESC="Redis server port." COM_CONFIG_FIELD_REDIS_PORT_LABEL="Redis Server Port" COM_CONFIG_FIELD_METAAUTHOR_DESC="Show the author meta tag when viewing articles." COM_CONFIG_FIELD_METAAUTHOR_LABEL="Show Author Meta Tag" -COM_CONFIG_FIELD_METADESC_DESC="Enter a description of the overall website that may be used by search engines. Generally, a maximum of 20 words is optimal." +COM_CONFIG_FIELD_METADESC_DESC="Enter a description of the overall website that may be used by search engines. Generally, a maximum of 20 words is best." COM_CONFIG_FIELD_METADESC_LABEL="Site Meta Description" COM_CONFIG_FIELD_METAKEYS_DESC="Enter the keywords and phrases that best describe your website. Separate keywords and phrases with a comma." COM_CONFIG_FIELD_METAKEYS_LABEL="Site Meta Keywords" @@ -170,7 +170,7 @@ COM_CONFIG_FIELD_OFFLINE_IMAGE_DESC="Select or upload an optional image to be di COM_CONFIG_FIELD_OFFLINE_IMAGE_LABEL="Offline Image" COM_CONFIG_FIELD_OFFLINE_MESSAGE_DESC="The custom offline message will be used if the 'Offline Message' field is set to 'Use Custom Message'." COM_CONFIG_FIELD_OFFLINE_MESSAGE_LABEL="Custom Message" -COM_CONFIG_FIELD_PROXY_ENABLE_DESC="Enable Joomla to use a proxy which is needed in some server environments in order to fetch URLs like in the Joomla Update component." +COM_CONFIG_FIELD_PROXY_ENABLE_DESC="Enable Joomla to use a proxy which is needed in some server environments to fetch URLs like in the Joomla Update component." COM_CONFIG_FIELD_PROXY_ENABLE_LABEL="Enable Proxy" COM_CONFIG_FIELD_PROXY_HOST_DESC="Enter the name of the host of your Proxy server." COM_CONFIG_FIELD_PROXY_HOST_LABEL="Proxy Host" diff --git a/administrator/language/en-GB/en-GB.com_contact.ini b/administrator/language/en-GB/en-GB.com_contact.ini index 32e9d213392e5..b9e861fddc559 100644 --- a/administrator/language/en-GB/en-GB.com_contact.ini +++ b/administrator/language/en-GB/en-GB.com_contact.ini @@ -262,7 +262,7 @@ COM_CONTACT_HITS_DESC="Number of hits for this contact." COM_CONTACT_ID_LABEL="ID" ; The following 2 strings are deprecated and will be removed with 4.0. COM_CONTACT_ITEM_ASSOCIATIONS_FIELDSET_LABEL="Contact Item Associations" -COM_CONTACT_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a contact item for the target language. This association will let the Language Switcher module redirect to the associated contact item in another language. If used, make sure to display the Language switcher module on the concerned pages. A contact item set to language 'All' can't be associated." +COM_CONTACT_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a contact item for the target language. This association will let the Language Switcher module redirect to the associated contact item in another language. If used, make sure to display the Language switcher module on the relevant pages. A contact item set to language 'All' can't be associated." COM_CONTACT_MAIL_FIELDSET_LABEL="Mail Options" COM_CONTACT_MANAGER_CONTACT="Contacts: New/Edit" COM_CONTACT_MANAGER_CONTACT_EDIT="Contacts: Edit" @@ -312,4 +312,4 @@ COM_CONTACT_XML_DESCRIPTION="This component shows a listing of contact informati JGLOBAL_FIELDSET_MISCELLANEOUS="Miscellaneous Information" JGLOBAL_NEWITEMSLAST_DESC="New Contacts default to the last position. Ordering can be changed after this Contact is saved." JLIB_HTML_BATCH_USER_LABEL="Set Linked User" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_content.ini b/administrator/language/en-GB/en-GB.com_content.ini index af939a9d8d89a..deaddc6e90c9e 100644 --- a/administrator/language/en-GB/en-GB.com_content.ini +++ b/administrator/language/en-GB/en-GB.com_content.ini @@ -132,7 +132,7 @@ COM_CONTENT_HEADING_DATE_PUBLISH_DOWN="Finish Publishing" COM_CONTENT_ID_LABEL="ID" ; The following 2 strings are deprecated and will be removed with 4.0. COM_CONTENT_ITEM_ASSOCIATIONS_FIELDSET_LABEL="Content Item Associations" -COM_CONTENT_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a content item for the target language. This association will let the Language Switcher module redirect to the associated content item in another language. If used, make sure to display the Language switcher module on the concerned pages. A content item set to language 'All' can't be associated." +COM_CONTENT_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a content item for the target language. This association will let the Language Switcher module redirect to the associated content item in another language. If used, make sure to display the Language switcher module on the relevant pages. A content item set to language 'All' can't be associated." COM_CONTENT_LEFT="Left" COM_CONTENT_MODIFIED_ASC="Date Modified ascending" COM_CONTENT_MODIFIED_DESC="Date Modified descending" @@ -205,5 +205,5 @@ COM_CONTENT_XML_DESCRIPTION="Article management component." JGLOBAL_NO_ITEM_SELECTED="No articles selected" JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE="You are not allowed to create new articles in this category." JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT="You are not allowed to edit one or more of these articles." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." -JLIB_RULES_SETTING_NOTES_ITEM="Changes apply to this article only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES_ITEM="Changes apply to this article only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_cpanel.ini b/administrator/language/en-GB/en-GB.com_cpanel.ini index 5c342a0353476..9071156762e0c 100644 --- a/administrator/language/en-GB/en-GB.com_cpanel.ini +++ b/administrator/language/en-GB/en-GB.com_cpanel.ini @@ -26,7 +26,7 @@ COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_BODY="<p>Beginning with Joomla! 4.0 we are ra COM_CPANEL_MSG_LANGUAGEACCESS340_TITLE="You have possible issues with your multilingual settings" COM_CPANEL_MSG_LANGUAGEACCESS340_BODY="Since Joomla! 3.4.0 you may have issues with the System - Language Filter plugin on your website. To fix them please open the <a href="_QQ_"index.php?option=com_languages&view=languages"_QQ_">Language Manager</a> and save each content language manually to make sure an Access level is saved." ; The following two strings are deprecated and will be removed with 4.0 -COM_CPANEL_MSG_PHPVERSION_BODY="Beginning with Joomla! 3.3, the version of PHP this site is using will no longer be supported. Joomla! 3.3 will require at least <a href="_QQ_"https://community.joomla.org/blogs/leadership/1798-raising-the-bar-on-security.html"_QQ_">PHP version 5.3.10 in order to provide enhanced security features to its users</a>." +COM_CPANEL_MSG_PHPVERSION_BODY="Beginning with Joomla! 3.3, the version of PHP this site is using will no longer be supported. Joomla! 3.3 will require at least <a href="_QQ_"https://community.joomla.org/blogs/leadership/1798-raising-the-bar-on-security.html"_QQ_">PHP version 5.3.10 to provide enhanced security features to its users</a>." COM_CPANEL_MSG_PHPVERSION_TITLE="Your PHP Version Will Be Unsupported in Joomla! 3.3" COM_CPANEL_MSG_ROBOTS_TITLE="robots.txt Update" COM_CPANEL_MSG_ROBOTS_BODY="A change to the default robots.txt files was made in Joomla! 3.3 to allow Google to access templates and media files by default to improve SEO. This change is not applied automatically on upgrades and users are recommended to review the changes in the robots.txt.dist file and implement these changes in their own robots.txt file." diff --git a/administrator/language/en-GB/en-GB.com_finder.ini b/administrator/language/en-GB/en-GB.com_finder.ini index 79eebc121c978..247a5a67fcb54 100644 --- a/administrator/language/en-GB/en-GB.com_finder.ini +++ b/administrator/language/en-GB/en-GB.com_finder.ini @@ -179,7 +179,7 @@ COM_FINDER_INDEXER_INVALID_DRIVER="The indexer does not support processing on th COM_FINDER_INDEXER_INVALID_PARSER="Invalid parser type %s" COM_FINDER_INDEXER_INVALID_STEMMER="Invalid stemmer type %s" COM_FINDER_INDEXER_MESSAGE_COMPLETE="The indexing process is complete. It is now safe to close this window." -COM_FINDER_INDEXER_MESSAGE_INIT="The indexer is being initialised. Do not close this window." +COM_FINDER_INDEXER_MESSAGE_INIT="The indexer is starting. Do not close this window." COM_FINDER_INDEXER_MESSAGE_OPTIMIZE="The index tables are being optimised for the best possible performance. Do not close this window." COM_FINDER_INDEXER_MESSAGE_RUNNING="Your content is being indexed. Do not close this window." COM_FINDER_ITEM_X_ONLY="%s Only" diff --git a/administrator/language/en-GB/en-GB.com_installer.ini b/administrator/language/en-GB/en-GB.com_installer.ini index 57da00abd1ac8..4768242ea6d36 100644 --- a/administrator/language/en-GB/en-GB.com_installer.ini +++ b/administrator/language/en-GB/en-GB.com_installer.ini @@ -160,7 +160,7 @@ COM_INSTALLER_MSG_WARNINGS_FILEUPLOADSDISABLED="File uploads disabled." COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The Joomla temporary folder is not set." COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSETDESC="The Joomla temporary folder is where Joomla copies an extension, extracts the extension and the files are copied into the correct directories. If this configuration is not set in configuration.php ($tmp_path) then you won't be able to upload extensions. Create a folder to enable Joomla to write to the folder to fix the issue." COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE="The Joomla temporary folder is not writable or does not exist." -COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLEDESC="The Joomla temporary folder is not writeable by the Joomla instance, or may not exist, which may cause issues when attempting to upload extensions to Joomla. If you are having issues uploading extensions, make sure the folder defined in your configuration.php exists or check the '%s' and set it to be writeable and see if this fixes the issue." +COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLEDESC="The Joomla temporary folder is not writeable by the Joomla instance, or may not exist, which may cause issues when trying to upload extensions to Joomla. If you are having issues uploading extensions, make sure the folder defined in your configuration.php exists or check the '%s' and set it to be writeable and see if this fixes the issue." COM_INSTALLER_MSG_WARNINGS_LOWMEMORYDESC="Low PHP memory limit." COM_INSTALLER_MSG_WARNINGS_LOWMEMORYWARN="Your PHP memory limit is set below 8MB which may cause some issues when installing large extensions. Please set your memory limit to at least 16MB." COM_INSTALLER_MSG_WARNINGS_MEDMEMORYDESC="Potentially low PHP memory limit." @@ -171,7 +171,7 @@ COM_INSTALLER_MSG_WARNINGS_NOTICE="There are some warnings detected." COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSET="The PHP temporary folder is not set." COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSETDESC="The PHP temporary folder is the folder that PHP uses to store an uploaded file before Joomla can access this file. Whilst the folder not being set isn't always a problem, if you are having issues with manifest files not being detected or uploaded files not being detected, setting this in your php.ini file might fix the issue." COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLE="The PHP temporary folder is not writeable." -COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLEDESC="The PHP temporary folder is not writeable by the Joomla! instance, which may cause issues when attempting to upload extensions to Joomla. If you are having issues uploading extensions, check the '%s' and set it to be writeable and see if this fixes the issue." +COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLEDESC="The PHP temporary folder is not writeable by the Joomla! instance, which may cause issues when trying to upload extensions to Joomla. If you are having issues uploading extensions, check the '%s' and set it to be writeable and see if this fixes the issue." COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZE="Small PHP maximum POST size." COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZEDESC="The maximum POST size sets the most amount of data that can be sent via POST to the server. This includes form submissions for articles, media (images, videos) and packages. This value is less than 8MB which may impact on uploading large packages. This is set in the php.ini under post_max_size." COM_INSTALLER_MSG_WARNINGS_SMALLUPLOADSIZE="Maximum PHP file upload size is too small: This is set in php.ini in both upload_max_filesize and post_max_size settings of your PHP settings (located in php.ini and/or .htaccess file)." @@ -273,4 +273,4 @@ COM_INSTALLER_WEBINSTALLER_INSTALL_WEB_LOADING="Loading ..." COM_INSTALLER_WEBINSTALLER_INSTALL_WEB_LOADING_ERROR="Can't connect to the Joomla! server. Please try again later." COM_INSTALLER_WEBINSTALLER_LOAD_APPS="Select to load extensions browser" COM_INSTALLER_XML_DESCRIPTION="Installer component for adding, removing and upgrading extensions" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_languages.ini b/administrator/language/en-GB/en-GB.com_languages.ini index 3f4ad74fcdfa3..e20bff907623b 100644 --- a/administrator/language/en-GB/en-GB.com_languages.ini +++ b/administrator/language/en-GB/en-GB.com_languages.ini @@ -7,7 +7,7 @@ COM_LANGUAGES="Languages" COM_LANGUAGES_CONFIGURATION="Languages: Options" COM_LANGUAGES_ERR_DELETE="Select a language to delete" COM_LANGUAGES_ERR_NO_LANGUAGE_SELECTED="No language selected." -COM_LANGUAGES_ERROR_LANG_TAG="<br />The Language Tag should contain 2 or 3 lowercase letters corresponding to the ISO language, a dash and 2 uppercase letters corresponding to the ISO country code. <br />This should be the exact prefix used for the language installed or to be installed. Example: en-GB, srp-ME." +COM_LANGUAGES_ERROR_LANG_TAG="<br />The Language Tag should have 2 or 3 lowercase letters corresponding to the ISO language, a dash and 2 uppercase letters corresponding to the ISO country code. <br />This should be the exact prefix used for the language installed or to be installed. Example: en-GB, srp-ME." COM_LANGUAGES_ERROR_LANGUAGE_METAFILE_MISSING="Could not load %s language meta XML file from %s." COM_LANGUAGES_ERR_PUBLISH="Select a language to publish." COM_LANGUAGES_FIELD_DESCRIPTION_DESC="Enter a description for the language." @@ -139,7 +139,7 @@ COM_LANGUAGES_VIEW_OVERRIDE_RESULTS_LEGEND="Search Results" COM_LANGUAGES_VIEW_OVERRIDE_SAVE_SUCCESS="Language Override was saved." COM_LANGUAGES_VIEW_OVERRIDE_SEARCH_BUTTON="Search" COM_LANGUAGES_VIEW_OVERRIDE_SEARCH_LEGEND="Search text you want to change." -COM_LANGUAGES_VIEW_OVERRIDE_SEARCH_TIP="A language string is composed of two parts: a specific language constant and its value.<br />For example, in the string: COM_CONTENT_READ_MORE="Read more: "<br />'<u>COM_CONTENT_READ_MORE</u>' is the constant and '<u>Read more: </u>' is the value.<br />You have to use the specific language constant in order to create an override of the value.<br />Therefore, you can search for the constant or the value you want to change with the search field below.<br />By selecting the desired result the correct constant will automatically be inserted into the form." +COM_LANGUAGES_VIEW_OVERRIDE_SEARCH_TIP="A language string is composed of two parts: a specific language constant and its value.<br />For example, in the string: COM_CONTENT_READ_MORE="Read more: "<br />'<u>COM_CONTENT_READ_MORE</u>' is the constant and '<u>Read more: </u>' is the value.<br />You have to use the specific language constant to create an override of the value.<br />Therefore, you can search for the constant or the value you want to change with the search field below.<br />By selecting the desired result the correct constant will automatically be inserted into the form." COM_LANGUAGES_VIEW_OVERRIDES_FILTER_SEARCH_DESC="Search constant or text." COM_LANGUAGES_VIEW_OVERRIDES_KEY="Constant" COM_LANGUAGES_VIEW_OVERRIDES_LANGUAGES_BOX_ITEM="%1$s - %2$s" @@ -151,4 +151,4 @@ COM_LANGUAGES_VIEW_OVERRIDES_PURGE_SUCCESS="Overrider cache table cleared." COM_LANGUAGES_VIEW_OVERRIDES_TEXT="Text" COM_LANGUAGES_VIEW_OVERRIDES_TITLE="Languages: Overrides" COM_LANGUAGES_XML_DESCRIPTION="Component for language management" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_media.ini b/administrator/language/en-GB/en-GB.com_media.ini index 55d84f464972f..42c37e7279a2e 100644 --- a/administrator/language/en-GB/en-GB.com_media.ini +++ b/administrator/language/en-GB/en-GB.com_media.ini @@ -31,15 +31,15 @@ COM_MEDIA_ERROR_BEFORE_SAVE_1="An error occurs before saving the media: %s" COM_MEDIA_ERROR_BEFORE_SAVE_MORE="Some errors occur before saving the media: %s" COM_MEDIA_ERROR_CREATE_NOT_PERMITTED="Create not permitted." COM_MEDIA_ERROR_FILE_EXISTS="File already exists." -COM_MEDIA_ERROR_UNABLE_TO_CREATE_FOLDER_WARNDIRNAME="Unable to create folder. Folder name must only contain alphanumeric characters and no spaces." -COM_MEDIA_ERROR_UNABLE_TO_BROWSE_FOLDER_WARNDIRNAME="Unable to browse: %s. Folder name must only contain alphanumeric characters and no spaces." -COM_MEDIA_ERROR_UNABLE_TO_DELETE_FILE_WARNFILENAME="Unable to delete: %s. File name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_CREATE_FOLDER_WARNDIRNAME="Unable to create folder. Folder name must only have alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_BROWSE_FOLDER_WARNDIRNAME="Unable to browse: %s. Folder name must only have alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_DELETE_FILE_WARNFILENAME="Unable to delete: %s. File name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_DELETE_FOLDER_NOT_EMPTY="Unable to delete: %s. Folder is not empty!" COM_MEDIA_ERROR_UNABLE_TO_DELETE_FOLDER_WARNDIRNAME="Unable to delete: %s." COM_MEDIA_ERROR_UNABLE_TO_DELETE=" Unable to delete: " COM_MEDIA_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file." COM_MEDIA_ERROR_UPLOAD_INPUT="Please input a file to upload" -COM_MEDIA_ERROR_WARNFILENAME="File name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_WARNFILENAME="File name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_WARNFILENOTSAFE="You have tried to upload file(s) that are not safe." COM_MEDIA_ERROR_WARNFILETOOLARGE="This file is too large to upload." COM_MEDIA_ERROR_WARNFILETYPE="This file type is not supported." @@ -49,7 +49,7 @@ COM_MEDIA_ERROR_WARNINVALID_MIME="Illegal or invalid mime type detected." COM_MEDIA_ERROR_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." COM_MEDIA_ERROR_WARNNOTEMPTY="Not empty!" COM_MEDIA_ERROR_WARNUPLOADTOOLARGE="Total size of upload exceeds the limit." -COM_MEDIA_FIELD_CHECK_MIME_DESC="Use MIME Magic or Fileinfo to attempt to verify files. Try disabling this if you get invalid mime type errors." +COM_MEDIA_FIELD_CHECK_MIME_DESC="Use MIME Magic or Fileinfo to try to verify files. Try disabling this if you get invalid mime type errors." COM_MEDIA_FIELD_CHECK_MIME_LABEL="Check MIME Types" COM_MEDIA_FIELD_IGNORED_EXTENSIONS_DESC="Ignored file extensions for MIME type checking and restricted uploads." COM_MEDIA_FIELD_IGNORED_EXTENSIONS_LABEL="Ignored Extensions" @@ -101,4 +101,4 @@ COM_MEDIA_UPLOAD_SUCCESSFUL="Upload Successful" COM_MEDIA_UPLOAD="Upload" COM_MEDIA_UP="Up" COM_MEDIA_XML_DESCRIPTION="Component for managing site media" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_menus.ini b/administrator/language/en-GB/en-GB.com_menus.ini index 08c69caa16a1c..3f4f886c4daef 100644 --- a/administrator/language/en-GB/en-GB.com_menus.ini +++ b/administrator/language/en-GB/en-GB.com_menus.ini @@ -75,7 +75,7 @@ COM_MENUS_HTML_UNPUBLISH_URL="Unpublish the URL menu item" COM_MENUS_INTEGRATION_FIELDSET_LABEL="Integration" ; The following 2 strings are deprecated and will be removed with 4.0. COM_MENUS_ITEM_ASSOCIATIONS_FIELDSET_LABEL="Menu Item Associations" -COM_MENUS_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a menu item for the target language. This association will let the Language Switcher module redirect to the associated menu item in another language. If used, make sure to display the Language switcher module on the concerned pages. A menu item set to language 'All' can't be associated." +COM_MENUS_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a menu item for the target language. This association will let the Language Switcher module redirect to the associated menu item in another language. If used, make sure to display the Language switcher module on the relevant pages. A menu item set to language 'All' can't be associated." COM_MENUS_ITEM_DETAILS="Details" COM_MENUS_ITEM_FIELD_ALIAS_DESC="The alias is used in the URL when SEF is on." COM_MENUS_ITEM_FIELD_ALIAS_MENU_DESC="Menu Item to link to." @@ -132,7 +132,7 @@ COM_MENUS_ITEM_FIELD_SHOW_PAGE_HEADING_DESC="Show or hide the Browser Page Title COM_MENUS_ITEM_FIELD_SHOW_PAGE_HEADING_LABEL="Show Page Heading" COM_MENUS_ITEM_FIELD_TEMPLATE_DESC="Select a specific template style for this menu item or use the default template." COM_MENUS_ITEM_FIELD_TEMPLATE_LABEL="Template Style" -COM_MENUS_ITEM_FIELD_TEXT_SEPARATOR_DESC="Choose whether this separator will be displayed as a label. If the title contains only dashes (-) and spaces, it will not be displayed as a label." +COM_MENUS_ITEM_FIELD_TEXT_SEPARATOR_DESC="Choose whether this separator will be displayed as a label. If the title has only dashes (-) and spaces, it will not be displayed as a label." COM_MENUS_ITEM_FIELD_TEXT_SEPARATOR_LABEL="Display as a label" COM_MENUS_ITEM_FIELD_TITLE_DESC="The title of the menu item that will display in the menu." COM_MENUS_ITEM_FIELD_TITLE_LABEL="Menu Title" @@ -237,4 +237,4 @@ COM_MENUS_VIEW_MENUS_TITLE="Menus" COM_MENUS_VIEW_NEW_ITEM_TITLE="Menus: New Item" COM_MENUS_VIEW_NEW_MENU_TITLE="Menus: Add" COM_MENUS_XML_DESCRIPTION="Component for creating menus." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_messages.ini b/administrator/language/en-GB/en-GB.com_messages.ini index 54d540368af0a..70cf935792e99 100644 --- a/administrator/language/en-GB/en-GB.com_messages.ini +++ b/administrator/language/en-GB/en-GB.com_messages.ini @@ -72,4 +72,4 @@ COM_MESSAGES_VIEW_PRIVATE_MESSAGE="Private Messages: View" COM_MESSAGES_WRITE_PRIVATE_MESSAGE="Private Messages: Write" COM_MESSAGES_XML_DESCRIPTION="Component for private messaging support in Backend." JLIB_APPLICATION_SAVE_SUCCESS="Message sent." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_modules.ini b/administrator/language/en-GB/en-GB.com_modules.ini index 5ff1c11fd0633..cd1948b7036ac 100644 --- a/administrator/language/en-GB/en-GB.com_modules.ini +++ b/administrator/language/en-GB/en-GB.com_modules.ini @@ -201,4 +201,4 @@ COM_MODULES_DESELECT="Deselect" COM_MODULES_EXPAND="Expand" COM_MODULES_COLLAPSE="Collapse" COM_MODULES_SUBITEMS="Sub-items:" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_newsfeeds.ini b/administrator/language/en-GB/en-GB.com_newsfeeds.ini index 2e46aa6aae181..7e950d96404d7 100644 --- a/administrator/language/en-GB/en-GB.com_newsfeeds.ini +++ b/administrator/language/en-GB/en-GB.com_newsfeeds.ini @@ -97,7 +97,7 @@ COM_NEWSFEEDS_HEADING_ASSOCIATION="Association" COM_NEWSFEEDS_HITS_DESC="Number of hits for this news feed." ; The following 2 strings are deprecated and will be removed with 4.0. COM_NEWSFEEDS_ITEM_ASSOCIATIONS_FIELDSET_LABEL="News Feed Item Association" -COM_NEWSFEEDS_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a news feed item for the target language. This association will let the Language Switcher module redirect to the associated news feed item in another language. If used, make sure to display the Language switcher module on the concerned pages. A news feed item set to language 'All' can't be associated." +COM_NEWSFEEDS_ITEM_ASSOCIATIONS_FIELDSET_DESC="Multilingual only! This choice will only display if the Language Filter parameter 'Item Associations' is set to 'Yes'. Choose a news feed item for the target language. This association will let the Language Switcher module redirect to the associated news feed item in another language. If used, make sure to display the Language switcher module on the relevant pages. A news feed item set to language 'All' can't be associated." COM_NEWSFEEDS_LEFT="Left" COM_NEWSFEEDS_MANAGER_NEWSFEED="News Feeds: New/Edit" COM_NEWSFEEDS_MANAGER_NEWSFEED_NEW="News Feeds: New" @@ -137,4 +137,4 @@ COM_NEWSFEEDS_UNPUBLISH_ITEM="Unpublish News Feed" COM_NEWSFEEDS_WARNING_PROVIDE_VALID_NAME="Please provide a valid name." COM_NEWSFEEDS_XML_DESCRIPTION="This component manages RSS and Atom news feeds." JGLOBAL_NEWITEMSLAST_DESC="New news feeds default to the last position. The ordering can be changed after this news feed has been saved." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_plugins.ini b/administrator/language/en-GB/en-GB.com_plugins.ini index 6b73b8c5eac28..d3935b27cee8b 100644 --- a/administrator/language/en-GB/en-GB.com_plugins.ini +++ b/administrator/language/en-GB/en-GB.com_plugins.ini @@ -43,4 +43,4 @@ COM_PLUGINS_XML_DESCRIPTION="This component manages Joomla plugins." COM_PLUGINS_XML_ERR="Plugins XML data not available." JLIB_HTML_PUBLISH_ITEM="Enable plugin" JLIB_HTML_UNPUBLISH_ITEM="Disable plugin" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_redirect.ini b/administrator/language/en-GB/en-GB.com_redirect.ini index cae5fb631ddde..57e55225b2b3e 100644 --- a/administrator/language/en-GB/en-GB.com_redirect.ini +++ b/administrator/language/en-GB/en-GB.com_redirect.ini @@ -94,4 +94,4 @@ COM_REDIRECT_SEARCH_LINKS="Search in link fields." COM_REDIRECT_SYSTEM_PLUGIN="Redirect System Plugin" COM_REDIRECT_TOOLBAR_PURGE="Purge Disabled" COM_REDIRECT_XML_DESCRIPTION="This component implements link redirection." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_templates.ini b/administrator/language/en-GB/en-GB.com_templates.ini index 24cbf43a8424e..37c73f5e48a8b 100644 --- a/administrator/language/en-GB/en-GB.com_templates.ini +++ b/administrator/language/en-GB/en-GB.com_templates.ini @@ -84,7 +84,7 @@ COM_TEMPLATES_ERROR_UPLOAD_INPUT="No file was found." COM_TEMPLATES_ERROR_WARNFILENAME="Invalid file name. Please correct the name of the file and upload again." COM_TEMPLATES_ERROR_WARNFILETOOLARGE="File bigger than 2 MB can't be uploaded." COM_TEMPLATES_ERROR_WARNFILETYPE="File format not supported." -COM_TEMPLATES_ERROR_WARNIEXSS="Can't be uploaded. Contains XSS." +COM_TEMPLATES_ERROR_WARNIEXSS="Can't be uploaded. Has XSS." COM_TEMPLATES_FIELD_CLIENT_DESC="Whether this template is used for the Frontend (0) or the Backend (1)." COM_TEMPLATES_FIELD_CLIENT_LABEL="Location" COM_TEMPLATES_FIELD_HOME_ADMINISTRATOR_DESC="This template style is defined as the default." @@ -156,9 +156,9 @@ COM_TEMPLATES_HEADING_TEMPLATE_ASC="Template ascending" COM_TEMPLATES_HEADING_TEMPLATE_DESC="Template descending" COM_TEMPLATES_IMAGE_HEIGHT="Height" COM_TEMPLATES_IMAGE_WIDTH="Width" -COM_TEMPLATES_INVALID_FILE_NAME="Invalid file name. Please choose a file name containing a-z, A-Z, 0-9, - and _." +COM_TEMPLATES_INVALID_FILE_NAME="Invalid file name. Please choose a file name with a-z, A-Z, 0-9, - and _." COM_TEMPLATES_INVALID_FILE_TYPE="File type not selected." -COM_TEMPLATES_INVALID_FOLDER_NAME="Invalid folder name. Please choose a folder name containing a-z, A-Z, 0-9, - and _." +COM_TEMPLATES_INVALID_FOLDER_NAME="Invalid folder name. Please choose a folder name with a-z, A-Z, 0-9, - and _." COM_TEMPLATES_MANAGER="Templates" COM_TEMPLATES_MANAGER_ADD_STYLE="Templates: Add Style" COM_TEMPLATES_MANAGER_EDIT_FILE="Templates: Edit File" @@ -243,4 +243,4 @@ COM_TEMPLATES_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing." COM_TEMPLATES_TOOLBAR_SET_HOME="Default" COM_TEMPLATES_WARNING_FORMAT_WILL_NOT_BE_VISIBLE="You have created a new file with the extension '%s'. This is supported but as you did not have that file extension in the list of supported formats this can't be displayed. Please double check the options for Templates and add the format if needed." COM_TEMPLATES_XML_DESCRIPTION="This component manages templates" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.com_users.ini b/administrator/language/en-GB/en-GB.com_users.ini index 25d87cc6567ae..6866528469d38 100644 --- a/administrator/language/en-GB/en-GB.com_users.ini +++ b/administrator/language/en-GB/en-GB.com_users.ini @@ -47,7 +47,7 @@ COM_USERS_CONFIG_FIELD_NEW_USER_TYPE_DESC="The default group that will be applie COM_USERS_CONFIG_FIELD_NEW_USER_TYPE_LABEL="New User Registration Group" COM_USERS_CONFIG_FIELD_NOTES_HISTORY="User Notes History" COM_USERS_CONFIG_FIELD_SENDPASSWORD_LABEL="Send Password" -COM_USERS_CONFIG_FIELD_SENDPASSWORD_DESC="If set to Yes the user's initial password will be emailed to the user as part of the registration mail." +COM_USERS_CONFIG_FIELD_SENDPASSWORD_DESC="If set to Yes the user's first password will be emailed to the user as part of the registration mail." COM_USERS_CONFIG_FIELD_SUBJECT_PREFIX_DESC="This is added in front of each mail subject." COM_USERS_CONFIG_FIELD_SUBJECT_PREFIX_LABEL="Subject Prefix" COM_USERS_CONFIG_FIELD_USERACTIVATION_DESC="If set to None the user will be registered immediately. If set to Self the User will be emailed a link to activate their account before they can log in. If set to Administrator the user will be emailed a link to verify their email address and then all users set to receive system emails and who have the permission to create users will be notified to activate the user's account." @@ -94,12 +94,12 @@ COM_USERS_FIELD_LOGIN_REDIRECT_PLACEHOLDER="index.php?Itemid=999&lang=en-GB" COM_USERS_FIELD_LOGIN_REDIRECT_CHOICE_DESC="'Internal URL' lets you manually enter any internal URL in the Redirect field. 'Menu Item' lets you directly select an existing menu item.<br />For a multilingual site, it is recommended to use 'Menu Item'." COM_USERS_FIELD_LOGIN_REDIRECT_CHOICE_LABEL="Choose Login Redirect Type" COM_USERS_FIELD_LOGIN_REDIRECT_ERROR="Only one of the login redirect fields should have a value." -COM_USERS_FIELD_LOGIN_REDIRECTMENU_DESC="Select or create the page the user will be redirected to after a successful login. The default is to remain on the same page." +COM_USERS_FIELD_LOGIN_REDIRECTMENU_DESC="Select or create the page the user will be redirected to after a successful login. The default is to stay on the same page." COM_USERS_FIELD_LOGIN_REDIRECTMENU_LABEL="Menu Item Login Redirect" COM_USERS_FIELD_LOGIN_URL="Internal URL" COM_USERS_FIELD_LOGOUT_REDIRECT_CHOICE_LABEL="Choose Logout Redirect Type" COM_USERS_FIELD_LOGOUT_REDIRECT_ERROR="Only one of the logout redirect fields should have a value." -COM_USERS_FIELD_LOGOUT_REDIRECTMENU_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to remain on the same page." +COM_USERS_FIELD_LOGOUT_REDIRECTMENU_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to stay on the same page." COM_USERS_FIELD_LOGOUT_REDIRECTMENU_LABEL="Menu Item Logout Redirect" COM_USERS_FIELD_NOTEBODY_DESC="Note" COM_USERS_FIELD_NOTEBODY_LABEL="Note" @@ -216,15 +216,15 @@ COM_USERS_MAIL_PLEASE_SELECT_A_GROUP="Please select a Group" COM_USERS_MAIL_THE_MAIL_COULD_NOT_BE_SENT="The mail could not be sent." COM_USERS_MASS_MAIL="Mass Mail Users" COM_USERS_MASS_MAIL_DESC="Mass Mail options." -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not contain enough digits. At least %s digits are required." -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not contain enough digits. At least 1 digit is required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not contain enough symbols. At least %s symbols are required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not contain enough symbols. At least 1 symbol is required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not contain enough uppercase characters. At least %s upper case characters are required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not contain enough uppercase characters. At least 1 upper case character is required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not have enough digits. At least %s digits are required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not have enough digits. At least 1 digit is required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not have enough symbols. At least %s symbols are required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not have enough symbols. At least 1 symbol is required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not have enough uppercase characters. At least %s upper case characters are required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not have enough uppercase characters. At least 1 upper case character is required." COM_USERS_MSG_PASSWORD_TOO_LONG="Password is too long. Passwords must be less than 100 characters." COM_USERS_MSG_PASSWORD_TOO_SHORT_N="Password is too short. Passwords must have at least %s characters." -COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not contain spaces at the beginning or end." +COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not have spaces at the beginning or end." COM_USERS_N_LEVELS_DELETED="%d View Access Levels removed." COM_USERS_N_LEVELS_DELETED_0="No View Access Levels removed." COM_USERS_N_LEVELS_DELETED_1="%d View Access Level removed." @@ -347,7 +347,7 @@ COM_USERS_USER_GROUPS_HAVING_ACCESS="User Groups Having Viewing Access" COM_USERS_USER_HEADING="User" COM_USERS_USER_OTEPS="One time emergency passwords" COM_USERS_USER_OTEPS_DESC="If you do not have access to your two factor authentication device you can use any of the following passwords instead of a regular security code. Each one of these emergency passwords is immediately destroyed upon use. We recommend printing these passwords out and keeping the printout in a safe and accessible location, eg your wallet or a safety deposit box." -COM_USERS_USER_OTEPS_WAIT_DESC="There are currently no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." +COM_USERS_USER_OTEPS_WAIT_DESC="There are no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." COM_USERS_USER_SAVE_FAILED="An error was encountered while saving the member: %s." COM_USERS_USER_SAVE_SUCCESS="User saved." COM_USERS_USER_TWO_FACTOR_AUTH="Two Factor Authentication" @@ -376,7 +376,7 @@ COM_USERS_VIEW_NEW_USER_TITLE="Users: New" COM_USERS_VIEW_NOTES_TITLE="User Notes" COM_USERS_VIEW_USERS_TITLE="Users" COM_USERS_XML_DESCRIPTION="Component for managing users" -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." ; Categories overrides COM_CATEGORIES_CATEGORY_ADD_TITLE="User Notes: New Category" COM_CATEGORIES_CATEGORY_EDIT_TITLE="User Notes: Edit Category" diff --git a/administrator/language/en-GB/en-GB.com_weblinks.ini b/administrator/language/en-GB/en-GB.com_weblinks.ini index 5527cbe03b368..d2c7ac37484e9 100644 --- a/administrator/language/en-GB/en-GB.com_weblinks.ini +++ b/administrator/language/en-GB/en-GB.com_weblinks.ini @@ -16,7 +16,7 @@ COM_WEBLINKS_CONFIGURATION="Web Links Manager Options" COM_WEBLINKS_EDIT_WEBLINK="Edit Web Link" COM_WEBLINKS_ERR_TABLES_NAME="There is already a Web Link with that name in this category. Please try again." COM_WEBLINKS_ERR_TABLES_PROVIDE_URL="Please provide a valid URL" -COM_WEBLINKS_ERR_TABLES_TITLE="Your web link must contain a title." +COM_WEBLINKS_ERR_TABLES_TITLE="Your web link must have a title." COM_WEBLINKS_ERROR_UNIQUE_ALIAS="Another web link from this category has the same alias (remember it may be a trashed item)." COM_WEBLINKS_FIELD_ALIAS_DESC="The alias is for internal use only. Leave this blank and Joomla will fill in a default value from the title. It has to be unique for each web link in the same category." COM_WEBLINKS_FIELD_CATEGORY_DESC="Choose a category for this Web link." @@ -124,4 +124,4 @@ JGLOBAL_NO_ITEM_SELECTED="No web links selected" JGLOBAL_NEWITEMSLAST_DESC="New Web links default to the last position. Ordering can be changed after this Web link is saved." JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE="You are not allowed to create new web links in this category." JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT="You are not allowed to edit one or more of these web links." -JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless it is overruled by a Global Configuration setting." +JLIB_RULES_SETTING_NOTES="Changes apply to this component only.<br /><em><strong>Inherited</strong></em> - a Global Configuration setting or higher level setting is applied.<br /><em><strong>Denied</strong></em> always wins - whatever is set at the Global or higher level and applies to all child elements.<br /><em><strong>Allowed</strong></em> will enable the action for this component unless overruled by a Global Configuration setting." diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index c1a5aa67d1e78..1278d2707f9e3 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -84,7 +84,7 @@ JFEATURE="Feature" JUNFEATURE="Unfeature" JHELP="Help" JHIDE="Hide" -JINVALID_TOKEN="The most recent request was denied because it contained an invalid security token. Please refresh the page and try again." +JINVALID_TOKEN="The most recent request was denied because it had an invalid security token. Please refresh the page and try again." JINVALID_TOKEN_NOTICE="The security token did not match. The request was aborted to prevent any security breach. Please try again." JLOGIN="Log in" JLOGOUT="Log out" @@ -179,7 +179,7 @@ JERROR_MAGIC_QUOTES="Your host needs to disable magic_quotes_gpc to run this ver JERROR_NO_ITEMS_SELECTED="No item(s) selected." JERROR_NOLOGIN_BLOCKED="Login denied! Your account has either been blocked or you have not activated it yet." JERROR_SENDING_EMAIL="Email could not be sent." -JERROR_SESSION_STARTUP="Error initialising the session." +JERROR_SESSION_STARTUP="Error starting the session." JERROR_SAVE_FAILED="Could not save data. Error: %s" JFIELD_ACCESS_DESC="The access level group that is allowed to view this item." @@ -217,7 +217,7 @@ JFIELD_LOGOUT_IMAGE_DESC="Select or upload an image to display on logout page." JFIELD_LOGOUT_IMAGE_LABEL="Logout Image" JFIELD_LOGOUT_REDIRECT_URL_DESC="If a URL is entered here, users will be redirected to it after logout.<br />The URL must be internal (eg: index.php?Itemid=999)." JFIELD_LOGOUT_REDIRECT_URL_LABEL="Logout Redirect" -JFIELD_LOGOUT_REDIRECT_PAGE_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to remain on the same page." +JFIELD_LOGOUT_REDIRECT_PAGE_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to stay on the same page." JFIELD_LOGOUT_REDIRECT_PAGE_LABEL="Logout Redirection Page" JFIELD_META_DESCRIPTION_DESC="An optional paragraph to be used as the description of the page in the HTML output. This will generally display in the results of search engines." JFIELD_META_DESCRIPTION_LABEL="Meta Description" @@ -341,7 +341,7 @@ JGLOBAL_DOWN="Down" JGLOBAL_EDIT_ITEM="Edit item" JGLOBAL_EDIT_PREFERENCES="Edit Preferences" JGLOBAL_EMAIL="Email" -JGLOBAL_EMPTY_CATEGORIES_DESC="Show or hide categories that contain no articles and no subcategories." +JGLOBAL_EMPTY_CATEGORIES_DESC="Show or hide categories that have no articles and no subcategories." JGLOBAL_EMPTY_CATEGORIES_LABEL="Empty Categories" JGLOBAL_ERROR_INSUFFICIENT_BATCH_INFORMATION="Insufficient information to perform the batch operation" JGLOBAL_FEED_SHOW_READMORE_DESC="Displays a "Read More" link in the news feeds if Intro Text is set to Show." @@ -953,7 +953,7 @@ JWARNING_UNPUBLISH_MUST_SELECT="You must select at least one item to unpublish." JWARNING_TRASH_MUST_SELECT="You must select at least one item to remove." JWARNING_DELETE_MUST_SELECT="You must select at least one item to permanently delete." JWARNING_REMOVE_ROOT_USER="You are logged-in using the emergency Root User setting in configuration.php.<br />You should remove $root_user from the configuration.php as soon as you have restored control to your site to avoid future security breaches.<br /><a href='%s'>Select here to try to do it automatically.</a>" -JWARNING_REMOVE_ROOT_USER_ADMIN="The emergency Root User setting is currently enabled for the user(id): %s.<br />You should remove $root_user from the configuration.php as soon as you have restored control to your site to avoid future security breaches.<br /><a href='%s'>Select here to try to do it automatically.</a>" +JWARNING_REMOVE_ROOT_USER_ADMIN="The emergency Root User setting is enabled for the user(id): %s.<br />You should remove $root_user from the configuration.php as soon as you have restored control to your site to avoid future security breaches.<br /><a href='%s'>Select here to try to do it automatically.</a>" ; Date format diff --git a/administrator/language/en-GB/en-GB.lib_joomla.ini b/administrator/language/en-GB/en-GB.lib_joomla.ini index d98639f06e1dd..7d25468d1b213 100644 --- a/administrator/language/en-GB/en-GB.lib_joomla.ini +++ b/administrator/language/en-GB/en-GB.lib_joomla.ini @@ -50,7 +50,7 @@ JLIB_APPLICATION_ERROR_TABLE_NAME_NOT_SUPPORTED="Table %s not supported. File no JLIB_APPLICATION_ERROR_TASK_NOT_FOUND="Task [%s] not found." JLIB_APPLICATION_ERROR_UNHELD_ID="You are not permitted to use that link to directly access that page (#%d)." JLIB_APPLICATION_ERROR_VIEW_CLASS_NOT_FOUND="View class not found [class, file]: %1$s, %2$s" -JLIB_APPLICATION_ERROR_VIEW_GET_NAME_SUBSTRING="JView: :getName() : Your classname contains the substring 'view'. This causes problems when extracting the classname from the name of your objects view. Avoid Object names with the substring 'view'." +JLIB_APPLICATION_ERROR_VIEW_GET_NAME_SUBSTRING="JView: :getName() : Your classname has the substring 'view'. This causes problems when extracting the classname from the name of your objects view. Avoid Object names with the substring 'view'." JLIB_APPLICATION_ERROR_VIEW_GET_NAME="JView: :getName() : Can't get or parse class name." JLIB_APPLICATION_ERROR_VIEW_NOT_FOUND="View not found [name, type, prefix]: %1$s, %2$s, %3$s" JLIB_APPLICATION_SAVE_SUCCESS="Item saved." @@ -193,7 +193,7 @@ JLIB_DATABASE_ERROR_MENU_DEFAULT_CHECKIN_USER_MISMATCH="The current home menu fo JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS="The alias <strong>%1$s</strong> is already being used by <strong>%2$s</strong> menu item in the <strong>%3$s</strong> menu (remember it may be a trashed item)." JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS_ROOT="Another menu item has the same alias in Root (remember it may be a trashed item). Root is the top level parent." JLIB_DATABASE_ERROR_MENU_HOME_NOT_COMPONENT="The home menu item must be a component." -JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU="A menu should contain only one Default home." +JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU="A menu should have only one Default home." JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT="A first level menu item alias can't be 'component'." JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_FOLDER="A first level menu item alias can't be '%s' because '%s' is a sub-folder of your joomla installation folder." JLIB_DATABASE_ERROR_MOVE_FAILED="%s: :move failed - %s" @@ -223,7 +223,7 @@ JLIB_DATABASE_ERROR_USERGROUP_TITLE_EXISTS="User group title already exists. Tit JLIB_DATABASE_ERROR_USERLEVEL_NAME_EXISTS="Level with the name "%s" already exists." JLIB_DATABASE_ERROR_USERNAME_CANNOT_CHANGE="Can't use this username." JLIB_DATABASE_ERROR_USERNAME_INUSE="Username in use." -JLIB_DATABASE_ERROR_VALID_AZ09="Please enter a valid username. No space at beginning or end, at least %d characters and must <strong>not</strong> contain the following characters: < > \ " ' % ; ( ) &." +JLIB_DATABASE_ERROR_VALID_AZ09="Please enter a valid username. No space at beginning or end, at least %d characters and must <strong>not</strong> have the following characters: < > \ " ' % ; ( ) &." JLIB_DATABASE_ERROR_VALID_MAIL="Please enter a valid email address." JLIB_DATABASE_ERROR_VIEWLEVEL="Viewlevel must have a title." JLIB_DATABASE_FUNCTION_NOERROR="DB function reports no errors." @@ -467,7 +467,7 @@ JLIB_INSTALLER_ABORT_COMP_INSTALL_PHP_UNINSTALL="Component Install: Could not co JLIB_INSTALLER_ABORT_COMP_INSTALL_ROLLBACK="Component Install: %s" JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR="Component Install: SQL error file %s" JLIB_INSTALLER_ABORT_COMP_UPDATESITEMENUS_FAILED="Component Install: Failed to update menu items." -JLIB_INSTALLER_ABORT_COMP_UPDATE_ADMIN_ELEMENT="Component Update: The XML file did not contain an administration element." +JLIB_INSTALLER_ABORT_COMP_UPDATE_ADMIN_ELEMENT="Component Update: The XML file did not have an administration element." JLIB_INSTALLER_ABORT_COMP_UPDATE_COPY_SETUP="Component Update: Could not copy setup file." JLIB_INSTALLER_ABORT_COMP_UPDATE_MANIFEST="Component Update: Could not copy PHP manifest file." JLIB_INSTALLER_ABORT_COMP_UPDATE_PHP_INSTALL="Component Update: Could not copy PHP install file." @@ -475,7 +475,7 @@ JLIB_INSTALLER_ABORT_COMP_UPDATE_PHP_UNINSTALL="Component Update: Could not copy JLIB_INSTALLER_ABORT_COMP_UPDATE_ROLLBACK="Component Update: %s" JLIB_INSTALLER_ABORT_COMP_UPDATE_SQL_ERROR="Component Update: SQL error file %s" JLIB_INSTALLER_ABORT_CREATE_DIRECTORY="Extension %1$s: Failed to create folder: %2$s" -JLIB_INSTALLER_ABORT_DEBUG="Installation unexpectedly terminated:" +JLIB_INSTALLER_ABORT_DEBUG="Installation unexpectedly stopped:" JLIB_INSTALLER_ABORT_DETECTMANIFEST="Unable to detect manifest file." JLIB_INSTALLER_ABORT_DIRECTORY="Extension %1$s: Another %2$s is already using the named folder: %3$s. Are you trying to install the same extension again?" JLIB_INSTALLER_ABORT_ERROR_DELETING_EXTENSIONS_RECORD="Could not delete the extension's record from the database." @@ -531,7 +531,7 @@ JLIB_INSTALLER_ABORT_PLG_INSTALL_NO_FILE="Plugin %s: No plugin file specified." JLIB_INSTALLER_ABORT_PLG_INSTALL_ROLLBACK="Plugin %1$s: %2$s" JLIB_INSTALLER_ABORT_PLG_INSTALL_SQL_ERROR="Plugin %1$s: SQL error file %2$s" JLIB_INSTALLER_ABORT_PLG_UNINSTALL_SQL_ERROR="Plugin Uninstall: SQL error file %s" -JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not currently installed." +JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not installed." JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE_VALID="Refresh Manifest Cache failed: Extension is not valid." JLIB_INSTALLER_ABORT_ROLLBACK="Extension %1$s: %2$s" JLIB_INSTALLER_ABORT_SQL_ERROR="Extension %1$s: SQL error processing query: %2$s" @@ -552,7 +552,7 @@ JLIB_INSTALLER_DISCOVER="Discover" JLIB_INSTALLER_ERROR_CANNOT_UNINSTALL_CHILD_OF_PACKAGE="The %s extension is part of a package which does not allow individual extensions to be uninstalled." JLIB_INSTALLER_ERROR_COMP_DISCOVER_STORE_DETAILS="Component Discover install: Failed to store component details." JLIB_INSTALLER_ERROR_COMP_FAILED_TO_CREATE_DIRECTORY="Component %1$s: Failed to create folder: %2$s." -JLIB_INSTALLER_ERROR_COMP_INSTALL_ADMIN_ELEMENT="Component Install: The XML file did not contain an administration element." +JLIB_INSTALLER_ERROR_COMP_INSTALL_ADMIN_ELEMENT="Component Install: The XML file did not have an administration element." JLIB_INSTALLER_ERROR_COMP_INSTALL_DIR_ADMIN="Component Install: Another component is already using folder: %s" JLIB_INSTALLER_ERROR_COMP_INSTALL_DIR_SITE="Component Install: Another component is already using folder: %s" JLIB_INSTALLER_ERROR_COMP_INSTALL_FAILED_TO_CREATE_DIRECTORY_ADMIN="Component Install: Failed to create administrator folder: %s" @@ -653,7 +653,7 @@ JLIB_INSTALLER_NOTICE_LANG_RESET_USERS_1="Language set to Default for %d user." JLIB_INSTALLER_UNINSTALL="Uninstall" JLIB_INSTALLER_UPDATE="Update" JLIB_INSTALLER_ERROR_EXTENSION_INVALID_CLIENT_IDENTIFIER="Invalid client identifier specified in extension manifest." -JLIB_INSTALLER_ERROR_PACK_UNINSTALL_UNKNOWN_EXTENSION="Attempting to uninstall unknown extension from package. This extension may have already been removed earlier." +JLIB_INSTALLER_ERROR_PACK_UNINSTALL_UNKNOWN_EXTENSION="Trying to uninstall unknown extension from package. This extension may have already been removed earlier." JLIB_INSTALLER_NOT_ERROR="If the error is related to the installation of TinyMCE language files it has no effect on the installation of the language(s). Some language packs created prior to Joomla! 3.2.0 may try to install separate TinyMCE language files. As these are now included in the core they no longer need to be installed." JLIB_INSTALLER_UPDATE_LOG_QUERY="Ran query from file %1$s. Query text: %2$s." JLIB_INSTALLER_WARNING_UNABLE_TO_INSTALL_CONTENT_LANGUAGE="Unable to create a content language for %s language: %s" @@ -672,7 +672,7 @@ JLIB_MAIL_FUNCTION_OFFLINE="The mail function has been disabled by an administra JLIB_MAIL_INVALID_EMAIL_SENDER="JMail: : Invalid email Sender: %s, JMail: :setSender(%s)." JLIB_MEDIA_ERROR_UPLOAD_INPUT="Unable to upload file." -JLIB_MEDIA_ERROR_WARNFILENAME="File name must only contain alphanumeric characters and no spaces." +JLIB_MEDIA_ERROR_WARNFILENAME="File name must only have alphanumeric characters and no spaces." JLIB_MEDIA_ERROR_WARNFILETOOLARGE="This file is too large to upload." JLIB_MEDIA_ERROR_WARNFILETYPE="This file type is not supported." JLIB_MEDIA_ERROR_WARNIEXSS="Possible IE XSS Attack found." diff --git a/administrator/language/en-GB/en-GB.mod_logged.ini b/administrator/language/en-GB/en-GB.mod_logged.ini index 9c157929f1793..feb38d336d420 100644 --- a/administrator/language/en-GB/en-GB.mod_logged.ini +++ b/administrator/language/en-GB/en-GB.mod_logged.ini @@ -17,4 +17,4 @@ MOD_LOGGED_SITE="Site" MOD_LOGGED_TITLE="Last Logged-in Users" MOD_LOGGED_TITLE_1="Last Logged-in User" MOD_LOGGED_TITLE_MORE="Last %s Logged-in Users" -MOD_LOGGED_XML_DESCRIPTION="This module shows a list of the currently Logged-in Users." +MOD_LOGGED_XML_DESCRIPTION="This module shows a list of the Logged-in Users." diff --git a/administrator/language/en-GB/en-GB.mod_logged.sys.ini b/administrator/language/en-GB/en-GB.mod_logged.sys.ini index 2055bc4c3ca79..da1a83315c7d5 100644 --- a/administrator/language/en-GB/en-GB.mod_logged.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_logged.sys.ini @@ -5,6 +5,6 @@ MOD_LOGGED="Logged-in Users" -MOD_LOGGED_XML_DESCRIPTION="This module shows a list of the currently Logged-in Users." +MOD_LOGGED_XML_DESCRIPTION="This module shows a list of the Logged-in Users." MOD_LOGGED_LAYOUT_DEFAULT="Default" diff --git a/administrator/language/en-GB/en-GB.mod_menu.ini b/administrator/language/en-GB/en-GB.mod_menu.ini index 347ba20bfdd96..df62a5794cc8b 100644 --- a/administrator/language/en-GB/en-GB.mod_menu.ini +++ b/administrator/language/en-GB/en-GB.mod_menu.ini @@ -64,7 +64,7 @@ MOD_MENU_HELP_RESOURCES="Joomla! Resources" MOD_MENU_HELP_SECURITY="Security Centre" MOD_MENU_HELP_SHOP="Joomla! Shop" MOD_MENU_HELP_SUPPORT_OFFICIAL_FORUM="Official Support Forum" -; the string below will be used if the localised sample data contains a URL for the desired community forum or if the 'Custom Support Forum' field parameter in the Administrator Menu module contains a URL +; the string below will be used if the localised sample data has a URL for the desired community forum or if the 'Custom Support Forum' field parameter in the Administrator Menu module has a URL MOD_MENU_HELP_SUPPORT_CUSTOM_FORUM="Custom Support Forum" ; Enter in the string below the # of the specific language forum in https://forum.joomla.org/ (example: 19 for French). If left empty, it will use '511' which is the section for all languages forums. MOD_MENU_HELP_SUPPORT_OFFICIAL_LANGUAGE_FORUM_VALUE="511" @@ -78,7 +78,7 @@ MOD_MENU_HOME_MULTIPLE="Warning! Multiple homes!" MOD_MENU_IMPORTANT_ITEM_MENU_MANAGER="Menu Manager" MOD_MENU_IMPORTANT_ITEM_MODULE_MANAGER="Module Manager" MOD_MENU_IMPORTANT_ITEM_COMPONENTS_CONTAINER="Components Container" -MOD_MENU_IMPORTANT_ITEMS_INACCESSIBLE_LIST_WARNING="The administrator menu <strong>%1$s</strong> does not contain - <strong>%2$s</strong>. Select to <strong><a href='%3$s'>turn on the menu recovery mode</a></strong>." +MOD_MENU_IMPORTANT_ITEMS_INACCESSIBLE_LIST_WARNING="The administrator menu <strong>%1$s</strong> does not have - <strong>%2$s</strong>. Select to <strong><a href='%3$s'>turn on the menu recovery mode</a></strong>." MOD_MENU_INSTALLER_SUBMENU_DATABASE="Database" MOD_MENU_INSTALLER_SUBMENU_DISCOVER="Discover" MOD_MENU_INSTALLER_SUBMENU_INSTALL="Install" diff --git a/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini b/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini index 36d33b4edf510..fc16bfe8527b4 100644 --- a/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini +++ b/administrator/language/en-GB/en-GB.plg_authentication_ldap.ini @@ -8,9 +8,9 @@ PLG_LDAP_FIELD_AUTHMETHOD_DESC="The authorisation method to validate the credent PLG_LDAP_FIELD_AUTHMETHOD_LABEL="Authorisation Method" PLG_LDAP_FIELD_BASEDN_DESC="The base DN of your LDAP server, eg o=example.com." PLG_LDAP_FIELD_BASEDN_LABEL="Base DN" -PLG_LDAP_FIELD_EMAIL_DESC="LDAP attribute which contains the User's email address." +PLG_LDAP_FIELD_EMAIL_DESC="LDAP attribute which has the User's email address." PLG_LDAP_FIELD_EMAIL_LABEL="Map: Email" -PLG_LDAP_FIELD_FULLNAME_DESC="LDAP attribute which contains the User's full name." +PLG_LDAP_FIELD_FULLNAME_DESC="LDAP attribute which has the User's full name." PLG_LDAP_FIELD_FULLNAME_LABEL="Map: Full Name" PLG_LDAP_FIELD_HOST_DESC="Eg: openldap.example.com." PLG_LDAP_FIELD_HOST_LABEL="Host" @@ -24,7 +24,7 @@ PLG_LDAP_FIELD_REFERRALS_DESC="This option sets the value of the LDAP_OPT_REFERR PLG_LDAP_FIELD_REFERRALS_LABEL="Follow Referrals" PLG_LDAP_FIELD_SEARCHSTRING_DESC="A query string used to search for a given User. The [search] keyword is dynamically replaced by the User-provided login. An example string is: uid=[search]. Several strings can be used separated by semicolons. Only used when searching." PLG_LDAP_FIELD_SEARCHSTRING_LABEL="Search String" -PLG_LDAP_FIELD_UID_DESC="LDAP Attribute which contains the User's Login ID. For Active Directory this is sAMAccountName." +PLG_LDAP_FIELD_UID_DESC="LDAP Attribute which has the User's Login ID. For Active Directory this is sAMAccountName." PLG_LDAP_FIELD_UID_LABEL="Map: User ID" PLG_LDAP_FIELD_USERNAME_DESC="The Connect Username and Connect Password define connection parameters for the DN lookup phase. Two options are available:- Anonymous DN lookup (leave both fields blank); Administrative connection: Connect Username is the username of an administrative account, for example Administrator. Connect password is the actual password of your administrative account." PLG_LDAP_FIELD_USERNAME_LABEL="Connect Username" diff --git a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini index 43c6ded35b89c..060bc6cd81487 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini @@ -5,7 +5,7 @@ PLG_CODEMIRROR_FIELD_ACTIVELINE_COLOR_DESC="The colour to use for highlighting the active line. Will be displayed at 50% opacity." PLG_CODEMIRROR_FIELD_ACTIVELINE_COLOR_LABEL="Active Line Colour" -PLG_CODEMIRROR_FIELD_ACTIVELINE_DESC="Adds a highlight to the line the cursor is currently on." +PLG_CODEMIRROR_FIELD_ACTIVELINE_DESC="Adds a highlight to the line the cursor is on." PLG_CODEMIRROR_FIELD_ACTIVELINE_LABEL="Highlight Active Line" PLG_CODEMIRROR_FIELD_AUTOCLOSEBRACKET_DESC="Automatic bracket completion." PLG_CODEMIRROR_FIELD_AUTOCLOSEBRACKET_LABEL="Bracket Completion" @@ -37,7 +37,7 @@ PLG_CODEMIRROR_FIELD_MATCHBRACKETS_DESC="Highlight matching brackets." PLG_CODEMIRROR_FIELD_MATCHBRACKETS_LABEL="Match Brackets" PLG_CODEMIRROR_FIELD_MATCHTAGS_DESC="Highlight matching tags." PLG_CODEMIRROR_FIELD_MATCHTAGS_LABEL="Match Tags" -PLG_CODEMIRROR_FIELD_SELECTIONMATCHES_DESC="Highlight instances of the currently selected word throughout the document." +PLG_CODEMIRROR_FIELD_SELECTIONMATCHES_DESC="Highlight instances of the selected word throughout the document." PLG_CODEMIRROR_FIELD_SELECTIONMATCHES_LABEL="Highlight Selection Matches" PLG_CODEMIRROR_FIELD_THEME_DESC="Sets the colours for the editor." PLG_CODEMIRROR_FIELD_THEME_LABEL="Theme" diff --git a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini index 65c570bd7c3c8..34d06d261c4bf 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini @@ -32,7 +32,7 @@ PLG_TINY_FIELD_CUSTOMPLUGIN_DESC="Add custom plugin(s)." PLG_TINY_FIELD_CUSTOMPLUGIN_LABEL="Custom Plugin" PLG_TINY_FIELD_CUSTOM_CSS_DESC="Optional CSS file that will override the standard editor.css file. Enter a file name to point to a file in the CSS folder of the default template (for example, templates/beez3/css/). Or enter a full URL path to the custom CSS file. If you enter a value in this field, this file will be used instead of the editor.css file." PLG_TINY_FIELD_CUSTOM_CSS_LABEL="Custom CSS Classes" -PLG_TINY_FIELD_CUSTOM_PATH_DESC="The directory containing the image files to be listed relative to the default image folder (set in Media > Options)." +PLG_TINY_FIELD_CUSTOM_PATH_DESC="The directory with the image files to be listed relative to the default image folder (set in Media > Options)." PLG_TINY_FIELD_CUSTOM_PATH_LABEL="Images Directory" PLG_TINY_FIELD_DATE_DESC="Show or hide the Insert Date button." PLG_TINY_FIELD_DATE_LABEL="Insert Date" @@ -56,7 +56,7 @@ PLG_TINY_FIELD_HTMLHEIGHT_DESC="Height of HTML editor. Only applies in Advanced PLG_TINY_FIELD_HTMLHEIGHT_LABEL="HTML Height" PLG_TINY_FIELD_HTMLWIDTH_DESC="Width of HTML editor. Should normally be left empty to let it flow. Only applies in Advanced and Extended mode." PLG_TINY_FIELD_HTMLWIDTH_LABEL="HTML Width" -PLG_TINY_FIELD_INLINEPOPUPS_DESC="All dialogs to open as floating div layers instead of popup windows. This option can be very useful in order to get around popup blockers." +PLG_TINY_FIELD_INLINEPOPUPS_DESC="All dialogs to open as floating div layers instead of popup windows. This option can be very useful to get around popup blockers." PLG_TINY_FIELD_INLINEPOPUPS_LABEL="Inline Popups" PLG_TINY_FIELD_LABEL_ADVANCEDPARAMS="Advanced" PLG_TINY_FIELD_LANGCODE_DESC="Editor UI Language. The value will be used if Automatic language is not set." @@ -111,7 +111,7 @@ PLG_TINY_FIELD_TEMPLATE_DESC="Show or hide the Insert predefined template conten PLG_TINY_FIELD_TEMPLATE_LABEL="Template" PLG_TINY_FIELD_URLS_DESC="URL behaviour." PLG_TINY_FIELD_URLS_LABEL="URLs" -PLG_TINY_FIELD_VALIDELEMENTS_DESC="Defines which elements will remain in the edited text when the editor saves (the default rule set for this option is a mixture of the full HTML5 and HTML4 specification)." +PLG_TINY_FIELD_VALIDELEMENTS_DESC="Defines which elements will stay in the edited text when the editor saves (the default rule set for this option is a mixture of the full HTML5 and HTML4 specification)." PLG_TINY_FIELD_VALIDELEMENTS_LABEL="Valid Elements" PLG_TINY_FIELD_VALUE_ABSOLUTE="Absolute" PLG_TINY_FIELD_VALUE_ADVANCED="Advanced" diff --git a/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini b/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini index 08355323e0b66..54979dc4657a8 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_imagelist.ini @@ -5,7 +5,7 @@ PLG_FIELDS_IMAGELIST="Fields - Imagelist" PLG_FIELDS_IMAGELIST_LABEL="List of Images (%s)" -PLG_FIELDS_IMAGELIST_PARAMS_DIRECTORY_DESC="The directory containing the image files to be listed relative to the default image folder (set in Media > Options)." +PLG_FIELDS_IMAGELIST_PARAMS_DIRECTORY_DESC="The directory with the image files to be listed relative to the default image folder (set in Media > Options)." PLG_FIELDS_IMAGELIST_PARAMS_DIRECTORY_LABEL="Directory" PLG_FIELDS_IMAGELIST_PARAMS_IMAGE_CLASS_DESC="The class which is added to the image (src tag)." PLG_FIELDS_IMAGELIST_PARAMS_IMAGE_CLASS_LABEL="Image Class" diff --git a/administrator/language/en-GB/en-GB.plg_fields_media.ini b/administrator/language/en-GB/en-GB.plg_fields_media.ini index 34cc78952f093..8047cdc0858e6 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_media.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_media.ini @@ -5,7 +5,7 @@ PLG_FIELDS_MEDIA="Fields - Media" PLG_FIELDS_MEDIA_LABEL="Media (%s)" -PLG_FIELDS_MEDIA_PARAMS_DIRECTORY_DESC="The directory containing the image files to be listed relative to the default image folder (set in Media > Options)." +PLG_FIELDS_MEDIA_PARAMS_DIRECTORY_DESC="The directory with the image files to be listed relative to the default image folder (set in Media > Options)." PLG_FIELDS_MEDIA_PARAMS_DIRECTORY_LABEL="Directory" PLG_FIELDS_MEDIA_PARAMS_IMAGE_CLASS_DESC="The class which is added to the image (src tag)." PLG_FIELDS_MEDIA_PARAMS_IMAGE_CLASS_LABEL="Image Class" diff --git a/administrator/language/en-GB/en-GB.plg_fields_sql.ini b/administrator/language/en-GB/en-GB.plg_fields_sql.ini index 2bee0c6f47be7..0ca95c90204ba 100644 --- a/administrator/language/en-GB/en-GB.plg_fields_sql.ini +++ b/administrator/language/en-GB/en-GB.plg_fields_sql.ini @@ -9,7 +9,7 @@ PLG_FIELDS_SQL_LABEL="SQL (%s)" PLG_FIELDS_SQL_PARAMS_MULTIPLE_DESC="Allow multiple values to be selected." PLG_FIELDS_SQL_PARAMS_MULTIPLE_LABEL="Multiple" ; In the string below the terms 'value' and 'text' should not be translated -PLG_FIELDS_SQL_PARAMS_QUERY_DESC="The SQL query which will provide the data for the dropdown list. The query must return two columns; one called 'value' which will hold the values of the list items; the other called 'text' containing the text in the dropdown list." +PLG_FIELDS_SQL_PARAMS_QUERY_DESC="The SQL query which will provide the data for the dropdown list. The query must return two columns; one called 'value' which will hold the values of the list items; the other called 'text' with the text in the dropdown list." PLG_FIELDS_SQL_PARAMS_QUERY_LABEL="Query" PLG_FIELDS_SQL_RULES_ADAPTED="For increased security the edit permission for this SQL field was set to denied for all non Super Users." PLG_FIELDS_SQL_XML_DESCRIPTION="This plugin lets you create new fields of type 'sql' in any extensions where custom fields are supported." diff --git a/administrator/language/en-GB/en-GB.plg_system_cache.ini b/administrator/language/en-GB/en-GB.plg_system_cache.ini index 5f38760d1a665..91daea815a0bb 100644 --- a/administrator/language/en-GB/en-GB.plg_system_cache.ini +++ b/administrator/language/en-GB/en-GB.plg_system_cache.ini @@ -5,7 +5,7 @@ PLG_CACHE_FIELD_BROWSERCACHE_DESC="If yes, use mechanism for storing page cache in the browser." PLG_CACHE_FIELD_BROWSERCACHE_LABEL="Use Browser Caching" -PLG_CACHE_FIELD_EXCLUDE_DESC="Specify which URLs you want to exclude from caching, each on a separate line. Regular expressions are supported, eg. <br /><strong>about\-[a-z]+</strong> - will exclude all URLs that contain 'about-', for example 'about-us', 'about-me', 'about-joomla' etc.<br /><strong>\/component\/users\/</strong> - will exclude all URLs that contain /component/users/" +PLG_CACHE_FIELD_EXCLUDE_DESC="Specify which URLs you want to exclude from caching, each on a separate line. Regular expressions are supported, eg. <br /><strong>about\-[a-z]+</strong> - will exclude all URLs that have 'about-', for example 'about-us', 'about-me', 'about-joomla' etc.<br /><strong>\/component\/users\/</strong> - will exclude all URLs that have /component/users/" PLG_CACHE_FIELD_EXCLUDE_LABEL="Exclude URLs" PLG_CACHE_FIELD_EXCLUDE_MENU_ITEMS_DESC="Select which menu items you want to exclude from caching." PLG_CACHE_FIELD_EXCLUDE_MENU_ITEMS_LABEL="Exclude Menu Items" diff --git a/administrator/language/en-GB/en-GB.plg_system_debug.ini b/administrator/language/en-GB/en-GB.plg_system_debug.ini index b9610b56eb930..b626d0d91f58e 100644 --- a/administrator/language/en-GB/en-GB.plg_system_debug.ini +++ b/administrator/language/en-GB/en-GB.plg_system_debug.ini @@ -102,5 +102,5 @@ PLG_DEBUG_WARNING_NO_INDEX="NO INDEX KEY COULD BE USED" PLG_DEBUG_WARNING_NO_INDEX_DESC="This table probably has a missing index on WHERE equalities and/or JOIN ON column(s) or is written in a way that no index can be used, causing a time-consuming full table scan." PLG_DEBUG_WARNING_USING_FILESORT="Using filesort" PLG_DEBUG_WARNING_USING_FILESORT_DESC="This table probably has a missing index on WHERE/ON equality column(s) ending by the ORDER BY column(s) or is written in a way that no index can be used, causing a time-consuming filesort." -PLG_DEBUG_XML_DESCRIPTION="This plugin provides a variety of system information as well as assistance for the creation of translation files." +PLG_DEBUG_XML_DESCRIPTION="This plugin provides a variety of system information as well as help for the creation of translation files." PLG_SYSTEM_DEBUG="System - Debug" diff --git a/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini b/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini index 41d1563ae5dde..0df8832981b34 100644 --- a/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_system_debug.sys.ini @@ -3,5 +3,5 @@ ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 -PLG_DEBUG_XML_DESCRIPTION="This plugin provides a variety of system information and assistance for the creation of translation files." +PLG_DEBUG_XML_DESCRIPTION="This plugin provides a variety of system information and help for the creation of translation files." PLG_SYSTEM_DEBUG="System - Debug" diff --git a/administrator/language/en-GB/en-GB.plg_system_stats.ini b/administrator/language/en-GB/en-GB.plg_system_stats.ini index 8710bba97d62e..e1b5b48374895 100644 --- a/administrator/language/en-GB/en-GB.plg_system_stats.ini +++ b/administrator/language/en-GB/en-GB.plg_system_stats.ini @@ -25,7 +25,7 @@ PLG_SYSTEM_STATS_MODE_OPTION_ALWAYS_SEND="Always send" PLG_SYSTEM_STATS_MODE_OPTION_NEVER_SEND="Never send" PLG_SYSTEM_STATS_MODE_OPTION_ON_DEMAND="On demand" PLG_SYSTEM_STATS_MSG_ALLOW_SENDING_DATA="Enable Joomla Statistics?" -PLG_SYSTEM_STATS_MSG_JOOMLA_WANTS_TO_SEND_DATA="In order to better understand our install base and end user environments it is helpful if you send some site information back to a Joomla! controlled central server. No identifying data is captured at any point. You can change these settings later from Plugins > System - Joomla! Statistics." +PLG_SYSTEM_STATS_MSG_JOOMLA_WANTS_TO_SEND_DATA="To better understand our install base and end user environments it is helpful if you send some site information back to a Joomla! controlled central server. No identifying data is captured at any point. You can change these settings later from Plugins > System - Joomla! Statistics." PLG_SYSTEM_STATS_MSG_WHAT_DATA_WILL_BE_SENT="Select here to see the information that will be sent." PLG_SYSTEM_STATS_RESET_UNIQUE_ID="Reset Unique ID" PLG_SYSTEM_STATS_UNIQUE_ID_DESC="An identifier that allows the Joomla! project to count unique installs of the plugin. This is sent with the statistics back to the server." diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini index 7d0deb635d725..a71cac38671b2 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini @@ -32,5 +32,5 @@ PLG_TWOFACTORAUTH_TOTP_STEP2_RESET="If you want to change the key, disable the t PLG_TWOFACTORAUTH_TOTP_STEP2_TEXT="You will need to enter the following information to Google Authenticator or a compatible app." PLG_TWOFACTORAUTH_TOTP_STEP3_HEAD="Step 3 - Activate Two Factor Authentication" PLG_TWOFACTORAUTH_TOTP_STEP3_SECURITYCODE="Security Code" -PLG_TWOFACTORAUTH_TOTP_STEP3_TEXT="In order to verify that everything is set up properly, please enter the security code displayed in Google Authenticator in the field below and select the button. If the code is correct, the Two Factor Authentication feature will be enabled." +PLG_TWOFACTORAUTH_TOTP_STEP3_TEXT="To verify that everything is set up properly, please enter the security code displayed in Google Authenticator in the field below and select the button. If the code is correct, the Two Factor Authentication feature will be enabled." PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION="Allows users on your site to use two factor authentication using <a href="_QQ_"https://en.wikipedia.org/wiki/Google_Authenticator"_QQ_" target="_QQ_"_blank"_QQ_">Google Authenticator</a> or other compatible time-based One Time Password generators such as <a href="_QQ_"https://freeotp.github.io/"_QQ_" target="_QQ_"_blank"_QQ_">FreeOTP</a>. To use two factor authentication please edit the user profile and enable two factor authentication." diff --git a/administrator/language/en-GB/en-GB.plg_user_joomla.ini b/administrator/language/en-GB/en-GB.plg_user_joomla.ini index 9da47ca99cb22..32134929e354b 100644 --- a/administrator/language/en-GB/en-GB.plg_user_joomla.ini +++ b/administrator/language/en-GB/en-GB.plg_user_joomla.ini @@ -8,11 +8,11 @@ PLG_USER_JOOMLA_FIELD_AUTOREGISTER_DESC="Automatically create Registered Users w PLG_USER_JOOMLA_FIELD_AUTOREGISTER_LABEL="Auto-create Users" PLG_USER_JOOMLA_FIELD_FORCELOGOUT_DESC="Set to No to disable this." PLG_USER_JOOMLA_FIELD_FORCELOGOUT_LABEL="Force Logout for all Sessions?" -PLG_USER_JOOMLA_FIELD_MAILTOUSER_DESC="When an administrator creates a user account, this determines if an email, which contains their username and password, is sent to the user." +PLG_USER_JOOMLA_FIELD_MAILTOUSER_DESC="When an administrator creates a user account, this determines if an email, which has their username and password, is sent to the user." PLG_USER_JOOMLA_FIELD_MAILTOUSER_LABEL="Notification Mail to User" PLG_USER_JOOMLA_FIELD_STRONG_PASSWORDS_DESC="If set to yes, use the bcrypt encryption method if available in this version of PHP." PLG_USER_JOOMLA_FIELD_STRONG_PASSWORDS_LABEL="Strong Passwords" -PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY="Hello %s,\n\n\nYou have been added as a User to %s by an Administrator.\n\nThis email contains your username and password to log in to %s\n\nUsername: %s\nPassword: %s\n\n\nPlease do not respond to this message as it is automatically generated and is for information purposes only." +PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY="Hello %s,\n\n\nYou have been added as a User to %s by an Administrator.\n\nThis email has your username and password to log in to %s\n\nUsername: %s\nPassword: %s\n\n\nPlease do not respond to this message as it is automatically generated and is for information purposes only." PLG_USER_JOOMLA_NEW_USER_EMAIL_SUBJECT="New User Details" PLG_USER_JOOMLA_POSTINSTALL_STRONGPW_BTN="Enable Strong Password Encryption" PLG_USER_JOOMLA_POSTINSTALL_STRONGPW_TEXT="As a security feature, Joomla allows you to switch to strong password encryption.<br />To turn strong passwords on select the button below. Alternatively you can edit the User - Joomla plugin and change the strong password setting to On.<br />Before enabling you should verify that all third party registration/login, user management or bridge extensions installed on your site support this strong password encryption." diff --git a/administrator/language/en-GB/en-GB.tpl_hathor.ini b/administrator/language/en-GB/en-GB.tpl_hathor.ini index 430815f8f49a9..63b27730fbac6 100644 --- a/administrator/language/en-GB/en-GB.tpl_hathor.ini +++ b/administrator/language/en-GB/en-GB.tpl_hathor.ini @@ -24,7 +24,7 @@ TPL_HATHOR_LOGO_DESC="Select or upload a custom logo for the administrator templ TPL_HATHOR_LOGO_LABEL="Logo" TPL_HATHOR_MAIN_MENU="Main Menu" TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE="Information about the Hathor administrator template" -TPL_HATHOR_MESSAGE_POSTINSTALL_BODY="Currently the Hathor administrator template style is set as your personal or global default administrator template. Please note - any new features for Joomla will only be available with the Isis template. We recommend that you switch your default backend template style to Isis. You can do this by selecting the button below. This will only change the default setting for the administrator template, if you have access to it, as well as your personal default style, if necessary. It does not change the frontend template or any other user's settings." +TPL_HATHOR_MESSAGE_POSTINSTALL_BODY="The Hathor administrator template style is set as your personal or global default administrator template. Please note - any new features for Joomla will only be available with the Isis template. We recommend that you switch your default backend template style to Isis. You can do this by selecting the button below. This will only change the default setting for the administrator template, if you have access to it, as well as your personal default style, if necessary. It does not change the frontend template or any other user's settings." TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION="Set the default administrator template style to Isis" TPL_HATHOR_SHOW_SITE_NAME_DESC="Show the site name in the template header." TPL_HATHOR_SHOW_SITE_NAME_LABEL="Show Site Name" diff --git a/installation/language/en-GB/en-GB.ini b/installation/language/en-GB/en-GB.ini index 4d57bd828ea70..0818662f0497c 100644 --- a/installation/language/en-GB/en-GB.ini +++ b/installation/language/en-GB/en-GB.ini @@ -21,7 +21,7 @@ INSTL_WARNJSON="Your PHP installation needs to have JSON enabled for Joomla to b INSTL_PRECHECK_TITLE="Pre-Installation Check" INSTL_PRECHECK_DESC="If any of these items are not supported (marked as <strong class="_QQ_"label label-important"_QQ_">No</strong>) then please take actions to correct them.<br />You can't install Joomla! until your setup meets the requirements below." INSTL_PRECHECK_RECOMMENDED_SETTINGS_TITLE="Recommended settings:" -INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="These settings are recommended for PHP in order to ensure full compatibility with Joomla.<br />However, Joomla! will still operate if your settings do not quite match the recommended configuration." +INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="These settings are recommended for PHP to ensure full compatibility with Joomla.<br />However, Joomla! will still operate if your settings do not quite match the recommended configuration." INSTL_PRECHECK_DIRECTIVE="Directive" INSTL_PRECHECK_RECOMMENDED="Recommended" INSTL_PRECHECK_ACTUAL="Actual" @@ -32,7 +32,7 @@ INSTL_DATABASE_ERROR_POSTGRESQL_QUERY="PostgreSQL database query failed." INSTL_DATABASE_HOST_DESC="This is usually "localhost" or a name provided by your host." INSTL_DATABASE_HOST_LABEL="Host Name" INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="We were not able to create the file. Please manually create a file named "%1$s" and upload it to the "%2$s" folder of your Joomla site." -INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="In order to confirm that you are the owner of this website please delete the file named "%1$s" we have created in the "%2$s" folder of your Joomla site." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="To confirm that you are the owner of this website please delete the file named "%1$s" we have created in the "%2$s" folder of your Joomla site." INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_GENERAL_MESSAGE="You are trying to use a database host which is not on your local server. For security reasons, you need to verify the ownership of your web hosting account. <a href="_QQ_"%s"_QQ_">Please read the documentation</a> for more information." INSTL_DATABASE_NAME_DESC="Some hosts allow only a certain DB name per site. Use table prefix in this case for distinct Joomla! sites." INSTL_DATABASE_NAME_LABEL="Database Name" @@ -41,7 +41,7 @@ INSTL_DATABASE_OLD_PROCESS_DESC=""Backup" or "Remove" any ex INSTL_DATABASE_OLD_PROCESS_LABEL="Old Database Process" INSTL_DATABASE_PASSWORD_DESC="For site security using a password for the database account is mandatory." INSTL_DATABASE_PASSWORD_LABEL="Password" -INSTL_DATABASE_PREFIX_DESC="Create a table prefix or use the randomly generated one. <strong>Ideally four or five characters long, it may only contain alphanumeric characters and MUST end in an underscore. Make sure that the prefix chosen is not already used by other tables</strong>." +INSTL_DATABASE_PREFIX_DESC="Create a table prefix or use the randomly generated one. <strong>Ideally four or five characters long, it may only have alphanumeric characters and MUST end in an underscore. Make sure that the prefix chosen is not already used by other tables</strong>." INSTL_DATABASE_PREFIX_LABEL="Table Prefix" INSTL_DATABASE_PREFIX_MSG="The table prefix must start with a letter, be followed by optional alphanumeric characters and by an underscore" INSTL_DATABASE_TYPE_DESC="This is probably "MySQLi"." @@ -53,7 +53,7 @@ INSTL_DATABASE_USER_LABEL="Username" ;FTP view INSTL_AUTOFIND_FTP_PATH="Autofind FTP Path" INSTL_FTP="FTP Configuration" -INSTL_FTP_DESC="<p>On some servers you may need to provide FTP credentials for installation to complete. If you have difficulties completing installation without these credentials, check with your host to determine if this is necessary. </p><p>For security reasons, it is best to create a separate FTP user account with access to the Joomla! installation only and not the entire web server. Your host can assist you with this.</p><p><b>Note:</b> If you are installing on a Windows Operating System, the FTP layer is <strong>not</strong> required.</p>" +INSTL_FTP_DESC="<p>On some servers you may need to provide FTP credentials for installation to complete. If you have difficulties completing installation without these credentials, check with your host to determine if this is necessary. </p><p>For security reasons, it is best to create a separate FTP user account with access to the Joomla! installation only and not the entire web server. Your host can help you with this.</p><p><b>Note:</b> If you are installing on a Windows Operating System, the FTP layer is <strong>not</strong> required.</p>" INSTL_FTP_ENABLE_LABEL="Enable FTP Layer" INSTL_FTP_HOST_LABEL="FTP Host" INSTL_FTP_PASSWORD_LABEL="FTP Password" @@ -79,7 +79,7 @@ INSTL_ADMIN_USER_DESC="Set the username for your Super User account." INSTL_SITE_NAME_LABEL="Site Name" INSTL_SITE_NAME_DESC="Enter the name of your Joomla! site." INSTL_SITE_METADESC_LABEL="Description" -INSTL_SITE_METADESC_TITLE_LABEL="Enter a description of the overall website that is to be used by search engines. Generally, a maximum of 20 words is optimal." +INSTL_SITE_METADESC_TITLE_LABEL="Enter a description of the overall website that is to be used by search engines. Generally, a maximum of 20 words is best." INSTL_SITE_OFFLINE_LABEL="Site Offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Set the site Frontend offline when installation is completed. The site can be set online later on through the Global Configuration." INSTL_SITE_INSTALL_SAMPLE_LABEL="Install Sample Data" @@ -176,7 +176,7 @@ INSTL_DEFAULTLANGUAGE_FRONTEND="Default Site language" INSTL_DEFAULTLANGUAGE_FRONTEND_COULDNT_SET_DEFAULT="Joomla was unable to set the language as default. English will be used as default language for the Frontend SITE." INSTL_DEFAULTLANGUAGE_FRONTEND_SET_DEFAULT="Joomla has set %s as your default SITE language." INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT="Install localised content" -INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT_DESC="If active, Joomla will automatically create one content category per each installed language. Also, one featured article containing dummy content will be created on each category." +INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT_DESC="If active, Joomla will automatically create one content category per each installed language. Also, one featured article with dummy content will be created on each category." INSTL_DEFAULTLANGUAGE_MULTILANGUAGE_TITLE="Multilingual" INSTL_DEFAULTLANGUAGE_MULTILANGUAGE_DESC="This section allows you to automatically activate the Joomla! multilingual feature." INSTL_DEFAULTLANGUAGE_TRY_LATER="You will be able to install it later using the Joomla! Administrator" @@ -205,9 +205,9 @@ INSTL_DATABASE_INVALID_SQLSRV_VERSION="You need SQL Server 2008 R2 (10.50.1600.1 INSTL_DATABASE_INVALID_SQLZURE_VERSION="You need SQL Server 2008 R2 (10.50.1600.1) or higher to continue the installation. Your version is: %s" INSTL_DATABASE_INVALID_TYPE="Please select the database type" INSTL_DATABASE_NAME_TOO_LONG="The MySQL database name must be a maximum of 64 characters." -INSTL_DATABASE_INVALID_NAME="MySQL versions previous to 5.1.6 may not contain periods or other "special" characters in the name. Your version is: %s" +INSTL_DATABASE_INVALID_NAME="MySQL versions previous to 5.1.6 may not have periods or other "special" characters in the name. Your version is: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL database names and table names may not begin or end with spaces." -INSTL_DATABASE_NAME_INVALID_CHAR="No MySQL identifier can contain a NULL ASCII(0x00)." +INSTL_DATABASE_NAME_INVALID_CHAR="No MySQL identifier can have a NULL ASCII(0x00)." INSTL_DATABASE_FILE_DOES_NOT_EXIST="File %s does not exist" ;controllers @@ -277,7 +277,7 @@ JGLOBAL_LANGUAGE_VERSION_NOT_PLATFORM="Language pack does not match this Joomla! JGLOBAL_SELECT_AN_OPTION="Select an option" JGLOBAL_SELECT_NO_RESULTS_MATCH="No results match" JGLOBAL_SELECT_SOME_OPTIONS="Select some options" -JINVALID_TOKEN="The most recent request was denied because it contained an invalid security token. Please refresh the page and try again." +JINVALID_TOKEN="The most recent request was denied because it had an invalid security token. Please refresh the page and try again." JNEXT="Next" JNO="No" JNOTICE="Notice" diff --git a/language/en-GB/en-GB.com_config.ini b/language/en-GB/en-GB.com_config.ini index 6c1b3dbbb6eca..ba1e1323a77f8 100644 --- a/language/en-GB/en-GB.com_config.ini +++ b/language/en-GB/en-GB.com_config.ini @@ -10,7 +10,7 @@ COM_CONFIG_FIELD_DEFAULT_ACCESS_LEVEL_DESC="Select the default access level for COM_CONFIG_FIELD_DEFAULT_ACCESS_LEVEL_LABEL="Default Access Level" COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_DESC="Sets the default length of lists in the Control Panel for all users." COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_LABEL="Default List Limit" -COM_CONFIG_FIELD_METADESC_DESC="Enter a description of the overall website that is to be used by search engines. Generally, a maximum of 20 words is optimal." +COM_CONFIG_FIELD_METADESC_DESC="Enter a description of the overall website that is to be used by search engines. Generally, a maximum of 20 words is best." COM_CONFIG_FIELD_METADESC_LABEL="Site Meta Description" COM_CONFIG_FIELD_METAKEYS_DESC="Enter the keywords and phrases that best describe your website. Separate keywords and phrases with a comma." COM_CONFIG_FIELD_METAKEYS_LABEL="Site Meta Keywords" diff --git a/language/en-GB/en-GB.com_contact.ini b/language/en-GB/en-GB.com_contact.ini index ddcbcd751d2fb..955ffce6cbc5b 100644 --- a/language/en-GB/en-GB.com_contact.ini +++ b/language/en-GB/en-GB.com_contact.ini @@ -31,7 +31,7 @@ COM_CONTACT_COUNTRY="Country" COM_CONTACT_DEFAULT_PAGE_TITLE="Contacts" COM_CONTACT_DETAILS="Contact" COM_CONTACT_DOWNLOAD_INFORMATION_AS="Download information as:" -COM_CONTACT_EMAIL_BANNEDTEXT="The %s of your email contains banned text." +COM_CONTACT_EMAIL_BANNEDTEXT="The %s of your email has banned text." COM_CONTACT_EMAIL_DESC="Email Address for contact." COM_CONTACT_EMAIL_FORM="Contact Form" COM_CONTACT_EMAIL_LABEL="Email" diff --git a/language/en-GB/en-GB.com_content.ini b/language/en-GB/en-GB.com_content.ini index 8a37f4a86c924..81be24831dc23 100644 --- a/language/en-GB/en-GB.com_content.ini +++ b/language/en-GB/en-GB.com_content.ini @@ -67,7 +67,7 @@ COM_CONTENT_MODIFIED_DATE="Modified Date" COM_CONTENT_MONTH="Month" COM_CONTENT_MORE_ARTICLES="More Articles ..." COM_CONTENT_NEW_ARTICLE="New Article" -COM_CONTENT_NO_ARTICLES="There are no articles in this category. If subcategories display on this page, they may contain articles." +COM_CONTENT_NO_ARTICLES="There are no articles in this category. If subcategories display on this page, they may have articles." COM_CONTENT_NONE="None" COM_CONTENT_NUM_ITEMS="Article Count:" COM_CONTENT_NUM_ITEMS_TIP="Article Count" diff --git a/language/en-GB/en-GB.com_finder.ini b/language/en-GB/en-GB.com_finder.ini index 66344b09708d0..aece658c955c4 100644 --- a/language/en-GB/en-GB.com_finder.ini +++ b/language/en-GB/en-GB.com_finder.ini @@ -5,7 +5,7 @@ COM_FINDER="Smart Search" COM_FINDER_ADVANCED_SEARCH_TOGGLE="Advanced Search" -COM_FINDER_ADVANCED_TIPS="<p>Here are a few examples of how you can use the search feature:</p><p>Entering <span class="_QQ_"term"_QQ_">this and that</span> into the search form will return results containing both "this" and "that".</p><p>Entering <span class="_QQ_"term"_QQ_">this not that</span> into the search form will return results containing "this" and not "that".</p><p>Entering <span class="_QQ_"term"_QQ_">this or that</span> into the search form will return results containing either "this" or "that".</p><p>Entering <span class="_QQ_"term"_QQ_">"this and that"</span> (with quotes) into the search form will return results containing the exact phrase "this and that".</p><p>Search results can also be filtered using a variety of criteria. Select one or more filters below to get started.</p>" +COM_FINDER_ADVANCED_TIPS="<p>Here are a few examples of how you can use the search feature:</p><p>Entering <span class="_QQ_"term"_QQ_">this and that</span> into the search form will return results with both "this" and "that".</p><p>Entering <span class="_QQ_"term"_QQ_">this not that</span> into the search form will return results with "this" and not "that".</p><p>Entering <span class="_QQ_"term"_QQ_">this or that</span> into the search form will return results with either "this" or "that".</p><p>Entering <span class="_QQ_"term"_QQ_">"this and that"</span> (with quotes) into the search form will return results with the exact phrase "this and that".</p><p>Search results can also be filtered using a variety of criteria. Select one or more filters below to get started.</p>" COM_FINDER_DEFAULT_PAGE_TITLE="Search Results" COM_FINDER_FILTER_BRANCH_LABEL="Search by %s" COM_FINDER_FILTER_DATE_BEFORE="Before" diff --git a/language/en-GB/en-GB.com_media.ini b/language/en-GB/en-GB.com_media.ini index d3ab9378a93ae..4fa7ed1771fdc 100644 --- a/language/en-GB/en-GB.com_media.ini +++ b/language/en-GB/en-GB.com_media.ini @@ -20,16 +20,16 @@ COM_MEDIA_DIRECTORY="Folder" COM_MEDIA_DIRECTORY_UP="Folder Up" COM_MEDIA_ERROR_BAD_REQUEST="Bad Request" COM_MEDIA_ERROR_FILE_EXISTS="File already exists." -COM_MEDIA_ERROR_UNABLE_TO_CREATE_FOLDER_WARNDIRNAME="Unable to create folder. Folder name must only contain alphanumeric characters and no spaces." -COM_MEDIA_ERROR_UNABLE_TO_BROWSE_FOLDER_WARNDIRNAME="Unable to browse: %s. Folder name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_CREATE_FOLDER_WARNDIRNAME="Unable to create folder. Folder name must only have alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_BROWSE_FOLDER_WARNDIRNAME="Unable to browse: %s. Folder name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_DELETE=" Unable to delete: " -COM_MEDIA_ERROR_UNABLE_TO_DELETE_FILE_WARNFILENAME="Unable to delete: %s. File name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_DELETE_FILE_WARNFILENAME="Unable to delete: %s. File name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_DELETE_FOLDER_NOT_EMPTY="Unable to delete: %s. Folder is not empty!" -COM_MEDIA_ERROR_UNABLE_TO_DELETE_FOLDER_WARNDIRNAME="Unable to delete: %s. Folder name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_UNABLE_TO_DELETE_FOLDER_WARNDIRNAME="Unable to delete: %s. Folder name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file." COM_MEDIA_ERROR_WARNFILETOOLARGE="This file is too large to upload." COM_MEDIA_ERROR_WARNUPLOADTOOLARGE="Total size of upload exceeds the limit." -COM_MEDIA_FIELD_CHECK_MIME_DESC="Use MIME Magic or Fileinfo to attempt to verify files. Try disabling this if you get invalid mime type errors." +COM_MEDIA_FIELD_CHECK_MIME_DESC="Use MIME Magic or Fileinfo to try to verify files. Try disabling this if you get invalid mime type errors." COM_MEDIA_FIELD_CHECK_MIME_LABEL="Check MIME Types" COM_MEDIA_FIELD_IGNORED_EXTENSIONS_DESC="Ignored file extensions for MIME type checking and restricted uploads." COM_MEDIA_FIELD_IGNORED_EXTENSIONS_LABEL="Ignored Extensions" diff --git a/language/en-GB/en-GB.com_users.ini b/language/en-GB/en-GB.com_users.ini index 7a61c1566e322..0fed26601179c 100644 --- a/language/en-GB/en-GB.com_users.ini +++ b/language/en-GB/en-GB.com_users.ini @@ -11,11 +11,11 @@ COM_USERS_DESIRED_PASSWORD="Enter your desired password." COM_USERS_DESIRED_USERNAME="Enter your desired username." COM_USERS_EDIT_PROFILE="Edit Profile" COM_USERS_EMAIL_ACCOUNT_DETAILS="Account Details for %s at %s" -COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY="Hello administrator,\n\nA new user has registered at %s.\nThe user has verified their email address and requests that you approve their account.\nThis email contains their details:\n\n Name : %s \n email: %s \n Username: %s \n\nYou can activate the user by selecting on the link below:\n %s \n" +COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY="Hello administrator,\n\nA new user has registered at %s.\nThe user has verified their email address and requests that you approve their account.\nThis email has their details:\n\n Name : %s \n email: %s \n Username: %s \n\nYou can activate the user by selecting on the link below:\n %s \n" COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT="Registration approval required for account of %s at %s" COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY="Hello %s,\n\nYour account has been activated by an administrator. You can now login at %s using the username %s and the password you chose while registering." COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT="Account activated for %s at %s" -COM_USERS_EMAIL_PASSWORD_RESET_BODY="Hello,\n\nA request has been made to reset your %s account password. To reset your password, you will need to submit this verification code in order to verify that the request was legitimate.\n\nThe verification code is %s\n\nSelect the URL below and proceed with resetting your password.\n\n %s \n\nThank you." +COM_USERS_EMAIL_PASSWORD_RESET_BODY="Hello,\n\nA request has been made to reset your %s account password. To reset your password, you will need to submit this verification code to verify that the request was legitimate.\n\nThe verification code is %s\n\nSelect the URL below and proceed with resetting your password.\n\n %s \n\nThank you." COM_USERS_EMAIL_PASSWORD_RESET_SUBJECT="Your %s password reset request" COM_USERS_EMAIL_REGISTERED_BODY="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the following username and password:\n\nUsername: %s\nPassword: %s" COM_USERS_EMAIL_REGISTERED_BODY_NOPW="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the username and password you registered with." @@ -48,17 +48,17 @@ COM_USERS_LOGIN_REMIND="Forgot your username?" COM_USERS_LOGIN_RESET="Forgot your password?" COM_USERS_LOGIN_USERNAME_LABEL="Username" COM_USERS_MAIL_FAILED="Failed sending email." -COM_USERS_MAIL_SEND_FAILURE_BODY="An error was encountered when sending the user registration email. The error is: %s The user who attempted to register is: %s" +COM_USERS_MAIL_SEND_FAILURE_BODY="An error was encountered when sending the user registration email. The error is: %s The user who tried to register is: %s" COM_USERS_MAIL_SEND_FAILURE_SUBJECT="Error sending email" -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not contain enough digits. At least %s digits are required." -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not contain enough digits. At least 1 digit is required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not contain enough symbols. At least %s symbols are required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not contain enough symbols. At least 1 symbol is required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not contain enough uppercase characters. At least %s upper case characters are required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not contain enough uppercase characters. At least 1 upper case character is required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not have enough digits. At least %s digits are required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not have enough digits. At least 1 digit is required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not have enough symbols. At least %s symbols are required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not have enough symbols. At least 1 symbol is required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not have enough uppercase characters. At least %s upper case characters are required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not have enough uppercase characters. At least 1 upper case character is required." COM_USERS_MSG_PASSWORD_TOO_LONG="Password is too long. Passwords must be less than 100 characters." COM_USERS_MSG_PASSWORD_TOO_SHORT_N="Password is too short. Passwords must have at least %s characters." -COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not contain spaces." +COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not have spaces." COM_USERS_OPTIONAL="(optional)" COM_USERS_OR="or" COM_USERS_PROFILE="User Profile" @@ -80,7 +80,7 @@ COM_USERS_PROFILE_NEVER_VISITED="This is the first time you visit this site" COM_USERS_PROFILE_NOCHANGE_USERNAME_DESC="If you want to change your username, please contact a site administrator." COM_USERS_PROFILE_OTEPS="One time emergency passwords" COM_USERS_PROFILE_OTEPS_DESC="If you do not have access to your two factor authentication device you can use any of the following passwords instead of a regular security code. Each one of these emergency passwords is immediately destroyed upon use. We recommend printing these passwords out and keeping the printout in a safe and accessible location, eg your wallet or a safety deposit box." -COM_USERS_PROFILE_OTEPS_WAIT_DESC="There are currently no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." +COM_USERS_PROFILE_OTEPS_WAIT_DESC="There are no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." COM_USERS_PROFILE_PASSWORD1_LABEL="Password" COM_USERS_PROFILE_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." COM_USERS_PROFILE_PASSWORD2_DESC="Confirm your password." @@ -142,7 +142,7 @@ COM_USERS_RESET_COMPLETE_LABEL="To complete the password reset process, please e COM_USERS_RESET_COMPLETE_SUCCESS="Reset password successful. You may now login to the site." COM_USERS_RESET_CONFIRM_ERROR="Error while confirming the password." COM_USERS_RESET_CONFIRM_FAILED="Your password reset confirmation failed because the verification code was invalid. %s" -COM_USERS_RESET_CONFIRM_LABEL="An email has been sent to your email address. The email contains a verification code, please paste the verification code in the field below to prove that you are the owner of this account." +COM_USERS_RESET_CONFIRM_LABEL="An email has been sent to your email address. The email has a verification code, please paste the verification code in the field below to prove that you are the owner of this account." COM_USERS_RESET_COMPLETE_TOKENS_MISSING="Your password reset confirmation failed because the verification code was missing." COM_USERS_RESET_REQUEST_ERROR="Error requesting password reset." COM_USERS_RESET_REQUEST_FAILED="Reset password failed: %s" diff --git a/language/en-GB/en-GB.com_weblinks.ini b/language/en-GB/en-GB.com_weblinks.ini index 2812ff131e27a..95e7c35a7ec72 100644 --- a/language/en-GB/en-GB.com_weblinks.ini +++ b/language/en-GB/en-GB.com_weblinks.ini @@ -11,7 +11,7 @@ COM_WEBLINKS_DEFAULT_PAGE_TITLE="Web Links" COM_WEBLINKS_EDIT="Edit Web link" COM_WEBLINKS_ERR_TABLES_NAME="There is already a Web Link with that name in this category. Please try again." COM_WEBLINKS_ERR_TABLES_PROVIDE_URL="Please provide a valid URL" -COM_WEBLINKS_ERR_TABLES_TITLE="Your Web Link must contain a title." +COM_WEBLINKS_ERR_TABLES_TITLE="Your Web Link must have a title." COM_WEBLINKS_ERROR_CATEGORY_NOT_FOUND="Web Link category not found." COM_WEBLINKS_ERROR_UNIQUE_ALIAS="Another Web Link from this category has the same alias (remember it may be a trashed item)." COM_WEBLINKS_ERROR_WEBLINK_NOT_FOUND="Web Link not found." diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index e56856874ab4b..288f825f27e6d 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -67,7 +67,7 @@ JEXPIRED="Expired" JFALSE="False" JFEATURED="Featured" JHIDE="Hide" -JINVALID_TOKEN="The most recent request was denied because it contained an invalid security token. Please refresh the page and try again." +JINVALID_TOKEN="The most recent request was denied because it had an invalid security token. Please refresh the page and try again." JINVALID_TOKEN_NOTICE="The security token did not match. The request was aborted to prevent any security breach. Please try again." JLOGIN="Log in" JLOGOUT="Log out" @@ -138,7 +138,7 @@ JERROR_LOADING_MENUS="Error loading Menus: %s" JERROR_LOGIN_DENIED="You can't access the private section of this site." JERROR_NOLOGIN_BLOCKED="Login denied! Your account has either been blocked or you have not activated it yet." JERROR_PAGE_NOT_FOUND="Page not found" -JERROR_SESSION_STARTUP="Error initialising the session." +JERROR_SESSION_STARTUP="Error starting the session." JERROR_TABLE_BIND_FAILED="hmm %s ..." JERROR_USERS_PROFILE_NOT_FOUND="User profile not found" diff --git a/language/en-GB/en-GB.lib_joomla.ini b/language/en-GB/en-GB.lib_joomla.ini index d98639f06e1dd..7d25468d1b213 100644 --- a/language/en-GB/en-GB.lib_joomla.ini +++ b/language/en-GB/en-GB.lib_joomla.ini @@ -50,7 +50,7 @@ JLIB_APPLICATION_ERROR_TABLE_NAME_NOT_SUPPORTED="Table %s not supported. File no JLIB_APPLICATION_ERROR_TASK_NOT_FOUND="Task [%s] not found." JLIB_APPLICATION_ERROR_UNHELD_ID="You are not permitted to use that link to directly access that page (#%d)." JLIB_APPLICATION_ERROR_VIEW_CLASS_NOT_FOUND="View class not found [class, file]: %1$s, %2$s" -JLIB_APPLICATION_ERROR_VIEW_GET_NAME_SUBSTRING="JView: :getName() : Your classname contains the substring 'view'. This causes problems when extracting the classname from the name of your objects view. Avoid Object names with the substring 'view'." +JLIB_APPLICATION_ERROR_VIEW_GET_NAME_SUBSTRING="JView: :getName() : Your classname has the substring 'view'. This causes problems when extracting the classname from the name of your objects view. Avoid Object names with the substring 'view'." JLIB_APPLICATION_ERROR_VIEW_GET_NAME="JView: :getName() : Can't get or parse class name." JLIB_APPLICATION_ERROR_VIEW_NOT_FOUND="View not found [name, type, prefix]: %1$s, %2$s, %3$s" JLIB_APPLICATION_SAVE_SUCCESS="Item saved." @@ -193,7 +193,7 @@ JLIB_DATABASE_ERROR_MENU_DEFAULT_CHECKIN_USER_MISMATCH="The current home menu fo JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS="The alias <strong>%1$s</strong> is already being used by <strong>%2$s</strong> menu item in the <strong>%3$s</strong> menu (remember it may be a trashed item)." JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS_ROOT="Another menu item has the same alias in Root (remember it may be a trashed item). Root is the top level parent." JLIB_DATABASE_ERROR_MENU_HOME_NOT_COMPONENT="The home menu item must be a component." -JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU="A menu should contain only one Default home." +JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU="A menu should have only one Default home." JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT="A first level menu item alias can't be 'component'." JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_FOLDER="A first level menu item alias can't be '%s' because '%s' is a sub-folder of your joomla installation folder." JLIB_DATABASE_ERROR_MOVE_FAILED="%s: :move failed - %s" @@ -223,7 +223,7 @@ JLIB_DATABASE_ERROR_USERGROUP_TITLE_EXISTS="User group title already exists. Tit JLIB_DATABASE_ERROR_USERLEVEL_NAME_EXISTS="Level with the name "%s" already exists." JLIB_DATABASE_ERROR_USERNAME_CANNOT_CHANGE="Can't use this username." JLIB_DATABASE_ERROR_USERNAME_INUSE="Username in use." -JLIB_DATABASE_ERROR_VALID_AZ09="Please enter a valid username. No space at beginning or end, at least %d characters and must <strong>not</strong> contain the following characters: < > \ " ' % ; ( ) &." +JLIB_DATABASE_ERROR_VALID_AZ09="Please enter a valid username. No space at beginning or end, at least %d characters and must <strong>not</strong> have the following characters: < > \ " ' % ; ( ) &." JLIB_DATABASE_ERROR_VALID_MAIL="Please enter a valid email address." JLIB_DATABASE_ERROR_VIEWLEVEL="Viewlevel must have a title." JLIB_DATABASE_FUNCTION_NOERROR="DB function reports no errors." @@ -467,7 +467,7 @@ JLIB_INSTALLER_ABORT_COMP_INSTALL_PHP_UNINSTALL="Component Install: Could not co JLIB_INSTALLER_ABORT_COMP_INSTALL_ROLLBACK="Component Install: %s" JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR="Component Install: SQL error file %s" JLIB_INSTALLER_ABORT_COMP_UPDATESITEMENUS_FAILED="Component Install: Failed to update menu items." -JLIB_INSTALLER_ABORT_COMP_UPDATE_ADMIN_ELEMENT="Component Update: The XML file did not contain an administration element." +JLIB_INSTALLER_ABORT_COMP_UPDATE_ADMIN_ELEMENT="Component Update: The XML file did not have an administration element." JLIB_INSTALLER_ABORT_COMP_UPDATE_COPY_SETUP="Component Update: Could not copy setup file." JLIB_INSTALLER_ABORT_COMP_UPDATE_MANIFEST="Component Update: Could not copy PHP manifest file." JLIB_INSTALLER_ABORT_COMP_UPDATE_PHP_INSTALL="Component Update: Could not copy PHP install file." @@ -475,7 +475,7 @@ JLIB_INSTALLER_ABORT_COMP_UPDATE_PHP_UNINSTALL="Component Update: Could not copy JLIB_INSTALLER_ABORT_COMP_UPDATE_ROLLBACK="Component Update: %s" JLIB_INSTALLER_ABORT_COMP_UPDATE_SQL_ERROR="Component Update: SQL error file %s" JLIB_INSTALLER_ABORT_CREATE_DIRECTORY="Extension %1$s: Failed to create folder: %2$s" -JLIB_INSTALLER_ABORT_DEBUG="Installation unexpectedly terminated:" +JLIB_INSTALLER_ABORT_DEBUG="Installation unexpectedly stopped:" JLIB_INSTALLER_ABORT_DETECTMANIFEST="Unable to detect manifest file." JLIB_INSTALLER_ABORT_DIRECTORY="Extension %1$s: Another %2$s is already using the named folder: %3$s. Are you trying to install the same extension again?" JLIB_INSTALLER_ABORT_ERROR_DELETING_EXTENSIONS_RECORD="Could not delete the extension's record from the database." @@ -531,7 +531,7 @@ JLIB_INSTALLER_ABORT_PLG_INSTALL_NO_FILE="Plugin %s: No plugin file specified." JLIB_INSTALLER_ABORT_PLG_INSTALL_ROLLBACK="Plugin %1$s: %2$s" JLIB_INSTALLER_ABORT_PLG_INSTALL_SQL_ERROR="Plugin %1$s: SQL error file %2$s" JLIB_INSTALLER_ABORT_PLG_UNINSTALL_SQL_ERROR="Plugin Uninstall: SQL error file %s" -JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not currently installed." +JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not installed." JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE_VALID="Refresh Manifest Cache failed: Extension is not valid." JLIB_INSTALLER_ABORT_ROLLBACK="Extension %1$s: %2$s" JLIB_INSTALLER_ABORT_SQL_ERROR="Extension %1$s: SQL error processing query: %2$s" @@ -552,7 +552,7 @@ JLIB_INSTALLER_DISCOVER="Discover" JLIB_INSTALLER_ERROR_CANNOT_UNINSTALL_CHILD_OF_PACKAGE="The %s extension is part of a package which does not allow individual extensions to be uninstalled." JLIB_INSTALLER_ERROR_COMP_DISCOVER_STORE_DETAILS="Component Discover install: Failed to store component details." JLIB_INSTALLER_ERROR_COMP_FAILED_TO_CREATE_DIRECTORY="Component %1$s: Failed to create folder: %2$s." -JLIB_INSTALLER_ERROR_COMP_INSTALL_ADMIN_ELEMENT="Component Install: The XML file did not contain an administration element." +JLIB_INSTALLER_ERROR_COMP_INSTALL_ADMIN_ELEMENT="Component Install: The XML file did not have an administration element." JLIB_INSTALLER_ERROR_COMP_INSTALL_DIR_ADMIN="Component Install: Another component is already using folder: %s" JLIB_INSTALLER_ERROR_COMP_INSTALL_DIR_SITE="Component Install: Another component is already using folder: %s" JLIB_INSTALLER_ERROR_COMP_INSTALL_FAILED_TO_CREATE_DIRECTORY_ADMIN="Component Install: Failed to create administrator folder: %s" @@ -653,7 +653,7 @@ JLIB_INSTALLER_NOTICE_LANG_RESET_USERS_1="Language set to Default for %d user." JLIB_INSTALLER_UNINSTALL="Uninstall" JLIB_INSTALLER_UPDATE="Update" JLIB_INSTALLER_ERROR_EXTENSION_INVALID_CLIENT_IDENTIFIER="Invalid client identifier specified in extension manifest." -JLIB_INSTALLER_ERROR_PACK_UNINSTALL_UNKNOWN_EXTENSION="Attempting to uninstall unknown extension from package. This extension may have already been removed earlier." +JLIB_INSTALLER_ERROR_PACK_UNINSTALL_UNKNOWN_EXTENSION="Trying to uninstall unknown extension from package. This extension may have already been removed earlier." JLIB_INSTALLER_NOT_ERROR="If the error is related to the installation of TinyMCE language files it has no effect on the installation of the language(s). Some language packs created prior to Joomla! 3.2.0 may try to install separate TinyMCE language files. As these are now included in the core they no longer need to be installed." JLIB_INSTALLER_UPDATE_LOG_QUERY="Ran query from file %1$s. Query text: %2$s." JLIB_INSTALLER_WARNING_UNABLE_TO_INSTALL_CONTENT_LANGUAGE="Unable to create a content language for %s language: %s" @@ -672,7 +672,7 @@ JLIB_MAIL_FUNCTION_OFFLINE="The mail function has been disabled by an administra JLIB_MAIL_INVALID_EMAIL_SENDER="JMail: : Invalid email Sender: %s, JMail: :setSender(%s)." JLIB_MEDIA_ERROR_UPLOAD_INPUT="Unable to upload file." -JLIB_MEDIA_ERROR_WARNFILENAME="File name must only contain alphanumeric characters and no spaces." +JLIB_MEDIA_ERROR_WARNFILENAME="File name must only have alphanumeric characters and no spaces." JLIB_MEDIA_ERROR_WARNFILETOOLARGE="This file is too large to upload." JLIB_MEDIA_ERROR_WARNFILETYPE="This file type is not supported." JLIB_MEDIA_ERROR_WARNIEXSS="Possible IE XSS Attack found." diff --git a/language/en-GB/en-GB.mod_articles_archive.ini b/language/en-GB/en-GB.mod_articles_archive.ini index 9e382f9480e41..18f22eaf13d22 100644 --- a/language/en-GB/en-GB.mod_articles_archive.ini +++ b/language/en-GB/en-GB.mod_articles_archive.ini @@ -6,6 +6,6 @@ MOD_ARTICLES_ARCHIVE="Articles - Archived" MOD_ARTICLES_ARCHIVE_FIELD_COUNT_LABEL="# of Months" MOD_ARTICLES_ARCHIVE_FIELD_COUNT_DESC="The number of months to display (the default is 10)." -MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION="This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated." +MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION="This module shows a list of the calendar months with archived articles. After you have changed the status of an article to archived, this list will be automatically generated." MOD_ARTICLES_ARCHIVE_DATE="%1$s, %2$s" diff --git a/language/en-GB/en-GB.mod_articles_archive.sys.ini b/language/en-GB/en-GB.mod_articles_archive.sys.ini index 693c1bfb6fea9..08b9c2335b787 100644 --- a/language/en-GB/en-GB.mod_articles_archive.sys.ini +++ b/language/en-GB/en-GB.mod_articles_archive.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_ARTICLES_ARCHIVE="Articles - Archived" -MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION="This module shows a list of the calendar months containing Archived Articles. After you have changed the status of an Article to Archived, this list will be automatically generated." +MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION="This module shows a list of the calendar months with Archived Articles. After you have changed the status of an Article to Archived, this list will be automatically generated." MOD_ARTICLES_ARCHIVE_LAYOUT_DEFAULT="Default" diff --git a/language/en-GB/en-GB.mod_articles_category.ini b/language/en-GB/en-GB.mod_articles_category.ini index 2ddc21f71e06b..bdcce35170e3d 100644 --- a/language/en-GB/en-GB.mod_articles_category.ini +++ b/language/en-GB/en-GB.mod_articles_category.ini @@ -48,7 +48,7 @@ MOD_ARTICLES_CATEGORY_FIELD_INTROTEXTLIMIT_DESC="Please enter in a numeric chara MOD_ARTICLES_CATEGORY_FIELD_INTROTEXTLIMIT_LABEL="Introtext Limit" MOD_ARTICLES_CATEGORY_FIELD_LINKTITLES_LABEL="Linked Titles" MOD_ARTICLES_CATEGORY_FIELD_LINKTITLES_DESC="Linked titles." -MOD_ARTICLES_CATEGORY_FIELD_MODE_DESC="Please select the mode you would like to use. If Normal Mode is chosen, then configure the module and it will display a static list of Articles on the menu items you assign the module to. If Dynamic Mode is chosen, then you can still configure the module normally, however now the Category option will no longer be used. Instead, the module will dynamically detect if you are on a Category view and will display the list of articles within that Category accordingly. When Dynamic Mode is chosen, it is best to leave the module set to display on all pages, as it will decide to display anything dynamically." +MOD_ARTICLES_CATEGORY_FIELD_MODE_DESC="Please select the mode you would like to use. If Normal Mode is chosen, then configure the module and it will display a static list of Articles on the menu items you assign the module to. If Dynamic Mode is chosen, then you can still configure the module normally, however now the Category option will no longer be used. Instead, the module will dynamically detect if you are on a Category view and will display the list of articles within that Category. When Dynamic Mode is chosen, it is best to leave the module set to display on all pages, as it will decide to display anything dynamically." MOD_ARTICLES_CATEGORY_FIELD_MODE_LABEL="Mode" MOD_ARTICLES_CATEGORY_FIELD_MONTHYEARFORMAT_DESC="Please enter in a valid date format. See: http://php.net/date for formatting information." MOD_ARTICLES_CATEGORY_FIELD_MONTHYEARFORMAT_LABEL="Month and Year Display Format" diff --git a/language/en-GB/en-GB.mod_articles_latest.ini b/language/en-GB/en-GB.mod_articles_latest.ini index 2e7e161d37c14..6fbd643e29a35 100644 --- a/language/en-GB/en-GB.mod_articles_latest.ini +++ b/language/en-GB/en-GB.mod_articles_latest.ini @@ -7,7 +7,7 @@ MOD_ARTICLES_LATEST="Articles - Latest" MOD_LATEST_NEWS_FIELD_CATEGORY_DESC="Selects Articles from one or more Categories. If no selection will show all categories as default." MOD_LATEST_NEWS_FIELD_COUNT_DESC="The number of Articles to display (the default is 5)." MOD_LATEST_NEWS_FIELD_COUNT_LABEL="Count" -MOD_LATEST_NEWS_FIELD_FEATURED_DESC="Show or hide articles designated as featured." +MOD_LATEST_NEWS_FIELD_FEATURED_DESC="Show or hide articles marked as featured." MOD_LATEST_NEWS_FIELD_FEATURED_LABEL="Featured Articles" MOD_LATEST_NEWS_FIELD_ORDERING_DESC="Recently Added First: order the articles using their creation date<br />Recently Modified First: order the articles using their modification date<br />Recently Published First: order the articles using their publication date.<br />Recently Touched First: order the articles using their modification or creation dates." MOD_LATEST_NEWS_FIELD_ORDERING_LABEL="Order" diff --git a/language/en-GB/en-GB.mod_articles_news.ini b/language/en-GB/en-GB.mod_articles_news.ini index 747156f840a05..5c311cb9653d9 100644 --- a/language/en-GB/en-GB.mod_articles_news.ini +++ b/language/en-GB/en-GB.mod_articles_news.ini @@ -4,7 +4,7 @@ ; Note : All ini files need to be saved as UTF-8 MOD_ARTICLES_NEWS="Articles - Newsflash" -MOD_ARTICLES_NEWS_FIELD_FEATURED_DESC="Show or hide articles designated as featured." +MOD_ARTICLES_NEWS_FIELD_FEATURED_DESC="Show or hide articles marked as featured." MOD_ARTICLES_NEWS_FIELD_FEATURED_LABEL="Featured Articles" MOD_ARTICLES_NEWS_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default." MOD_ARTICLES_NEWS_FIELD_IMAGES_DESC="Display Article images." diff --git a/language/en-GB/en-GB.mod_articles_popular.ini b/language/en-GB/en-GB.mod_articles_popular.ini index e622948011c80..8e6e02c51bb44 100644 --- a/language/en-GB/en-GB.mod_articles_popular.ini +++ b/language/en-GB/en-GB.mod_articles_popular.ini @@ -7,9 +7,9 @@ MOD_ARTICLES_POPULAR="Articles - Most Read" MOD_POPULAR_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default." MOD_POPULAR_FIELD_COUNT_DESC="The number of Articles to display (the default is 5)." MOD_POPULAR_FIELD_COUNT_LABEL="Count" -MOD_POPULAR_FIELD_FEATURED_DESC="Show or hide Articles designated as Featured." +MOD_POPULAR_FIELD_FEATURED_DESC="Show or hide Articles marked as Featured." MOD_POPULAR_FIELD_FEATURED_LABEL="Featured Articles" -MOD_POPULAR_XML_DESCRIPTION="This module shows a list of the currently published Articles which have the highest number of page views." +MOD_POPULAR_XML_DESCRIPTION="This module shows a list of the published Articles which have the highest number of page views." MOD_POPULAR_FIELD_DATEFIELD_DESC="Select which date field you want the date filter to be applied to." MOD_POPULAR_FIELD_DATEFIELD_LABEL="Date Field" MOD_POPULAR_FIELD_DATEFILTERING_DESC="Select Date Filtering Type." diff --git a/language/en-GB/en-GB.mod_articles_popular.sys.ini b/language/en-GB/en-GB.mod_articles_popular.sys.ini index ca99edcfd84ed..29a69288014bb 100644 --- a/language/en-GB/en-GB.mod_articles_popular.sys.ini +++ b/language/en-GB/en-GB.mod_articles_popular.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_ARTICLES_POPULAR="Articles - Most Read" -MOD_POPULAR_XML_DESCRIPTION="This module shows a list of the currently published Articles which have the highest number of page views." +MOD_POPULAR_XML_DESCRIPTION="This module shows a list of the published Articles which have the highest number of page views." MOD_ARTICLES_POPULAR_LAYOUT_DEFAULT="Default" diff --git a/language/en-GB/en-GB.mod_languages.ini b/language/en-GB/en-GB.mod_languages.ini index ff3a33fdb3b5c..7d39b9f03fdd1 100644 --- a/language/en-GB/en-GB.mod_languages.ini +++ b/language/en-GB/en-GB.mod_languages.ini @@ -28,4 +28,4 @@ MOD_LANGUAGES_OPTION_DEFAULT_LANGUAGE="Default" MOD_LANGUAGES_SPACERDROP_LABEL="<u>If Use Dropdown is set to 'Yes', <br />the display options below will be ignored</u>" MOD_LANGUAGES_SPACERNAME_LABEL="<u>If Use Image Flags is set to 'Yes', <br />the display options below will be ignored</u>" MOD_LANGUAGES_SPACER_USENAME_LABEL="<u>As 'Use Dropdown' and 'Use Image Flags' have been set to 'No',<br /> the switcher will display language names.</u>" -MOD_LANGUAGES_XML_DESCRIPTION="This module displays a list of available Content Languages (as defined and published in Language Manager Content tab) for switching between them when you want to use Joomla! as a multilingual site. <br />--The plugin 'System - Language Filter' has to be enabled.--<br />When switching languages and if the item displayed in the page is not associated to another item, the module redirects to the Home page defined for the chosen language.<br />Otherwise, if the parameter is set for the Language filter plugin, it will redirect to the associated item in the language chosen. Thereafter, the navigation will be the one defined for that language. <br />If the plugin <strong>'System - Language Filter'</strong> is disabled, this may have unwanted results.<br /><strong>Method:</strong><br />1. Open Language Manager Content tab and make sure the Languages you want to use in contents are published and have a Language Code for the URL as well as prefix for the image used in the module display.<br />2. Create a Home page by assigning a language to a menu item and defining it as Default Home page for each published content language. <br />3. Thereafter, you can assign a language to any Article, Category, Module, News Feed, Web Links in Joomla.<br />4. Make sure the module is published and the plugin is enabled. <br />5. When using associated items, make sure the module is displayed on the pages concerned. <br />6. The way the flags or names of the languages are displayed is defined by the ordering in the Language Manager - Content Languages.<br ><br >If this module is published, it is suggested to publish the Administrator multilingual status module." +MOD_LANGUAGES_XML_DESCRIPTION="This module displays a list of available Content Languages (as defined and published in Language Manager Content tab) for switching between them when you want to use Joomla! as a multilingual site. <br />--The plugin 'System - Language Filter' has to be enabled.--<br />When switching languages and if the item displayed in the page is not associated to another item, the module redirects to the Home page defined for the chosen language.<br />Otherwise, if the parameter is set for the Language filter plugin, it will redirect to the associated item in the language chosen. Thereafter, the navigation will be the one defined for that language. <br />If the plugin <strong>'System - Language Filter'</strong> is disabled, this may have unwanted results.<br /><strong>Method:</strong><br />1. Open Language Manager Content tab and make sure the Languages you want to use in contents are published and have a Language Code for the URL as well as prefix for the image used in the module display.<br />2. Create a Home page by assigning a language to a menu item and defining it as Default Home page for each published content language. <br />3. Thereafter, you can assign a language to any Article, Category, Module, News Feed, Web Links in Joomla.<br />4. Make sure the module is published and the plugin is enabled. <br />5. When using associated items, make sure the module is displayed on the relevant pages. <br />6. The way the flags or names of the languages are displayed is defined by the ordering in the Language Manager - Content Languages.<br ><br >If this module is published, it is suggested to publish the Administrator multilingual status module." diff --git a/language/en-GB/en-GB.mod_languages.sys.ini b/language/en-GB/en-GB.mod_languages.sys.ini index 0482dd091963e..a3b8ed2db6a5d 100644 --- a/language/en-GB/en-GB.mod_languages.sys.ini +++ b/language/en-GB/en-GB.mod_languages.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_LANGUAGES="Language Switcher" -MOD_LANGUAGES_XML_DESCRIPTION="This module displays a list of available Content Languages (as defined and published in Language Manager Content tab) for switching between them when you want to use Joomla! as a multilingual site. <br />--The plugin 'System - Language Filter' has to be enabled.--<br />When switching languages and if the item displayed in the page is not associated to another item, the module redirects to the Home page defined for the chosen language.<br />Otherwise, if the parameter is set for the Language filter plugin, it will redirect to the associated item in the language chosen. Thereafter, the navigation will be the one defined for that language. <br />If the plugin <strong>'System - Language Filter'</strong> is disabled, this may have unwanted results.<br /><strong>Method:</strong><br />1. Open Language Manager Content tab and make sure the Languages you want to use in contents are published and have a Language Code for the URL as well as prefix for the image used in the module display.<br />2. Create a Home page by assigning a language to a menu item and defining it as Default Home page for each published content language. <br />3. Thereafter, you can assign a language to any Article, Category, Module, News Feed, Web Links in Joomla.<br />4. Make sure the module is published and the plugin is enabled. <br />5. When using associated items, make sure the module is displayed on the pages concerned. <br />6. The way the flags or names of the languages are displayed is defined by the ordering in the Language Manager - Content Languages.<br ><br >If this module is published, it is suggested to publish the Administrator multilingual status module." +MOD_LANGUAGES_XML_DESCRIPTION="This module displays a list of available Content Languages (as defined and published in Language Manager Content tab) for switching between them when you want to use Joomla! as a multilingual site. <br />--The plugin 'System - Language Filter' has to be enabled.--<br />When switching languages and if the item displayed in the page is not associated to another item, the module redirects to the Home page defined for the chosen language.<br />Otherwise, if the parameter is set for the Language filter plugin, it will redirect to the associated item in the language chosen. Thereafter, the navigation will be the one defined for that language. <br />If the plugin <strong>'System - Language Filter'</strong> is disabled, this may have unwanted results.<br /><strong>Method:</strong><br />1. Open Language Manager Content tab and make sure the Languages you want to use in contents are published and have a Language Code for the URL as well as prefix for the image used in the module display.<br />2. Create a Home page by assigning a language to a menu item and defining it as Default Home page for each published content language. <br />3. Thereafter, you can assign a language to any Article, Category, Module, News Feed, Web Links in Joomla.<br />4. Make sure the module is published and the plugin is enabled. <br />5. When using associated items, make sure the module is displayed on the relevant pages. <br />6. The way the flags or names of the languages are displayed is defined by the ordering in the Language Manager - Content Languages.<br ><br >If this module is published, it is suggested to publish the Administrator multilingual status module." MOD_LANGUAGES_LAYOUT_DEFAULT="Default" diff --git a/language/en-GB/en-GB.mod_login.ini b/language/en-GB/en-GB.mod_login.ini index e4dc1c8013cdc..c675d432658b1 100644 --- a/language/en-GB/en-GB.mod_login.ini +++ b/language/en-GB/en-GB.mod_login.ini @@ -6,9 +6,9 @@ MOD_LOGIN="Login" MOD_LOGIN_FIELD_GREETING_DESC="Show or hide the simple greeting text." MOD_LOGIN_FIELD_GREETING_LABEL="Show Greeting" -MOD_LOGIN_FIELD_LOGIN_REDIRECTURL_DESC="Select or create the page the user will be redirected to after a successful login. The default is to remain on the same page." +MOD_LOGIN_FIELD_LOGIN_REDIRECTURL_DESC="Select or create the page the user will be redirected to after a successful login. The default is to stay on the same page." MOD_LOGIN_FIELD_LOGIN_REDIRECTURL_LABEL="Login Redirection Page" -MOD_LOGIN_FIELD_LOGOUT_REDIRECTURL_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to remain on the same page." +MOD_LOGIN_FIELD_LOGOUT_REDIRECTURL_DESC="Select or create the page the user will be redirected to after ending their current session by logging out. The default is to stay on the same page." MOD_LOGIN_FIELD_LOGOUT_REDIRECTURL_LABEL="Logout Redirection Page" MOD_LOGIN_FIELD_NAME_DESC="Displays name or username after logging in." MOD_LOGIN_FIELD_NAME_LABEL="Show Name/Username" diff --git a/language/en-GB/en-GB.mod_menu.ini b/language/en-GB/en-GB.mod_menu.ini index 3cac4c4234bbe..856efd902c57e 100644 --- a/language/en-GB/en-GB.mod_menu.ini +++ b/language/en-GB/en-GB.mod_menu.ini @@ -4,7 +4,7 @@ ; Note : All ini files need to be saved as UTF-8 MOD_MENU="Menu" -MOD_MENU_FIELD_ACTIVE_DESC="Select a menu item to always be used as the base for the menu display. You must set the Start Level to the same level or higher than the level of the base item. This will cause the module to be displayed on all assigned pages. If Current is selected the currently active item is used as the base. This causes the module to only display when the parent menu item is active." +MOD_MENU_FIELD_ACTIVE_DESC="Select a menu item to always be used as the base for the menu display. You must set the Start Level to the same level or higher than the level of the base item. This will cause the module to be displayed on all assigned pages. If Current is selected the active item is used as the base. This causes the module to only display when the parent menu item is active." MOD_MENU_FIELD_ACTIVE_LABEL="Base Item" MOD_MENU_FIELD_ALLCHILDREN_DESC="Expand the menu and make its sub-menu items always visible." MOD_MENU_FIELD_ALLCHILDREN_LABEL="Show Sub-menu Items" diff --git a/language/en-GB/en-GB.mod_related_items.ini b/language/en-GB/en-GB.mod_related_items.ini index 3c5f8db918311..6d7b0e7c5f1eb 100644 --- a/language/en-GB/en-GB.mod_related_items.ini +++ b/language/en-GB/en-GB.mod_related_items.ini @@ -8,4 +8,4 @@ MOD_RELATED_FIELD_MAX_LABEL="Maximum Articles" MOD_RELATED_FIELD_SHOWDATE_DESC="Show or hide date." MOD_RELATED_FIELD_SHOWDATE_LABEL="Show Date" MOD_RELATED_ITEMS="Articles - Related" -MOD_RELATED_XML_DESCRIPTION="This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta keywords. <br />All the keywords of the current Article are searched against all the keywords of all other published Articles. For example, you may have an Article on "Breeding Parrots" and another on "Hand Raising Black Cockatoos". If you include the keyword "parrot" in both Articles, then the Related Items Module will list the "Breeding Parrots" Article when viewing "Hand Raising Black Cockatoos" and vice-versa." \ No newline at end of file +MOD_RELATED_XML_DESCRIPTION="This module displays other Articles that are related to the one being viewed. These relations are established by the Meta keywords. <br />All the keywords of the current Article are searched against all the keywords of all other published Articles. For example, you may have an Article on "Breeding Parrots" and another on "Hand Raising Black Cockatoos". If you include the keyword "parrot" in both Articles, then the Related Items Module will list the "Breeding Parrots" Article when viewing "Hand Raising Black Cockatoos" and vice-versa." \ No newline at end of file diff --git a/language/en-GB/en-GB.mod_related_items.sys.ini b/language/en-GB/en-GB.mod_related_items.sys.ini index c6b52757b02c3..d51207313b7a9 100644 --- a/language/en-GB/en-GB.mod_related_items.sys.ini +++ b/language/en-GB/en-GB.mod_related_items.sys.ini @@ -4,5 +4,5 @@ ; Note : All ini files need to be saved as UTF-8 MOD_RELATED_ITEMS="Articles - Related" -MOD_RELATED_XML_DESCRIPTION="This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta keywords. <br />All the keywords of the current Article are searched against all the keywords of all other published Articles. For example, you may have an Article on "Breeding Parrots" and another on "Hand Raising Black Cockatoos". If you include the keyword "parrot" in both Articles, then the Related Items Module will list the "Breeding Parrots" Article when viewing "Hand Raising Black Cockatoos" and vice-versa." +MOD_RELATED_XML_DESCRIPTION="This module displays other Articles that are related to the one being viewed. These relations are established by the Meta keywords. <br />All the keywords of the current Article are searched against all the keywords of all other published Articles. For example, you may have an Article on "Breeding Parrots" and another on "Hand Raising Black Cockatoos". If you include the keyword "parrot" in both Articles, then the Related Items Module will list the "Breeding Parrots" Article when viewing "Hand Raising Black Cockatoos" and vice-versa." MOD_RELATED_ITEMS_LAYOUT_DEFAULT="Default" \ No newline at end of file From 871abf69120b46ebb7c18d22efdad15beaeb7674 Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Tue, 13 Feb 2018 07:03:27 +0700 Subject: [PATCH 090/255] Fix PHP Warning for Session on PHP 7.2 (#19199) * Fix PHP Warning for Session on PHP 7.2 * CS --- libraries/src/Session/Session.php | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/libraries/src/Session/Session.php b/libraries/src/Session/Session.php index a2b3a6da83cb1..139de5e676bfb 100644 --- a/libraries/src/Session/Session.php +++ b/libraries/src/Session/Session.php @@ -797,18 +797,8 @@ public function fork() return false; } - // Keep session config - $cookie = session_get_cookie_params(); - - // Re-register the session store after a session has been destroyed, to avoid PHP bug - $this->_store->register(); - - // Restore config - session_set_cookie_params($cookie['lifetime'], $cookie['path'], $cookie['domain'], $cookie['secure'], true); - // Restart session with new id $this->_handler->regenerate(true, null); - $this->_handler->start(); return true; } From 45ff709b8c3812c06ebbab08e530fa045584a2be Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Tue, 13 Feb 2018 01:03:58 +0100 Subject: [PATCH 091/255] Correctly call function with the parameter by reference (#19233) --- libraries/legacy/error/error.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/legacy/error/error.php b/libraries/legacy/error/error.php index 85bfa736b2c08..9e79d0a94cd09 100644 --- a/libraries/legacy/error/error.php +++ b/libraries/legacy/error/error.php @@ -777,7 +777,7 @@ public static function handleCallback(&$error, $options) { JLog::add('JError::handleCallback() is deprecated.', JLog::WARNING, 'deprecated'); - return call_user_func($options, $error); + return call_user_func_array($options, array(&$error)); } /** From 34d33a1a94acc645837e73fc949fb73604226e78 Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Tue, 13 Feb 2018 07:04:53 +0700 Subject: [PATCH 092/255] Better code for set category view layout (#19238) --- libraries/src/MVC/View/CategoryView.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php index b5c3ae6f4120b..2e2e56202d362 100644 --- a/libraries/src/MVC/View/CategoryView.php +++ b/libraries/src/MVC/View/CategoryView.php @@ -209,17 +209,20 @@ public function commonCategoryDisplay() // If it is the active menu item, then the view and category id will match $active = $app->getMenu()->getActive(); - if ((!$active) || ((strpos($active->link, 'view=category') === false) || (strpos($active->link, '&id=' . (string) $this->category->id) === false))) + if ($active + && $active->component == $this->extension + && isset($active->query['view'], $active->query['id']) + && $active->query['view'] == 'category' + && $active->query['id'] == $this->category->id) { - if ($layout = $category->params->get('category_layout')) + if (isset($active->query['layout'])) { - $this->setLayout($layout); + $this->setLayout($active->query['layout']); } } - elseif (isset($active->query['layout'])) + elseif ($layout = $category->params->get('category_layout')) { - // We need to set the layout in case this is an alternative menu item (with an alternative layout) - $this->setLayout($active->query['layout']); + $this->setLayout($layout); } $this->category->tags = new \JHelperTags; From 74cc65921a367e9af9d03d0342bf5f466dccd2d4 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Tue, 13 Feb 2018 01:07:15 +0100 Subject: [PATCH 093/255] [Modern Routing] make a simpler loop in StandardRules::build (#19271) * Simpler loop in build method of StandardRules * Now use last_id only * Remove useless code * Remove support for new router configuration --- .../Component/Router/Rules/StandardRules.php | 75 ++++++++++--------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/libraries/src/Component/Router/Rules/StandardRules.php b/libraries/src/Component/Router/Rules/StandardRules.php index 65c522a317e6c..5298bec1dad81 100644 --- a/libraries/src/Component/Router/Rules/StandardRules.php +++ b/libraries/src/Component/Router/Rules/StandardRules.php @@ -190,7 +190,9 @@ public function build(&$query, &$segments) // Get the menu item belonging to the Itemid that has been found $item = $this->router->menu->getItem($query['Itemid']); - if ($item === null || $item->component !== 'com_' . $this->router->getName()) + if ($item === null + || $item->component !== 'com_' . $this->router->getName() + || !isset($item->query['view'])) { return; } @@ -202,7 +204,7 @@ public function build(&$query, &$segments) $views = $this->router->getViews(); // Return directly when the URL of the Itemid is identical with the URL to build - if (isset($item->query['view']) && $item->query['view'] === $query['view']) + if ($item->query['view'] === $query['view']) { $view = $views[$query['view']]; @@ -241,65 +243,66 @@ public function build(&$query, &$segments) } // Get the path from the view of the current URL and parse it to the menu item - $path = array_reverse($this->router->getPath($query), true); - $found = false; - $found2 = false; + $path = array_reverse($this->router->getPath($query), true); + $found = false; - for ($i = 0, $j = count($path); $i < $j; $i++) + foreach ($path as $element => $ids) { - reset($path); - $view = key($path); + $view = $views[$element]; - if ($found) + if ($found === false && $item->query['view'] === $element) { - $ids = array_shift($path); + if ($view->nestable) + { + $found = true; + } + elseif ($view->children) + { + $found = true; + + continue; + } + } + + if ($found === false) + { + // Jump to the next view + continue; + } - if ($views[$view]->nestable) + if ($ids) + { + if ($view->nestable) { + $found2 = false; + foreach (array_reverse($ids, true) as $id => $segment) { if ($found2) { $segments[] = str_replace(':', '-', $segment); } - elseif ((int) $item->query[$views[$view]->key] == (int) $id) + elseif ((int) $item->query[$view->key] === (int) $id) { $found2 = true; } } } - elseif (is_bool($ids)) + elseif ($ids === true) { - $segments[] = $views[$view]->name; + $segments[] = $element; } else { - $segments[] = str_replace(':', '-', array_shift($ids)); + $segments[] = str_replace(':', '-', current($ids)); } } - elseif ($item->query['view'] !== $view) - { - array_shift($path); - } - else - { - if (!$views[$view]->nestable) - { - array_shift($path); - } - else - { - $i--; - $found2 = false; - } - if (count($views[$view]->children)) - { - $found = true; - } + if ($view->parent_key) + { + // Remove parent key from query + unset($query[$view->parent_key]); } - - unset($query[$views[$view]->parent_key]); } if ($found) From e03993c58484c16119f118e0862a38f17e0f92e9 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Tue, 13 Feb 2018 01:08:07 +0100 Subject: [PATCH 094/255] Improve performance of the com_content category view for a huge number of articles (#19284) --- components/com_content/models/articles.php | 41 +++++++++++----------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/components/com_content/models/articles.php b/components/com_content/models/articles.php index a68f6a6abb6ef..6be0ecfce88e0 100644 --- a/components/com_content/models/articles.php +++ b/components/com_content/models/articles.php @@ -52,7 +52,6 @@ public function __construct($config = array()) 'images', 'a.images', 'urls', 'a.urls', 'filter_tag', - 'tag', ); } @@ -189,7 +188,7 @@ protected function getListQuery() $query->select( $this->getState( 'list.select', - 'DISTINCT a.id, a.title, a.alias, a.introtext, a.fulltext, ' . + 'a.id, a.title, a.alias, a.introtext, a.fulltext, ' . 'a.checked_out, a.checked_out_time, ' . 'a.catid, a.created, a.created_by, a.created_by_alias, ' . // Published/archived article in archive category is treats as archive article @@ -504,37 +503,39 @@ protected function getListQuery() // Filter by language if ($this->getState('filter.language')) { - $query->where('a.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); + $query->where('a.language IN (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); } // Filter by a single or group of tags. - $hasTag = false; - $tagId = $this->getState('filter.tag'); + $tagId = $this->getState('filter.tag'); - if (!empty($tagId) && is_numeric($tagId)) + if (is_array($tagId) && count($tagId) === 1) { - $hasTag = true; - - $query->where($db->quoteName('tagmap.tag_id') . ' = ' . (int) $tagId); + $tagId = current($tagId); } - elseif (is_array($tagId)) + + if (is_array($tagId)) { - ArrayHelper::toInteger($tagId); - $tagId = implode(',', $tagId); + $tagId = implode(',', ArrayHelper::toInteger($tagId)); - if (!empty($tagId)) + if ($tagId) { - $hasTag = true; + $subQuery = $db->getQuery(true) + ->select('DISTINCT content_item_id') + ->from($db->quoteName('#__contentitem_tag_map')) + ->where('tag_id IN (' . $tagId . ')') + ->where('type_alias = ' . $db->quote('com_content.article')); - $query->where($db->quoteName('tagmap.tag_id') . ' IN (' . $tagId . ')'); + $query->innerJoin('(' . (string) $subQuery . ') AS tagmap ON tagmap.content_item_id = a.id'); } } - - if ($hasTag) + elseif ($tagId) { - $query->join('LEFT', $db->quoteName('#__contentitem_tag_map', 'tagmap') - . ' ON ' . $db->quoteName('tagmap.content_item_id') . ' = ' . $db->quoteName('a.id') - . ' AND ' . $db->quoteName('tagmap.type_alias') . ' = ' . $db->quote('com_content.article') + $query->innerJoin( + $db->quoteName('#__contentitem_tag_map', 'tagmap') + . ' ON tagmap.tag_id = ' . (int) $tagId + . ' AND tagmap.content_item_id = a.id' + . ' AND tagmap.type_alias = ' . $db->quote('com_content.article') ); } From d501f99fcf388d623fcc119cd53f87d42d609150 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Tue, 13 Feb 2018 01:13:53 +0100 Subject: [PATCH 095/255] Multilingual: Associated categories should display only when published (#19551) * Multilingual: Associated categories should display only when published * cs * cs --- .../com_categories/helpers/categories.php | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_categories/helpers/categories.php b/administrator/components/com_categories/helpers/categories.php index 0fedecb4e84af..e4dfd25cd6211 100644 --- a/administrator/components/com_categories/helpers/categories.php +++ b/administrator/components/com_categories/helpers/categories.php @@ -111,11 +111,30 @@ public static function getActions($extension, $categoryId = 0) public static function getAssociations($pk, $extension = 'com_content') { $langAssociations = JLanguageAssociations::getAssociations($extension, '#__categories', 'com_categories.item', $pk, 'id', 'alias', ''); - $associations = array(); + $associations = array(); + $user = JFactory::getUser(); + $groups = implode(',', $user->getAuthorisedViewLevels()); foreach ($langAssociations as $langAssociation) { - $associations[$langAssociation->language] = $langAssociation->id; + // Include only published categories with user access + $arrId = explode(':', $langAssociation->id); + $assocId = $arrId[0]; + + $db = \JFactory::getDbo(); + + $query = $db->getQuery(true) + ->select($db->qn('published')) + ->from($db->qn('#__categories')) + ->where('access IN (' . $groups . ')') + ->where($db->qn('id') . ' = ' . (int) $assocId); + + $result = (int) $db->setQuery($query)->loadResult(); + + if ($result === 1) + { + $associations[$langAssociation->language] = $langAssociation->id; + } } return $associations; From 9877ba2ab5baa4de9f45a5cb96faf7ff61026f09 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Tue, 13 Feb 2018 01:17:22 +0100 Subject: [PATCH 096/255] [CS] Array list style (#19610) * array list style * array list style * array list style * array list style --- administrator/components/com_menus/controllers/item.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_menus/controllers/item.php b/administrator/components/com_menus/controllers/item.php index 83770ba1c7cfb..e8ec6e2b9f33c 100644 --- a/administrator/components/com_menus/controllers/item.php +++ b/administrator/components/com_menus/controllers/item.php @@ -336,8 +336,12 @@ public function save($key = null, $urlVar = null) { $segments = explode(':', $data['link']); $protocol = strtolower($segments[0]); - $scheme = array('http', 'https', 'ftp', 'ftps', 'gopher', 'mailto', 'news', 'prospero', 'telnet', 'rlogin', 'tn3270', 'wais','mid', 'cid', 'nntp', - 'tel', 'urn', 'ldap', 'file', 'fax', 'modem', 'git', 'sms'); + $scheme = array( + 'http', 'https', 'ftp', 'ftps', 'gopher', 'mailto', + 'news', 'prospero', 'telnet', 'rlogin', 'tn3270', 'wais', + 'mid', 'cid', 'nntp', 'tel', 'urn', 'ldap', 'file', 'fax', + 'modem', 'git', 'sms', + ); if (!in_array($protocol, $scheme)) { From 308fdcd14cf669c075b145c74f2d006a4be2a127 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Mon, 12 Feb 2018 16:17:42 -0800 Subject: [PATCH 097/255] Prevent compounding inputmode attribute (#19632) --- layouts/joomla/form/field/text.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/joomla/form/field/text.php b/layouts/joomla/form/field/text.php index a5c4ac909be51..38f014088b8da 100644 --- a/layouts/joomla/form/field/text.php +++ b/layouts/joomla/form/field/text.php @@ -71,7 +71,7 @@ $autocomplete, $autofocus ? ' autofocus' : '', $spellcheck ? '' : 'spellcheck="false"', - !empty($inputmode) ? 'inputmode="' . $inputmode . '"' : '', + !empty($inputmode) ? $inputmode : '', !empty($pattern) ? 'pattern="' . $pattern . '"' : '', ); ?> From 2c97448e811b98e39ac769fb785f2baeda31c443 Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Tue, 13 Feb 2018 07:18:14 +0700 Subject: [PATCH 098/255] Fix user profile plugin (#19633) --- plugins/user/profile/profile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/user/profile/profile.php b/plugins/user/profile/profile.php index 29f98e67a1864..2e57c76226306 100644 --- a/plugins/user/profile/profile.php +++ b/plugins/user/profile/profile.php @@ -243,7 +243,7 @@ public function onContentPrepareForm($form, $data) // Add the registration fields to the form. JForm::addFormPath(__DIR__ . '/profiles'); - $form->loadFile('profile', false); + $form->loadFile('profile'); $fields = array( 'address1', From 8d7a917e8c940ab3bfdcd449acb4a12935c6a000 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Tue, 13 Feb 2018 00:18:40 +0000 Subject: [PATCH 099/255] Update pagebreak plugin description (#19653) Simple PR to update the very outdated text suggesting that the page break button is normally found under the article text area. --- administrator/language/en-GB/en-GB.plg_content_pagebreak.ini | 2 +- .../language/en-GB/en-GB.plg_content_pagebreak.sys.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini b/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini index ee20f7a2193f6..ca0a686f06c8c 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagebreak.ini @@ -24,4 +24,4 @@ PLG_CONTENT_PAGEBREAK_STYLE_LABEL="Presentation Style" PLG_CONTENT_PAGEBREAK_TABS="Tabs" PLG_CONTENT_PAGEBREAK_TOC_DESC="Display a table of contents on multipage Articles." PLG_CONTENT_PAGEBREAK_TOC_LABEL="Table of Contents" -PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION="Allow the creation of a paginated article with an optional table of contents.<br /><br />Insert page breaks through the use of the page break button normally found beneath the text panel in an Article. The location of the page break in an article will be displayed in the editor as a simple horizontal line.<br /><br />The text displayed will depend on the options chosen and may be either the title, alternate text (if provided) or page numbers. <br /><br />The HTML usage is:<br /><hr class="system-pagebreak" /><br /><hr class="system-pagebreak" title="The page title" /> or <br /><hr class="system-pagebreak" alt="The first page" /> or <br /><hr class="system-pagebreak" title="The page title" alt="The first page" /> or <br /><hr class="system-pagebreak" alt="The first page" title="The page title" />" +PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION="Allow the creation of a paginated article with an optional table of contents.<br /><br />Insert page breaks through the use of the page break button normally found in the WYSIWYG editor toolbar. The location of the page break in an article will be displayed in the editor as a simple horizontal line.<br /><br />The text displayed will depend on the options chosen and may be either the title, alternate text (if provided) or page numbers. <br /><br />The HTML usage is:<br /><hr class="system-pagebreak" /><br /><hr class="system-pagebreak" title="The page title" /> or <br /><hr class="system-pagebreak" alt="The first page" /> or <br /><hr class="system-pagebreak" title="The page title" alt="The first page" /> or <br /><hr class="system-pagebreak" alt="The first page" title="The page title" />" diff --git a/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini b/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini index 0e45efcac54d5..bacb670bfdeb3 100644 --- a/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini +++ b/administrator/language/en-GB/en-GB.plg_content_pagebreak.sys.ini @@ -5,4 +5,4 @@ PLG_CONTENT_PAGEBREAK="Content - Page Break" -PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION="Allow the creation of a paginated article with an optional table of contents.<br /><br />Insert page breaks through the use of the page break button normally found beneath the text panel in an Article. The location of the page break in an article will be displayed in the editor as a simple horizontal line.<br /><br />The text displayed will depend on the options chosen and may be either the title, alternate text (if provided) or page numbers. <br /><br />The HTML usage is:<br /><hr class="system-pagebreak" /><br /><hr class="system-pagebreak" title="The page title" /> or <br /><hr class="system-pagebreak" alt="The first page" /> or <br /><hr class="system-pagebreak" title="The page title" alt="The first page" /> or <br /><hr class="system-pagebreak" alt="The first page" title="The page title" />" +PLG_CONTENT_PAGEBREAK_XML_DESCRIPTION="Allow the creation of a paginated article with an optional table of contents.<br /><br />Insert page breaks through the use of the page break button normally found in the WYSIWYG editor toolbar. The location of the page break in an article will be displayed in the editor as a simple horizontal line.<br /><br />The text displayed will depend on the options chosen and may be either the title, alternate text (if provided) or page numbers. <br /><br />The HTML usage is:<br /><hr class="system-pagebreak" /><br /><hr class="system-pagebreak" title="The page title" /> or <br /><hr class="system-pagebreak" alt="The first page" /> or <br /><hr class="system-pagebreak" title="The page title" alt="The first page" /> or <br /><hr class="system-pagebreak" alt="The first page" title="The page title" />" From 91d218536d1cc9021cf2945030d53e9be220f9f3 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Tue, 13 Feb 2018 14:21:46 +0100 Subject: [PATCH 100/255] Chinese calendar js files don't load on Linux because they are not (#19662) lowercase. --- libraries/joomla/form/fields/calendar.php | 4 ++++ libraries/src/HTML/HTMLHelper.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/libraries/joomla/form/fields/calendar.php b/libraries/joomla/form/fields/calendar.php index 8ffb6d93b1eda..198714349ef6a 100644 --- a/libraries/joomla/form/fields/calendar.php +++ b/libraries/joomla/form/fields/calendar.php @@ -284,6 +284,10 @@ protected function getLayoutData() { $localesPath = 'system/fields/calendar-locales/' . strtolower($tag) . '.js'; } + elseif (is_file(JPATH_ROOT . '/media/system/js/fields/calendar-locales/' . $tag . '.js')) + { + $localesPath = 'system/fields/calendar-locales/' . $tag . '.js'; + } elseif (is_file(JPATH_ROOT . '/media/system/js/fields/calendar-locales/' . strtolower(substr($tag, 0, -3)) . '.js')) { $localesPath = 'system/fields/calendar-locales/' . strtolower(substr($tag, 0, -3)) . '.js'; diff --git a/libraries/src/HTML/HTMLHelper.php b/libraries/src/HTML/HTMLHelper.php index b13fe524f8db7..7b0ece4034efb 100644 --- a/libraries/src/HTML/HTMLHelper.php +++ b/libraries/src/HTML/HTMLHelper.php @@ -1013,6 +1013,10 @@ public static function calendar($value, $name, $id, $format = '%Y-%m-%d', $attri { $localesPath = 'system/fields/calendar-locales/' . strtolower($tag) . '.js'; } + elseif (is_file(JPATH_ROOT . '/media/system/js/fields/calendar-locales/' . $tag . '.js')) + { + $localesPath = 'system/fields/calendar-locales/' . $tag . '.js'; + } elseif (is_file(JPATH_ROOT . '/media/system/js/fields/calendar-locales/' . strtolower(substr($tag, 0, -3)) . '.js')) { $localesPath = 'system/fields/calendar-locales/' . strtolower(substr($tag, 0, -3)) . '.js'; From 0731f89c14a4b7ca2cefbedddf012b39d0529404 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Wed, 14 Feb 2018 01:07:40 +0000 Subject: [PATCH 101/255] Typo (#19675) Simple PR to fix a typo in a string --- administrator/language/en-GB/en-GB.plg_editors_tinymce.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini index 34d06d261c4bf..f482600d14310 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_tinymce.ini @@ -95,7 +95,7 @@ PLG_TINY_FIELD_SAVEWARNING_DESC="Gives warning if you cancel without saving chan PLG_TINY_FIELD_SAVEWARNING_LABEL="Save Warning" PLG_TINY_FIELD_SEARCH-REPLACE_DESC="Show or hide the Search & Replace button." PLG_TINY_FIELD_SEARCH-REPLACE_LABEL="Search & Replace" -PLG_TINY_FIELD_SETACCESS_DESC="Restrict users that will use this set to those in the selected user groups.<br>If a user belongs to multiple groups, the set used will be the one which is assigned to a group higher in the hierarchy.<br>Example: if a set is assigned to Author and a another set to Publishers, if the user belongs to both groups, the set assigned to Publishers will be used." +PLG_TINY_FIELD_SETACCESS_DESC="Restrict users that will use this set to those in the selected user groups.<br>If a user belongs to multiple groups, the set used will be the one which is assigned to a group higher in the hierarchy.<br>Example: if a set is assigned to Author and another set to Publishers, if the user belongs to both groups, the set assigned to Publishers will be used." PLG_TINY_FIELD_SETACCESS_LABEL="Assign this Set to" PLG_TINY_FIELD_SKIN_ADMIN_DESC="Select skin for the Administrator Backend interface." PLG_TINY_FIELD_SKIN_ADMIN_LABEL="Administrator Skin" From 5bf0e5d688542530587b556e35b0e1be6df3b5ae Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Wed, 14 Feb 2018 22:27:58 +0700 Subject: [PATCH 102/255] Implement Session GC Cli (#19548) * Implement Session GC Cli * CS add new line --- cli/sessionGc.php | 56 +++++++++++++++++++++++++++++++ libraries/src/Session/Session.php | 12 +++++++ 2 files changed, 68 insertions(+) create mode 100644 cli/sessionGc.php diff --git a/cli/sessionGc.php b/cli/sessionGc.php new file mode 100644 index 0000000000000..4fe6e8a4fc7ee --- /dev/null +++ b/cli/sessionGc.php @@ -0,0 +1,56 @@ +<?php +/** + * @package Joomla.Cli + * + * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +/** + * This is a CRON script to delete expired session data which should be called from the command-line, not the + * web. For example something like: + * /usr/bin/php /path/to/site/cli/sessionGc.php + */ + +// Initialize Joomla framework +const _JEXEC = 1; + +// Load system defines +if (file_exists(dirname(__DIR__) . '/defines.php')) +{ + require_once dirname(__DIR__) . '/defines.php'; +} + +if (!defined('_JDEFINES')) +{ + define('JPATH_BASE', dirname(__DIR__)); + require_once JPATH_BASE . '/includes/defines.php'; +} + +// Get the framework. +require_once JPATH_LIBRARIES . '/import.legacy.php'; + +// Bootstrap the CMS libraries. +require_once JPATH_LIBRARIES . '/cms.php'; + +/** + * Cron job to trash expired session data. + * + * @since __DEPLOY_VERSION__ + */ +class SessionGc extends JApplicationCli +{ + /** + * Entry point for the script + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function doExecute() + { + JFactory::getSession()->gc(); + } +} + +JApplicationCli::getInstance('SessionGc')->execute(); diff --git a/libraries/src/Session/Session.php b/libraries/src/Session/Session.php index 139de5e676bfb..bdfbec8b72a63 100644 --- a/libraries/src/Session/Session.php +++ b/libraries/src/Session/Session.php @@ -824,6 +824,18 @@ public function close() $this->_state = 'inactive'; } + /** + * Delete expired session data + * + * @return boolean True on success, false otherwise. + * + * @since __DEPLOY_VERSION__ + */ + public function gc() + { + return $this->_store->gc($this->getExpire()); + } + /** * Set the session handler * From 0d3a9b417f801852371b8a5dd4ec8aaafeadac2a Mon Sep 17 00:00:00 2001 From: Allon Moritz <allon.moritz@digital-peak.com> Date: Fri, 16 Feb 2018 17:05:57 +0100 Subject: [PATCH 103/255] Add deprecate log message for the pathway name attribute (#19700) * Add deprecate log message for the name attribute * Spelling --- libraries/src/Application/CMSApplication.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index 4989bac2e5fe3..8619b37a1fcdf 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -551,6 +551,11 @@ public function getPathway($name = null, $options = array()) { $name = $this->getName(); } + else + { + // Name should not be used + Log::add('Name attribute is deprecated, in the future fetch the pathway through the respective application.', Log::WARNING, 'deprecated'); + } try { From 6623473dd452670639e323e37ca1f595faa8bde2 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Fri, 16 Feb 2018 19:10:35 +0000 Subject: [PATCH 104/255] typo (#19691) * typo can be merged on review * more --- libraries/joomla/mediawiki/links.php | 2 +- media/system/js/calendar-setup-uncompressed.js | 2 +- tests/unit/suites/libraries/joomla/crypt/JCryptTest.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/joomla/mediawiki/links.php b/libraries/joomla/mediawiki/links.php index 4d44a7978dd52..f2ba42f8e849c 100644 --- a/libraries/joomla/mediawiki/links.php +++ b/libraries/joomla/mediawiki/links.php @@ -155,7 +155,7 @@ public function getIWLinks(array $titles, $iwurl = false, $iwlimit = null, $iwco * Method to return all interlanguage links from the given page(s). * * @param array $titles Page titles to retrieve links. - * @param integer $lllimit Number of langauge links to return. + * @param integer $lllimit Number of language links to return. * @param boolean $llcontinue When more results are available, use this to continue. * @param string $llurl Whether to get the full URL. * @param string $lllang Language code. diff --git a/media/system/js/calendar-setup-uncompressed.js b/media/system/js/calendar-setup-uncompressed.js index fc9db153c8456..22f793eaff88d 100644 --- a/media/system/js/calendar-setup-uncompressed.js +++ b/media/system/js/calendar-setup-uncompressed.js @@ -33,7 +33,7 @@ * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") * ifFormat | date format that will be stored in the input field * daFormat | the date format that will be used to display the date in displayArea - * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) + * singleClick | (true/false) whether the calendar is in single click mode or not (default: true) * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation * range | array with 2 elements. Default: [1900, 2999] -- the range of years available diff --git a/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php b/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php index 23930f6087088..c003af5683530 100644 --- a/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php +++ b/tests/unit/suites/libraries/joomla/crypt/JCryptTest.php @@ -56,7 +56,7 @@ protected function tearDown() */ public function testGenRandomBytes() { - // We're just testing wether the value has the expected length. + // We're just testing whether the value has the expected length. // We obviously can't test the result since it's random. $randomBytes16 = JCrypt::genRandomBytes(); From 855101913a8c0e54a43466686325080e189d7c47 Mon Sep 17 00:00:00 2001 From: Andrey <andnovator@gmail.com> Date: Fri, 16 Feb 2018 22:29:33 +0300 Subject: [PATCH 105/255] Possible misprint (#19688) I think $ids array stores articles ids, because $articleModel->getItem()->id. Maybe copy-paste from line 159/line 206? Also, this possible misprint can be found in 4.0 branch. --- plugins/sampledata/blog/blog.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sampledata/blog/blog.php b/plugins/sampledata/blog/blog.php index 50cc83a2b7d65..79bb723a8c102 100644 --- a/plugins/sampledata/blog/blog.php +++ b/plugins/sampledata/blog/blog.php @@ -282,7 +282,7 @@ public function onAjaxSampledataApplyStep1() return $response; } - // Get ID from category we just added + // Get ID from article we just added $ids[] = $articleModel->getItem()->id; } From c9e45bb6f5718993f4bc0a36a23cccd3162b16cd Mon Sep 17 00:00:00 2001 From: Allon Moritz <allon.moritz@digital-peak.com> Date: Fri, 16 Feb 2018 23:38:46 +0100 Subject: [PATCH 106/255] Add the missing import in the application (#19709) * Add the missing import in the application * Use the local logger --- libraries/src/Application/CMSApplication.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index 8619b37a1fcdf..5d7409602d9e3 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -554,7 +554,11 @@ public function getPathway($name = null, $options = array()) else { // Name should not be used - Log::add('Name attribute is deprecated, in the future fetch the pathway through the respective application.', Log::WARNING, 'deprecated'); + $this->getLogger()->warning( + 'Name attribute is deprecated, in the future fetch the pathway ' + . 'through the respective application.', + array('category' => 'deprecated') + ); } try From 6d3c5c525cb726642aed0a07d84d7686f092b887 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Sun, 25 Feb 2018 16:18:06 +0100 Subject: [PATCH 107/255] fix 404 on github dokukmentation links (#19775) --- libraries/joomla/github/package/users.php | 2 +- libraries/joomla/github/package/users/emails.php | 2 +- libraries/joomla/github/package/users/followers.php | 2 +- libraries/joomla/github/package/users/keys.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/joomla/github/package/users.php b/libraries/joomla/github/package/users.php index 2c06b62a16988..f60293036961d 100644 --- a/libraries/joomla/github/package/users.php +++ b/libraries/joomla/github/package/users.php @@ -12,7 +12,7 @@ /** * GitHub API References class for the Joomla Platform. * - * @documentation https://developer.github.com/v3/repos/users + * @documentation https://developer.github.com/v3/users * * @since 12.3 * @deprecated 4.0 Use the `joomla/github` package via Composer instead diff --git a/libraries/joomla/github/package/users/emails.php b/libraries/joomla/github/package/users/emails.php index 585befc7d0dea..2d7a431c7e43c 100644 --- a/libraries/joomla/github/package/users/emails.php +++ b/libraries/joomla/github/package/users/emails.php @@ -15,7 +15,7 @@ * Management of email addresses via the API requires that you are authenticated * through basic auth or OAuth with the user scope. * - * @documentation https://developer.github.com/v3/repos/users/emails + * @documentation https://developer.github.com/v3/users/emails * * @since 12.3 * @deprecated 4.0 Use the `joomla/github` package via Composer instead diff --git a/libraries/joomla/github/package/users/followers.php b/libraries/joomla/github/package/users/followers.php index 92d1442daf121..e41aa3d065d77 100644 --- a/libraries/joomla/github/package/users/followers.php +++ b/libraries/joomla/github/package/users/followers.php @@ -12,7 +12,7 @@ /** * GitHub API References class for the Joomla Platform. * - * @documentation https://developer.github.com/v3/repos/users/followers + * @documentation https://developer.github.com/v3/users/followers * * @since 12.3 * @deprecated 4.0 Use the `joomla/github` package via Composer instead diff --git a/libraries/joomla/github/package/users/keys.php b/libraries/joomla/github/package/users/keys.php index 8ca041a479191..a8077b630c0dc 100644 --- a/libraries/joomla/github/package/users/keys.php +++ b/libraries/joomla/github/package/users/keys.php @@ -12,7 +12,7 @@ /** * GitHub API References class for the Joomla Platform. * - * @documentation https://developer.github.com/v3/repos/users/keys + * @documentation https://developer.github.com/v3/users/keys * * @since 12.3 * @deprecated 4.0 Use the `joomla/github` package via Composer instead From 73ca2926f898d88f8bcceb69423fe0a31e8a5abb Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 25 Feb 2018 17:41:32 +0000 Subject: [PATCH 108/255] Articles - Latest (#19664) The descriptions says "This module shows a list of the most recently published and current Articles." So if they are "current" then they cant also "may have expired" Simple PR to correct that on the front end For the admin version of the module the change is a little different as here the list will show all the articles irrespective of their current published state so the string change is different and is just a simplification and not a correction --- administrator/language/en-GB/en-GB.mod_latest.ini | 2 +- administrator/language/en-GB/en-GB.mod_latest.sys.ini | 2 +- language/en-GB/en-GB.mod_articles_latest.ini | 2 +- language/en-GB/en-GB.mod_articles_latest.sys.ini | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/language/en-GB/en-GB.mod_latest.ini b/administrator/language/en-GB/en-GB.mod_latest.ini index e06c59bac076a..5da22a713e087 100644 --- a/administrator/language/en-GB/en-GB.mod_latest.ini +++ b/administrator/language/en-GB/en-GB.mod_latest.ini @@ -58,4 +58,4 @@ MOD_LATEST_TITLE_MODIFIED_CATEGORY_NOT_ME="Last Modified Articles Not By Me (%2$ MOD_LATEST_TITLE_MODIFIED_CATEGORY_NOT_ME_1="Last Modified Article Not By Me (%2$s category)" MOD_LATEST_TITLE_MODIFIED_CATEGORY_NOT_ME_MORE="Last %1$s Modified Articles Not By Me (%2$s category)" MOD_LATEST_UNEXISTING="<i>Non existent</i>" -MOD_LATEST_XML_DESCRIPTION="This module shows a list of the most recently published Articles that are still current. Some that are shown may have expired even though they are the most recent." +MOD_LATEST_XML_DESCRIPTION="This module shows a list of the most recently created Articles." diff --git a/administrator/language/en-GB/en-GB.mod_latest.sys.ini b/administrator/language/en-GB/en-GB.mod_latest.sys.ini index 7d7de3ad3d2ae..e73364c12b9bb 100644 --- a/administrator/language/en-GB/en-GB.mod_latest.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_latest.sys.ini @@ -5,6 +5,6 @@ MOD_LATEST="Articles - Latest" -MOD_LATEST_XML_DESCRIPTION="This Module shows a list of the most recently published Articles that are still current. Some that are shown may have expired even though they are the most recent." +MOD_LATEST_XML_DESCRIPTION="This module shows a list of the most recently created Articles." MOD_LATEST_LAYOUT_DEFAULT="Default" diff --git a/language/en-GB/en-GB.mod_articles_latest.ini b/language/en-GB/en-GB.mod_articles_latest.ini index 6fbd643e29a35..c38b97e557044 100644 --- a/language/en-GB/en-GB.mod_articles_latest.ini +++ b/language/en-GB/en-GB.mod_articles_latest.ini @@ -22,4 +22,4 @@ MOD_LATEST_NEWS_VALUE_RECENT_MODIFIED="Recently Modified First" MOD_LATEST_NEWS_VALUE_RECENT_RAND="Random Articles" MOD_LATEST_NEWS_VALUE_RECENT_PUBLISHED="Recently Published First" MOD_LATEST_NEWS_VALUE_RECENT_TOUCHED="Recently Touched First" -MOD_LATEST_NEWS_XML_DESCRIPTION="This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent." +MOD_LATEST_NEWS_XML_DESCRIPTION="This module shows a list of the most recently published and current Articles." diff --git a/language/en-GB/en-GB.mod_articles_latest.sys.ini b/language/en-GB/en-GB.mod_articles_latest.sys.ini index 3a4fdfdfa1acd..720ec6456ba40 100644 --- a/language/en-GB/en-GB.mod_articles_latest.sys.ini +++ b/language/en-GB/en-GB.mod_articles_latest.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_ARTICLES_LATEST="Articles - Latest" -MOD_LATEST_NEWS_XML_DESCRIPTION="This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent." +MOD_LATEST_NEWS_XML_DESCRIPTION="This module shows a list of the most recently published and current Articles." MOD_ARTICLES_LATEST_LAYOUT_DEFAULT="Default" From 7ac8025fb28f8d0dea663f6612b5f63fd723fb2d Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 25 Feb 2018 21:22:45 +0000 Subject: [PATCH 109/255] reCAPTCHA V1 stops on March 31 (#19648) * reCAPTCHA V1 stops on March 31 Google have emailed directly anyone using v1 reCAPTCHA keys but users don't read their email. This PR adds a post-installation message IF they have the reCAPTCHA plugin enabled AND they are using v1 keys. This PR also updates the messages in the plugin informing them that V1 will not work after march 31 @mbabker already completely refactored the plugin for J4 to remove V1 etc this PR is ust for the messages * CS - new lines * use query to find the extension_id and not haardcoded * docblock * 3.8.6 * Update actions.php --- .../sql/updates/mysql/3.8.6-2018-02-14.sql | 3 + .../updates/postgresql/3.8.6-2018-02-14.sql | 3 + .../sql/updates/sqlazure/3.8.6-2018-02-14.sql | 3 + .../en-GB/en-GB.plg_captcha_recaptcha.ini | 8 ++- installation/sql/mysql/joomla.sql | 3 +- installation/sql/postgresql/joomla.sql | 3 +- installation/sql/sqlazure/joomla.sql | 3 +- .../captcha/recaptcha/postinstall/actions.php | 57 +++++++++++++++++++ 8 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql create mode 100644 administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql create mode 100644 administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql create mode 100644 plugins/captcha/recaptcha/postinstall/actions.php diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql new file mode 100644 index 0000000000000..955e669aada97 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql @@ -0,0 +1,3 @@ +INSERT INTO `#__postinstall_messages` (`extension_id`, `title_key`, `description_key`, `action_key`, `language_extension`, `language_client_id`, `type`, `action_file`, `action`, `condition_file`, `condition_method`, `version_introduced`, `enabled`) +VALUES +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql new file mode 100644 index 0000000000000..8c57ae40bb5fb --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql @@ -0,0 +1,3 @@ +INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled") +VALUES +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql new file mode 100644 index 0000000000000..8c57ae40bb5fb --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql @@ -0,0 +1,3 @@ +INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled") +VALUES +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini index 7e5db19504751..29821c12ebe7c 100644 --- a/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini +++ b/administrator/language/en-GB/en-GB.plg_captcha_recaptcha.ini @@ -5,11 +5,13 @@ PLG_CAPTCHA_RECAPTCHA_XML_DESCRIPTION="This CAPTCHA plugin uses the reCAPTCHA service to prevent spammers while it helps to digitize books, newspapers and old radio shows. To get a site and secret key for your domain, go to <a href="_QQ_"https://www.google.com/recaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://www.google.com/recaptcha</a>. To use this for new account registration, go to Options in the User Manager and select CAPTCHA - reCAPTCHA as the CAPTCHA." PLG_CAPTCHA_RECAPTCHA="CAPTCHA - reCAPTCHA" - +PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION="Update reCAPTCHA settings" +PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE="reCAPTCHA v1 - discontinued" +PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY="Support for reCAPTCHA v1 will be turned off by Google on March 31, 2018. Please update the settings in the reCAPTCHA plugin to use Version 2.0." ; Params -PLG_RECAPTCHA_VERSION_1_WARNING_LABEL="You have selected Version 1.0. All new sites should be using Version 2.0. Since May 2016 version 1.0 has been deprecated and is only maintained to provide support for Global Site keys which are no longer available from Google. Version 1.0 will not work for new sites and continued functionality can not be guaranteed." +PLG_RECAPTCHA_VERSION_1_WARNING_LABEL="You have selected Version 1.0. As of March 31, 2018 this will no longer work and you should use Version 2.0." PLG_RECAPTCHA_VERSION_LABEL="Version" -PLG_RECAPTCHA_VERSION_DESC="Version 2.0 is the recommended version. Version 1.0 is required if using deprecated Global reCAPTCHA keys. It is no longer supported and will not work for new sites." +PLG_RECAPTCHA_VERSION_DESC="Version 2.0 is the recommended version." ; The following two strings are deprecated and will be removed with 4.0. They generate wrong plural detection in Crowdin. PLG_RECAPTCHA_VERSION_1="1.0" PLG_RECAPTCHA_VERSION_2="2.0" diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 32d131a542bf0..ceeef4b235a1f 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -1642,7 +1642,8 @@ INSERT INTO `#__postinstall_messages` (`extension_id`, `title_key`, `description (700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1), (700, 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_BODY', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_ACTION', 'plg_system_updatenotification', 1, 'action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_condition', '3.6.3', 1), (700, 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_TITLE', 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/joomla40checks.php', 'admin_postinstall_joomla40checks_condition', '3.7.0', 1), -(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1); +(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1), +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); -- -------------------------------------------------------- diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index abfa4e5ce739f..6ac7c372043de 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -1625,7 +1625,8 @@ INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description (700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1), (700, 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_BODY', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_ACTION', 'plg_system_updatenotification', 1, 'action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_condition', '3.6.3', 1), (700, 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_TITLE', 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/joomla40checks.php', 'admin_postinstall_joomla40checks_condition', '3.7.0', 1), -(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1); +(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1), +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); -- -- Table structure for table `#__redirect_links` diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index a7d4a96fbbe91..2815ea5c573ef 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -2340,7 +2340,8 @@ INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description (700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1), (700, 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_BODY', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_ACTION', 'plg_system_updatenotification', 1, 'action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_condition', '3.6.3', 1), (700, 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_TITLE', 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/joomla40checks.php', 'admin_postinstall_joomla40checks_condition', '3.7.0', 1), -(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1); +(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1) +(700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); -- -- Table structure for table `#__redirect_links` diff --git a/plugins/captcha/recaptcha/postinstall/actions.php b/plugins/captcha/recaptcha/postinstall/actions.php new file mode 100644 index 0000000000000..f1fbe96d416e1 --- /dev/null +++ b/plugins/captcha/recaptcha/postinstall/actions.php @@ -0,0 +1,57 @@ +<?php +/** + * @package Joomla.Plugin + * @subpackage Captcha + * + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * This file contains the functions used by the com_postinstall code to deliver + * the necessary post-installation messages for the end of life of reCAPTCHA V1. + */ + +/** + * Checks if the plugin is enabled and reCAPTCHA V1 is being used. If true then the + * message about reCAPTCHA v1 EOL should be displayed. + * + * @return boolean + * + * @since __DEPLOY_VERSION__ + */ +function recaptcha_postinstall_condition() +{ + $db = JFactory::getDbo(); + + $query = $db->getQuery(true) + ->select('1') + ->from($db->qn('#__extensions')) + ->where($db->qn('name') . ' = ' . $db->q('plg_captcha_recaptcha')) + ->where($db->qn('enabled') . ' = 1') + ->where($db->qn('params') . ' LIKE ' . $db->q('%1.0%')); + $db->setQuery($query); + $enabled_plugins = $db->loadObjectList(); + + return count($enabled_plugins) === 1; +} + +/** + * Open the reCAPTCHA plugin so that they can update the settings to V2 and new keys. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ +function recaptcha_postinstall_action() +{ + $db = JFactory::getDbo(); + + $query = $db->getQuery(true) + ->select('extension_id') + ->from($db->qn('#__extensions')) + ->where($db->qn('name') . ' = ' . $db->q('plg_captcha_recaptcha')); + $db->setQuery($query); + $e_id = $db->loadResult(); + + $url = 'index.php?option=com_plugins&task=plugin.edit&extension_id=' . $e_id; + JFactory::getApplication()->redirect($url); +} From 3375f08d8f40add15b78705dd28756213840ba67 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 26 Feb 2018 03:10:02 +0000 Subject: [PATCH 110/255] System Information (#19764) * System Information We had the db version and the db collation but not the type This PR adds the database type eg postgresql, mysql etc * Update sysinfo.php * rename and move * rename --- administrator/components/com_admin/models/sysinfo.php | 1 + .../com_admin/views/sysinfo/tmpl/default_system.php | 8 ++++++++ administrator/language/en-GB/en-GB.com_admin.ini | 1 + 3 files changed, 10 insertions(+) diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index 60bdf760e14d7..fe9cd8a05d070 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -308,6 +308,7 @@ public function &getInfo() $this->info = array( 'php' => php_uname(), + 'dbserver' => $db->getServerType(), 'dbversion' => $db->getVersion(), 'dbcollation' => $db->getCollation(), 'dbconnectioncollation' => $db->getConnectionCollation(), diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php index 990f5b737f52a..3fe026dc4658a 100644 --- a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php +++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php @@ -36,6 +36,14 @@ <?php echo $this->info['php']; ?> </td> </tr> + <tr> + <td> + <strong><?php echo JText::_('COM_ADMIN_DATABASE_TYPE'); ?></strong> + </td> + <td> + <?php echo $this->info['dbserver']; ?> + </td> + </tr> <tr> <td> <strong><?php echo JText::_('COM_ADMIN_DATABASE_VERSION'); ?></strong> diff --git a/administrator/language/en-GB/en-GB.com_admin.ini b/administrator/language/en-GB/en-GB.com_admin.ini index 188b0939229ad..3ff9f0a5be4ad 100644 --- a/administrator/language/en-GB/en-GB.com_admin.ini +++ b/administrator/language/en-GB/en-GB.com_admin.ini @@ -10,6 +10,7 @@ COM_ADMIN_CLEAR_RESULTS="Clear results" COM_ADMIN_CONFIGURATION_FILE="Configuration File" COM_ADMIN_DATABASE_COLLATION="Database Collation" COM_ADMIN_DATABASE_CONNECTION_COLLATION="Database Connection Collation" +COM_ADMIN_DATABASE_TYPE="Database Type" COM_ADMIN_DATABASE_VERSION="Database Version" COM_ADMIN_DIRECTORY="Folder" COM_ADMIN_DIRECTORY_PERMISSIONS="Folder Permissions" From bfc2fdfd48084b9a6a692bc7eb410af2acd87278 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Mon, 26 Feb 2018 04:10:21 +0100 Subject: [PATCH 111/255] Overrides do not find 3rd party plugins languages when files are in the (#19740) plugin --- administrator/components/com_languages/models/strings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_languages/models/strings.php b/administrator/components/com_languages/models/strings.php index 4b084431ed7c9..a0e5751d5f408 100644 --- a/administrator/components/com_languages/models/strings.php +++ b/administrator/components/com_languages/models/strings.php @@ -74,7 +74,7 @@ public function refresh() $files = array_merge($files, JFolder::files($base . '/templates', $language . '.*ini$', 3, true)); // Parse language directories of plugins. - $files = array_merge($files, JFolder::files(JPATH_PLUGINS, $language . '.*ini$', 3, true)); + $files = array_merge($files, JFolder::files(JPATH_PLUGINS, $language . '.*ini$', 4, true)); // Parse all found ini files and add the strings to the database cache. foreach ($files as $file) From 1c9eaad987a6b08c890374be26a775cb97a14a47 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Mon, 26 Feb 2018 04:10:37 +0100 Subject: [PATCH 112/255] Com_redirect: Differentiating utf8 old_url (#19734) --- administrator/components/com_redirect/tables/link.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_redirect/tables/link.php b/administrator/components/com_redirect/tables/link.php index b8306122b6b71..3eec8aa8e7798 100644 --- a/administrator/components/com_redirect/tables/link.php +++ b/administrator/components/com_redirect/tables/link.php @@ -86,7 +86,7 @@ public function check() $query = $db->getQuery(true) ->select($db->quoteName('id')) ->from('#__redirect_links') - ->where($db->quoteName('old_url') . ' = ' . $db->quote($this->old_url)); + ->where($db->quoteName('old_url') . ' = ' . $db->quote(rawurlencode($this->old_url))); $db->setQuery($query); $xid = (int) $db->loadResult(); From 11792a06070e7a28c9a37f5d667d1900ae3e3e6a Mon Sep 17 00:00:00 2001 From: Dimitri Grammatikogianni <mit505@upshift.gr> Date: Mon, 26 Feb 2018 04:11:37 +0100 Subject: [PATCH 113/255] TinyMCE: uglify the inline XTD-btns script (#19731) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * remove tabs and returns and spaces * more compression * Add some comments so others can follow the code * Doh, this code was for J4 * reninitialise the array 😡 --- plugins/editors/tinymce/tinymce.php | 82 ++++++++++++++--------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/plugins/editors/tinymce/tinymce.php b/plugins/editors/tinymce/tinymce.php index 22018c7de155b..4fe0c22d4cb16 100644 --- a/plugins/editors/tinymce/tinymce.php +++ b/plugins/editors/tinymce/tinymce.php @@ -777,74 +777,74 @@ private function tinyButtons($name, $excluded) // We do some hack here to set the correct icon for 3PD buttons $icon = 'none icon-' . $icon; + $tempConstructor = array(); + // Now we can built the script - $tempConstructor = '!(function(){'; + $tempConstructor[] = '!(function(){'; // Get the modal width/height if ($options && is_scalar($options)) { - $tempConstructor .= ' - var getBtnOptions = new Function("return ' . addslashes($options) . '"), - btnOptions = getBtnOptions(), - modalWidth = btnOptions.size && btnOptions.size.x ? btnOptions.size.x : null, - modalHeight = btnOptions.size && btnOptions.size.y ? btnOptions.size.y : null;'; + $tempConstructor[] = 'var getBtnOptions=new Function("return ' . addslashes($options) . '"),'; + $tempConstructor[] = 'btnOptions=getBtnOptions(),'; + $tempConstructor[] = 'modalWidth=btnOptions.size&&btnOptions.size.x?btnOptions.size.x:null,'; + $tempConstructor[] = 'modalHeight=btnOptions.size&&btnOptions.size.y?btnOptions.size.y:null;'; } else { - $tempConstructor .= ' - var btnOptions = {}, modalWidth = null, modalHeight = null;'; + $tempConstructor[] = 'var btnOptions={},modalWidth=null,modalHeight=null;'; } - $tempConstructor .= " - editor.addButton(\"" . $name . "\", { - text: \"" . $title . "\", - title: \"" . $title . "\", - icon: \"" . $icon . "\", - onclick: function () {"; + // Now we can built the script + // AddButton starts here + $tempConstructor[] = 'editor.addButton("' . $name . '",{'; + $tempConstructor[] = 'text:"' . $title . '",'; + $tempConstructor[] = 'title:"' . $title . '",'; + $tempConstructor[] = 'icon:"' . $icon . '",'; + + // Onclick starts here + $tempConstructor[] = 'onclick:function(){'; if ($href || $button->get('modal')) { - $tempConstructor .= " - var modalOptions = { - title : \"" . $title . "\", - url : '" . $href . "', - buttons: [{ - text : \"Close\", - onclick: \"close\" - }] - } - if(modalWidth){ - modalOptions.width = modalWidth; - } - if(modalHeight){ - modalOptions.height = modalHeight; - } - editor.windowManager.open(modalOptions);"; + // TinyMCE standard modal options + $tempConstructor[] = 'var modalOptions={'; + $tempConstructor[] = 'title:"' . $title . '",'; + $tempConstructor[] = 'url:"' . $href . '",'; + $tempConstructor[] = 'buttons:[{text: "Close",onclick:"close"}]'; + $tempConstructor[] = '};'; + + // Set width/height + $tempConstructor[] = 'if(modalWidth){modalOptions.width=modalWidth;}'; + $tempConstructor[] = 'if(modalHeight){modalOptions.height = modalHeight;}'; + $tempConstructor[] = 'editor.windowManager.open(modalOptions);'; if ($onclick && ($button->get('modal') || $href)) { - $tempConstructor .= "\r\n - " . $onclick . ' - '; + // Adds callback for close button + $tempConstructor[] = $onclick . ';'; } } else { - $tempConstructor .= "\r\n - " . $onclick . ' - '; + // Adds callback for the button, eg: readmore + $tempConstructor[] = $onclick . ';'; } - $tempConstructor .= ' - } - }); - })();'; + // Onclick ends here + $tempConstructor[] = '}'; + + // AddButton ends here + $tempConstructor[] = '});'; + + // IIFE ends here + $tempConstructor[] = '})();'; // The array with the toolbar buttons $btnsNames[] = $name . ' | '; // The array with code for each button - $tinyBtns[] = $tempConstructor; + $tinyBtns[] = implode($tempConstructor, ''); } } From 47b8972e303aefe1f6e4d872010071fe94102a3d Mon Sep 17 00:00:00 2001 From: Olivier Buisard <olivier.buisard@simplifyyourweb.com> Date: Sun, 25 Feb 2018 22:12:19 -0500 Subject: [PATCH 114/255] Update bootstrap-rtl.css (#19715) * Update bootstrap-rtl.css Duplicate entry .radio.btn-group > label:first-of-type * Update bootstrap-rtl.less Removed 2nd occurrence of .btn-group > .btn:first-child, .radio.btn-group > label:first-of-type --- media/jui/css/bootstrap-rtl.css | 16 ---------------- media/jui/less/bootstrap-rtl.less | 15 --------------- 2 files changed, 31 deletions(-) diff --git a/media/jui/css/bootstrap-rtl.css b/media/jui/css/bootstrap-rtl.css index 5ba1382c9345e..d2d155997c432 100644 --- a/media/jui/css/bootstrap-rtl.css +++ b/media/jui/css/bootstrap-rtl.css @@ -273,22 +273,6 @@ body { .pager .previous a { float: right; } -.btn-group > .btn:first-child, -.radio.btn-group > label:first-of-type { - margin-left: 0; - -webkit-border-bottom-left-radius: 0px; - border-bottom-left-radius: 0px; - -webkit-border-top-left-radius: 0px; - border-top-left-radius: 0px; - -moz-border-radius-bottomleft: 0px; - -moz-border-radius-topleft: 0px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - -moz-border-radius-topright: 4px; -} .icon-arrow-right { background-position: -241px -94px; float: left; diff --git a/media/jui/less/bootstrap-rtl.less b/media/jui/less/bootstrap-rtl.less index 7263d83813b65..81863bd3be884 100644 --- a/media/jui/less/bootstrap-rtl.less +++ b/media/jui/less/bootstrap-rtl.less @@ -280,21 +280,6 @@ direction:rtl; float: right; } -.btn-group > .btn:first-child, .radio.btn-group > label:first-of-type { - margin-left: 0; - -webkit-border-bottom-left-radius: 0px; - border-bottom-left-radius: 0px; - -webkit-border-top-left-radius: 0px; - border-top-left-radius: 0px; - -moz-border-radius-bottomleft: 0px; - -moz-border-radius-topleft: 0px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - -moz-border-radius-topright: 4px; -} .icon-arrow-right { background-position: -241px -94px; float: left; From eb68081a7d516b22695e7cb7fb9d5de85c75a7a3 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Sun, 25 Feb 2018 19:12:56 -0800 Subject: [PATCH 115/255] Hide global configuration and system information from non super users (#19697) * Hide global configuration and system information from non super users * Use identical operator --- administrator/modules/mod_menu/menu.php | 43 ++++++++++++++++--------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/administrator/modules/mod_menu/menu.php b/administrator/modules/mod_menu/menu.php index b694a59078327..f7280b1dfa51c 100644 --- a/administrator/modules/mod_menu/menu.php +++ b/administrator/modules/mod_menu/menu.php @@ -83,7 +83,7 @@ public function load($params, $enabled) $this->enabled = $enabled; $menutype = $this->params->get('menutype', '*'); - if ($menutype == '*') + if ($menutype === '*') { $name = $this->params->get('preset', 'joomla'); $levels = MenuHelper::loadPreset($name); @@ -256,7 +256,7 @@ protected function preprocess($items) $item->icon = isset($item->icon) ? $item->icon : ''; // Whether this scope can be displayed. Applies only to preset items. Db driven items should use un/published state. - if (($item->scope == 'help' && !$this->params->get('showhelp')) || ($item->scope == 'edit' && !$this->params->get('shownew'))) + if (($item->scope === 'help' && !$this->params->get('showhelp')) || ($item->scope === 'edit' && !$this->params->get('shownew'))) { continue; } @@ -282,7 +282,7 @@ protected function preprocess($items) } // Exclude Mass Mail if disabled in global configuration - if ($item->scope == 'massmail' && (JFactory::getApplication()->get('massmailoff', 0) == 1)) + if ($item->scope === 'massmail' && (JFactory::getApplication()->get('massmailoff', 0) == 1)) { continue; } @@ -290,12 +290,12 @@ protected function preprocess($items) // Exclude item if the component is not authorised $assetName = $item->element; - if ($item->element == 'com_categories') + if ($item->element === 'com_categories') { parse_str($item->link, $query); $assetName = isset($query['extension']) ? $query['extension'] : 'com_content'; } - elseif ($item->element == 'com_fields') + elseif ($item->element === 'com_fields') { parse_str($item->link, $query); @@ -314,14 +314,27 @@ protected function preprocess($items) list($assetName) = isset($query['context']) ? explode('.', $query['context'], 2) : array('com_fields'); } + elseif ($item->element === 'com_config' && !$user->authorise('core.admin')) + { + continue; + } + elseif ($item->element === 'com_admin') + { + parse_str($item->link, $query); + + if (isset($query['view']) && $query['view'] === 'sysinfo' && !$user->authorise('core.admin')) + { + continue; + } + } - if ($assetName && !$user->authorise(($item->scope == 'edit') ? 'core.create' : 'core.manage', $assetName)) + if ($assetName && !$user->authorise(($item->scope === 'edit') ? 'core.create' : 'core.manage', $assetName)) { continue; } // Exclude if link is invalid - if (!in_array($item->type, array('separator', 'heading', 'container')) && trim($item->link) == '') + if (!in_array($item->type, array('separator', 'heading', 'container')) && trim($item->link) === '') { continue; } @@ -330,7 +343,7 @@ protected function preprocess($items) $item->submenu = $this->preprocess($item->submenu); // Populate automatic children for container items - if ($item->type == 'container') + if ($item->type === 'container') { $exclude = (array) $item->params->get('hideitems') ?: array(); $components = MenusHelper::getMenuItems('main', false, $exclude); @@ -347,7 +360,7 @@ protected function preprocess($items) } // Remove repeated and edge positioned separators, It is important to put this check at the end of any logical filtering. - if ($item->type == 'separator') + if ($item->type === 'separator') { if ($noSeparator) { @@ -368,7 +381,7 @@ protected function preprocess($items) $language->load($item->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $item->element, null, false, true); } - if ($item->type == 'separator' && $item->params->get('text_separator') == 0) + if ($item->type === 'separator' && $item->params->get('text_separator') == 0) { $item->title = ''; } @@ -402,11 +415,11 @@ protected function populateTree($levels) { $class = $this->enabled ? $item->class : 'disabled'; - if ($item->type == 'separator') + if ($item->type === 'separator') { $this->tree->addChild(new Node\Separator($item->title)); } - elseif ($item->type == 'heading') + elseif ($item->type === 'heading') { // We already excluded heading type menu item with no children. $this->tree->addChild(new Node\Heading($item->title, $class, null, $item->icon), $this->enabled); @@ -417,7 +430,7 @@ protected function populateTree($levels) $this->tree->getParent(); } } - elseif ($item->type == 'url') + elseif ($item->type === 'url') { $cNode = new Node\Url($item->title, $item->link, $item->browserNav, $class, null, $item->icon); $this->tree->addChild($cNode, $this->enabled); @@ -428,7 +441,7 @@ protected function populateTree($levels) $this->tree->getParent(); } } - elseif ($item->type == 'component') + elseif ($item->type === 'component') { $cNode = new Node\Component($item->title, $item->element, $item->link, $item->browserNav, $class, null, $item->icon); $this->tree->addChild($cNode, $this->enabled); @@ -439,7 +452,7 @@ protected function populateTree($levels) $this->tree->getParent(); } } - elseif ($item->type == 'container') + elseif ($item->type === 'container') { // We already excluded container type menu item with no children. $this->tree->addChild(new Node\Container($item->title, $item->class, null, $item->icon), $this->enabled); From 5a113af541d32d7ada383c4ed374d8c314786427 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 26 Feb 2018 03:13:34 +0000 Subject: [PATCH 116/255] [a11y] Cache toolbar (#19686) We use the icon name to populate the ID. This toolbar has the same icon for both buttons so we have two buttons with the same id which is an accessibility failure This pr ensures every id attribute value is unique Because the icon has multiple names we can simply use one of the alternative names as a quick and dirty fix. There is no visual change --- administrator/components/com_cache/views/cache/view.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_cache/views/cache/view.html.php b/administrator/components/com_cache/views/cache/view.html.php index 7285b5a49c91d..6208442ca9ac5 100644 --- a/administrator/components/com_cache/views/cache/view.html.php +++ b/administrator/components/com_cache/views/cache/view.html.php @@ -76,7 +76,7 @@ protected function addToolbar() } JToolbarHelper::custom('delete', 'delete.png', 'delete_f2.png', 'JTOOLBAR_DELETE', true); - JToolbarHelper::custom('deleteAll', 'delete.png', 'delete_f2.png', 'JTOOLBAR_DELETE_ALL', false); + JToolbarHelper::custom('deleteAll', 'remove.png', 'delete_f2.png', 'JTOOLBAR_DELETE_ALL', false); JToolbarHelper::divider(); if (JFactory::getUser()->authorise('core.admin', 'com_cache')) From 5ff73b0f5eb800a61f6a52e9ecc929fd3078287d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20H=C3=A4usler?= <florian@hr-it-solutions.com> Date: Mon, 26 Feb 2018 04:13:54 +0100 Subject: [PATCH 117/255] Wrong desc fixed. Changed title to document! (#19685) * Wrong desc fixed. Changed title to document! * Update Document.php --- libraries/src/Document/Document.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Document/Document.php b/libraries/src/Document/Document.php index fecc9f754def3..270a87de3062b 100644 --- a/libraries/src/Document/Document.php +++ b/libraries/src/Document/Document.php @@ -968,7 +968,7 @@ public function setDescription($description) } /** - * Return the title of the page. + * Return the description of the document. * * @return string * From 7f4b9c16a5324dae865258f1145c6eb355d05adf Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle <bembelimen@users.noreply.github.com> Date: Mon, 26 Feb 2018 04:14:22 +0100 Subject: [PATCH 118/255] Move custom buttons to the other buttons in TinyMCE (#19656) --- plugins/editors/tinymce/tinymce.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/editors/tinymce/tinymce.php b/plugins/editors/tinymce/tinymce.php index 4fe0c22d4cb16..314263b1703df 100644 --- a/plugins/editors/tinymce/tinymce.php +++ b/plugins/editors/tinymce/tinymce.php @@ -575,7 +575,7 @@ public function onDisplay( if ($custom_button) { $separator = strpos($custom_button, ',') !== false ? ',' : ' '; - $toolbar2 = array_merge($toolbar2, explode($separator, $custom_button)); + $toolbar1 = array_merge($toolbar1, explode($separator, $custom_button)); } // Drag and drop Images From 1735101b0e7d22912ffa2530598c6fd0153fbf78 Mon Sep 17 00:00:00 2001 From: George Wilson <georgejameswilson@googlemail.com> Date: Mon, 26 Feb 2018 03:14:46 +0000 Subject: [PATCH 119/255] Proxy to a higher error handler if there is one available (#19645) --- plugins/system/redirect/redirect.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/system/redirect/redirect.php b/plugins/system/redirect/redirect.php index 7e328327fb401..7a7a99d047cae 100644 --- a/plugins/system/redirect/redirect.php +++ b/plugins/system/redirect/redirect.php @@ -331,6 +331,14 @@ private static function doErrorHandling($error) } } - JErrorPage::render($error); + // Proxy to the previous exception handler if available, otherwise just render the error page + if (self::$previousExceptionHandler) + { + call_user_func_array(self::$previousExceptionHandler, array($error)); + } + else + { + JErrorPage::render($error); + } } } From 720c5defea98257a4f98d6e0ffa4796a56c04640 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Mon, 26 Feb 2018 04:15:21 +0100 Subject: [PATCH 120/255] Correct output_buffering check in 3.8.x (#19611) * correct output_buffering check in 3.8.x * simplified the check @quy * this is why we can not have nice things.. fixing the check for output_buffering --- administrator/components/com_admin/models/sysinfo.php | 4 +++- installation/model/setup.php | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index fe9cd8a05d070..6b606e63db373 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -239,6 +239,8 @@ public function &getPhpSettings() return $this->php_settings; } + $outputBuffering = ini_get('output_buffering'); + $this->php_settings = array( 'safe_mode' => ini_get('safe_mode') == '1', 'display_errors' => ini_get('display_errors') == '1', @@ -246,7 +248,7 @@ public function &getPhpSettings() 'file_uploads' => ini_get('file_uploads') == '1', 'magic_quotes_gpc' => ini_get('magic_quotes_gpc') == '1', 'register_globals' => ini_get('register_globals') == '1', - 'output_buffering' => (bool) ini_get('output_buffering'), + 'output_buffering' => ($outputBuffering === 'On') ? true : is_numeric($outputBuffering), 'open_basedir' => ini_get('open_basedir'), 'session.save_path' => ini_get('session.save_path'), 'session.auto_start' => ini_get('session.auto_start'), diff --git a/installation/model/setup.php b/installation/model/setup.php index a07b29d87e4ac..f4690c6982cca 100644 --- a/installation/model/setup.php +++ b/installation/model/setup.php @@ -372,9 +372,10 @@ public function getPhpSettings() $settings[] = $setting; // Check for output buffering. + $outputBuffering = ini_get('output_buffering'); $setting = new stdClass; $setting->label = JText::_('INSTL_OUTPUT_BUFFERING'); - $setting->state = (bool) ini_get('output_buffering'); + $setting->state = ($outputBuffering === 'On') ? true : is_numeric($outputBuffering); $setting->recommended = false; $settings[] = $setting; From def9a791a06cb23861deec9a889a06d257410cd2 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Mon, 26 Feb 2018 04:15:37 +0100 Subject: [PATCH 121/255] Pass the configuration tmp_path to the archive package for extension installations (#19608) * pass the configuration tmp_path to the archive package for extension installations * add missing \ --- libraries/src/Installer/InstallerHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Installer/InstallerHelper.php b/libraries/src/Installer/InstallerHelper.php index 83bf3d29336ea..cc8d9ade5974e 100644 --- a/libraries/src/Installer/InstallerHelper.php +++ b/libraries/src/Installer/InstallerHelper.php @@ -132,7 +132,7 @@ public static function unpack($p_filename, $alwaysReturnArray = false) // Do the unpacking of the archive try { - $archive = new Archive; + $archive = new Archive(array('tmp_path' => \JFactory::getConfig()->get('tmp_path'))); $extract = $archive->extract($archivename, $extractdir); } catch (\Exception $e) From f072972b44a58b4b5312d88d0db4d6f9bbe85907 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Sun, 25 Feb 2018 21:15:50 -0600 Subject: [PATCH 122/255] Improve header handling in PageController cache (#19591) --- libraries/src/Cache/Controller/PageController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/src/Cache/Controller/PageController.php b/libraries/src/Cache/Controller/PageController.php index b4f4e1542810f..d4c08c8e20e2b 100644 --- a/libraries/src/Cache/Controller/PageController.php +++ b/libraries/src/Cache/Controller/PageController.php @@ -207,7 +207,8 @@ protected function _noChange() $app = \JFactory::getApplication(); // Send not modified header and exit gracefully - header('HTTP/1.x 304 Not Modified', true); + $app->setHeader('Status', 304, true); + $app->sendHeaders(); $app->close(); } @@ -222,6 +223,6 @@ protected function _noChange() */ protected function _setEtag($etag) { - \JFactory::getApplication()->setHeader('ETag', $etag, true); + \JFactory::getApplication()->setHeader('ETag', '"' . $etag . '"', true); } } From bd47a992d6304f222909c9a449528d9ca0f8d17e Mon Sep 17 00:00:00 2001 From: Thomas Hunziker <werbemails@bakual.ch> Date: Mon, 26 Feb 2018 04:16:56 +0100 Subject: [PATCH 123/255] Defining typeAlias (#19647) --- libraries/src/MVC/Model/AdminModel.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/src/MVC/Model/AdminModel.php b/libraries/src/MVC/Model/AdminModel.php index 80fc53ae5ba1d..e5f9606c3b9a0 100644 --- a/libraries/src/MVC/Model/AdminModel.php +++ b/libraries/src/MVC/Model/AdminModel.php @@ -21,6 +21,14 @@ */ abstract class AdminModel extends FormModel { + /** + * The type alias for this content type (for example, 'com_content.article'). + * + * @var string + * @since __DEPLOY_VERSION__ + */ + public $typeAlias; + /** * The prefix to use with controller messages. * From 6c4cb80d78e53d1b172d9584d1cdec024e933dc6 Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Mon, 26 Feb 2018 05:18:53 +0200 Subject: [PATCH 124/255] Fix JRoute('&var=...') not adding current URL variables when current URL is the home page (#19582) * Fix loosing current URL vars when in home page * Update SiteRouter.php * Test units * Test units --- libraries/src/Router/SiteRouter.php | 4 ++-- tests/unit/suites/libraries/cms/router/JRouterSiteTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/src/Router/SiteRouter.php b/libraries/src/Router/SiteRouter.php index 38b53407aafe1..0af88ba1490a7 100644 --- a/libraries/src/Router/SiteRouter.php +++ b/libraries/src/Router/SiteRouter.php @@ -299,8 +299,8 @@ protected function parseSefRoute(&$uri) // If user not allowed to see default menu item then avoid notices if (is_object($item)) { - // Set the information in the request - $vars = $item->query; + // Set query variables of default menu item into the request, but keep existing request variables + $vars = array_merge($vars, $item->query); // Get the itemid $vars['Itemid'] = $item->id; diff --git a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php index 9d13a7891a5f1..ee9244fc88ed5 100644 --- a/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php +++ b/tests/unit/suites/libraries/cms/router/JRouterSiteTest.php @@ -692,8 +692,8 @@ public function casesParseSefRoute() 'url' => '?testvar=testvalue', 'mode' => JROUTER_MODE_RAW, 'appConfig' => array(), - 'expParseVars' => array('Itemid' => '45', 'option' => 'com_test3', 'view' => 'test3'), - 'expObjVars' => array('Itemid' => '45', 'option' => 'com_test3', 'view' => 'test3') + 'expParseVars' => array('testvar' => 'testvalue', 'Itemid' => '45', 'option' => 'com_test3', 'view' => 'test3'), + 'expObjVars' => array('testvar' => 'testvalue', 'Itemid' => '45', 'option' => 'com_test3', 'view' => 'test3') ), 'abs-raw-path.ext-no_qs-no_sfx' => array( 'url' => '/test/path.json', From fb45391e39d839a0932102b135122f329f77e7be Mon Sep 17 00:00:00 2001 From: Peter Martin <github@pe7er.com> Date: Mon, 26 Feb 2018 03:20:21 +0000 Subject: [PATCH 125/255] [TemplateAdapter.php] Rewrote hardcoded SQL to query object (#17923) * rewrote hardcoded SQL to query object * correction in SQL for home field is declared as char/varchar * correction in SQL for home field is declared as char/varchar + ->q() * the requested change from @Quy --- .../src/Installer/Adapter/TemplateAdapter.php | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libraries/src/Installer/Adapter/TemplateAdapter.php b/libraries/src/Installer/Adapter/TemplateAdapter.php index 0368d3c67c9c9..eee6a50e335f4 100644 --- a/libraries/src/Installer/Adapter/TemplateAdapter.php +++ b/libraries/src/Installer/Adapter/TemplateAdapter.php @@ -457,7 +457,11 @@ public function uninstall($id) // Deny remove default template $db = $this->parent->getDbo(); - $query = "SELECT COUNT(*) FROM #__template_styles WHERE home = '1' AND template = " . $db->quote($name); + $query = $db->getQuery(true) + ->select('COUNT(*)') + ->from($db->qn('#__template_styles')) + ->where($db->qn('home') . ' = ' . $db->q('1')) + ->where($db->qn('template') . ' = ' . $db->q($name)); $db->setQuery($query); if ($db->loadResult() != 0) @@ -513,12 +517,15 @@ public function uninstall($id) } // Set menu that assigned to the template back to default template - $query = 'UPDATE #__menu' - . ' SET template_style_id = 0' - . ' WHERE template_style_id in (' - . ' SELECT s.id FROM #__template_styles s' - . ' WHERE s.template = ' . $db->quote(strtolower($name)) . ' AND s.client_id = ' . $clientId . ')'; - + $subQuery = $db->getQuery(true) + ->select('s.id') + ->from($db->qn('#__template_styles', 's')) + ->where($db->qn('s.template') . ' = ' . $db->q(strtolower($name))) + ->where($db->qn('s.client_id') . ' = ' . $clientId); + $query->clear() + ->update($db->qn('#__menu')) + ->set($db->qn('template_style_id') . ' = 0') + ->where($db->qn('template_style_id') . ' IN (' . (string) $subQuery . ')'); $db->setQuery($query); $db->execute(); From 5ce95a70d6a9d2fbe4ca00e482432e89ae788514 Mon Sep 17 00:00:00 2001 From: LivioCavallo <LivioCavallo@users.noreply.github.com> Date: Mon, 26 Feb 2018 04:21:43 +0100 Subject: [PATCH 126/255] added microdata (#17689) --- .../com_tags/views/tag/tmpl/default_items.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/components/com_tags/views/tag/tmpl/default_items.php b/components/com_tags/views/tag/tmpl/default_items.php index 0726dab0446ec..87cb5e4aab90d 100644 --- a/components/com_tags/views/tag/tmpl/default_items.php +++ b/components/com_tags/views/tag/tmpl/default_items.php @@ -67,19 +67,19 @@ <?php if ($this->items === false || $n === 0) : ?> <p><?php echo JText::_('COM_TAGS_NO_ITEMS'); ?></p> <?php else : ?> - <ul class="category list-striped"> + <ul class="category list-striped" itemscope itemtype="http://schema.org/ItemList"> <?php foreach ($items as $i => $item) : ?> <?php if ($item->core_state == 0) : ?> - <li class="system-unpublished cat-list-row<?php echo $i % 2; ?>"> + <li class="system-unpublished cat-list-row<?php echo $i % 2; ?>" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <?php else : ?> - <li class="cat-list-row<?php echo $i % 2; ?> clearfix"> + <li class="cat-list-row<?php echo $i % 2; ?> clearfix" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <?php if (($item->type_alias === 'com_users.category') || ($item->type_alias === 'com_banners.category')) : ?> - <h3> + <h3 itemprop="name"> <?php echo $this->escape($item->core_title); ?> </h3> <?php else : ?> - <h3> - <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>"> + <h3 itemprop="name"> + <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>" itemprop="url"> <?php echo $this->escape($item->core_title); ?> </a> </h3> @@ -89,14 +89,14 @@ <?php echo $item->event->afterDisplayTitle; ?> <?php $images = json_decode($item->core_images); ?> <?php if ($this->params->get('tag_list_show_item_image', 1) == 1 && !empty($images->image_intro)) : ?> - <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>"> - <img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" /> + <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>" itemprop="url"> + <img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" itemprop="image"> </a> <?php endif; ?> <?php if ($this->params->get('tag_list_show_item_description', 1)) : ?> <?php // Content is generated by content plugin event "onContentBeforeDisplay" ?> <?php echo $item->event->beforeDisplayContent; ?> - <span class="tag-body"> + <span class="tag-body" itemprop="description"> <?php echo JHtml::_('string.truncate', $item->core_body, $this->params->get('tag_list_item_maximum_characters')); ?> </span> <?php // Content is generated by content plugin event "onContentAfterDisplay" ?> From a6f9021e2d10a14d49e78e31c25c838853c63733 Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Mon, 26 Feb 2018 05:23:40 +0200 Subject: [PATCH 127/255] [Schema checker] (Database FIX) Add support for checking NULL and DEFAULT column attributes (#17351) * [Schema checker] (Database FIX) Add support for checking NULL and DEFAULT column attributes * CS * Update en-GB.com_installer.ini * english --- .../language/en-GB/en-GB.com_installer.ini | 2 +- .../src/Schema/ChangeItem/MysqlChangeItem.php | 88 ++++++++++++++++++- 2 files changed, 86 insertions(+), 4 deletions(-) diff --git a/administrator/language/en-GB/en-GB.com_installer.ini b/administrator/language/en-GB/en-GB.com_installer.ini index 4768242ea6d36..28163f9ea1375 100644 --- a/administrator/language/en-GB/en-GB.com_installer.ini +++ b/administrator/language/en-GB/en-GB.com_installer.ini @@ -93,7 +93,7 @@ COM_INSTALLER_MINIMUM_STABILITY_RC="Release Candidate" COM_INSTALLER_MSG_DATABASE="This screen allows to you check that your database table structure is up to date with changes from the previous versions." COM_INSTALLER_MSG_DATABASE_ADD_COLUMN="Table %2$s does not have column %3$s. (From file %1$s.)" COM_INSTALLER_MSG_DATABASE_ADD_INDEX="Table %2$s does not have index %3$s. (From file %1$s.)" -COM_INSTALLER_MSG_DATABASE_CHANGE_COLUMN_TYPE="Table %2$s does not have column %3$s with type %4$s. (From file %1$s.)" +COM_INSTALLER_MSG_DATABASE_CHANGE_COLUMN_TYPE="Table %2$s has the wrong type or attributes for column %3$s with type %4$s. (From file %1$s.)" COM_INSTALLER_MSG_DATABASE_CHECKED_OK="%s database changes were checked." COM_INSTALLER_MSG_DATABASE_CREATE_TABLE="Table %2$s does not exist. (From file %1$s.)" COM_INSTALLER_MSG_DATABASE_DRIVER="Database driver: %s." diff --git a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php index b3d5ccb239c8b..8639f16a25d42 100644 --- a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php +++ b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php @@ -49,7 +49,7 @@ protected function buildCheckQuery() $find = array('#((\s*)\(\s*([^)\s]+)\s*)(\))#', '#(\s)(\s*)#'); $replace = array('($3)', '$1'); $updateQuery = preg_replace($find, $replace, $this->updateQuery); - $wordArray = explode(' ', $updateQuery); + $wordArray = preg_split("~'[^']*'(*SKIP)(*F)|\s+~u", trim($updateQuery, "; \t\n\r\0\x0B")); // First, make sure we have an array of at least 6 elements // if not, we can't make a check query for this one @@ -153,6 +153,11 @@ protected function buildCheckQuery() $type = $this->fixInteger($wordArray[5], $wordArray[6]); } + // Detect changes in NULL and in DEFAULT column attributes + $changesArray = array_slice($wordArray, 6); + $defaultCheck = $this->checkDefault($changesArray, $type); + $nullCheck = $this->checkNull($changesArray); + /** * When we made the UTF8MB4 conversion then text becomes medium text - so loosen the checks to these two types * otherwise (for example) the profile fields profile_value check fails - see https://github.com/joomla/joomla-cms/issues/9258 @@ -160,7 +165,9 @@ protected function buildCheckQuery() $typeCheck = $this->fixUtf8mb4TypeChecks($type); $result = 'SHOW COLUMNS IN ' . $wordArray[2] . ' WHERE field = ' . $this->fixQuote($wordArray[4]) - . ' AND ' . $typeCheck; + . ' AND ' . $typeCheck + . ($defaultCheck ? ' AND ' . $defaultCheck : '') + . ($nullCheck ? ' AND ' . $nullCheck : ''); $this->queryType = 'CHANGE_COLUMN_TYPE'; $this->msgElements = array($this->fixQuote($wordArray[2]), $this->fixQuote($wordArray[4]), $type); } @@ -173,6 +180,11 @@ protected function buildCheckQuery() { $type = $this->fixInteger($wordArray[6], $wordArray[7]); } + + // Detect changes in NULL and in DEFAULT column attributes + $changesArray = array_slice($wordArray, 6); + $defaultCheck = $this->checkDefault($changesArray, $type); + $nullCheck = $this->checkNull($changesArray); /** * When we made the UTF8MB4 conversion then text becomes medium text - so loosen the checks to these two types @@ -181,7 +193,9 @@ protected function buildCheckQuery() $typeCheck = $this->fixUtf8mb4TypeChecks($type); $result = 'SHOW COLUMNS IN ' . $wordArray[2] . ' WHERE field = ' . $this->fixQuote($wordArray[5]) - . ' AND ' . $typeCheck; + . ' AND ' . $typeCheck + . ($defaultCheck ? ' AND ' . $defaultCheck : '') + . ($nullCheck ? ' AND ' . $nullCheck : ''); $this->queryType = 'CHANGE_COLUMN_TYPE'; $this->msgElements = array($this->fixQuote($wordArray[2]), $this->fixQuote($wordArray[5]), $type); } @@ -307,4 +321,72 @@ private function fixUtf8mb4TypeChecks($type) return $typeCheck; } + + /** + * Create query clause for column changes/modifications for NULL attribute + * + * @param array $changesArray The array of words after COLUMN name + * + * @return string The query clause for NULL check in the check query + * + * @since __DEPLOY_VERSION__ + */ + private function checkNull($changesArray) + { + // Find NULL keyword + $index = array_search('null', array_map('strtolower', $changesArray)); + + // Create the check + if ($index !== false) + { + if ($index == 0 || strtolower($changesArray[$index - 1]) !== 'not') + { + return ' `null` = ' . $this->db->quote('YES'); + } + else + { + return ' `null` = ' . $this->db->quote('NO'); + } + } + + return false; + } + + /** + * Create query clause for column changes/modifications for DEFAULT attribute + * + * @param array $changesArray The array of words after COLUMN name + * @param string $type The type of the COLUMN + * + * @return string The query clause for DEFAULT check in the check query + * + * @since __DEPLOY_VERSION__ + */ + private function checkDefault($changesArray, $type) + { + // Skip types that do not support default values + $type = strtolower($type); + if (substr($type, -4) === 'text' || substr($type, -4) === 'blob') + { + return false; + } + + // Find DEFAULT keyword + $index = array_search('default', array_map('strtolower', $changesArray)); + + // Create the check + if ($index !== false) + { + if (strtolower($changesArray[$index + 1]) === 'null') + { + return ' `default` IS NULL'; + } + else + { + return ' `default` = ' . $changesArray[$index + 1]; + } + } + + return false; + } } From c8b212151db8c1c7f8f1bdc222f8128dc8641dc2 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Mon, 26 Feb 2018 16:19:45 -0600 Subject: [PATCH 128/255] The One Right Session Management Configuration For Joomla! 3 (#19687) * Session garbage collection plugin * Session metadata manager * Expand metadata manager to allow all apps, CLI for metadata cleaner * Move metadata cleanup to the plugin * Misc fixes from feedback * Language tweaks * Change to uint filter, if it'll get people to review and accept the damn PR... --- .../sql/updates/mysql/3.8.6-2018-02-14.sql | 3 + .../updates/postgresql/3.8.6-2018-02-14.sql | 3 + .../sql/updates/sqlazure/3.8.6-2018-02-14.sql | 3 + .../en-GB/en-GB.plg_system_sessiongc.ini | 15 ++ .../en-GB/en-GB.plg_system_sessiongc.sys.ini | 7 + cli/sessionMetadataGc.php | 59 +++++++ installation/sql/mysql/joomla.sql | 1 + installation/sql/postgresql/joomla.sql | 1 + installation/sql/sqlazure/joomla.sql | 1 + libraries/src/Application/CMSApplication.php | 123 ++------------ libraries/src/Session/MetadataManager.php | 160 ++++++++++++++++++ plugins/system/sessiongc/sessiongc.php | 78 +++++++++ plugins/system/sessiongc/sessiongc.xml | 74 ++++++++ 13 files changed, 417 insertions(+), 111 deletions(-) create mode 100644 administrator/language/en-GB/en-GB.plg_system_sessiongc.ini create mode 100644 administrator/language/en-GB/en-GB.plg_system_sessiongc.sys.ini create mode 100644 cli/sessionMetadataGc.php create mode 100644 libraries/src/Session/MetadataManager.php create mode 100644 plugins/system/sessiongc/sessiongc.php create mode 100644 plugins/system/sessiongc/sessiongc.xml diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql index 955e669aada97..b88087a13504f 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.8.6-2018-02-14.sql @@ -1,3 +1,6 @@ +INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0); + INSERT INTO `#__postinstall_messages` (`extension_id`, `title_key`, `description_key`, `action_key`, `language_extension`, `language_client_id`, `type`, `action_file`, `action`, `condition_file`, `condition_method`, `version_introduced`, `enabled`) VALUES (700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql index 8c57ae40bb5fb..bd70f521d3872 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.8.6-2018-02-14.sql @@ -1,3 +1,6 @@ +INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0); + INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled") VALUES (700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql index 8c57ae40bb5fb..29ad515aec05a 100644 --- a/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.8.6-2018-02-14.sql @@ -1,3 +1,6 @@ +INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0); + INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled") VALUES (700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); diff --git a/administrator/language/en-GB/en-GB.plg_system_sessiongc.ini b/administrator/language/en-GB/en-GB.plg_system_sessiongc.ini new file mode 100644 index 0000000000000..6f8879115a291 --- /dev/null +++ b/administrator/language/en-GB/en-GB.plg_system_sessiongc.ini @@ -0,0 +1,15 @@ +; Joomla! Project +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_SESSIONGC="System - Session Data Purge" +PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_GC_DESC="When enabled, this plugin will attempt to purge expired data based on the frequency calculated by the probability and divisor." +PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_GC_LABEL="Enable Session Data Cleanup" +PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_METADATA_GC_DESC="When enabled, this plugin will clean optional session metadata from the database. Note that this operation will not run when the database handler is in use as that data is cleared as part of the Session Data Cleanup operation." +PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_METADATA_GC_LABEL="Enable Session Metadata Cleanup" +PLG_SYSTEM_SESSIONGC_GC_DIVISOR_DESC="In combination with the probability field, these two fields are used to determine the frequency of the session data cleanup operation being triggered on a request. The probability is calculated by using probability/divisor, e.g. 1/100 means there is a 1% chance that the process runs on each request." +PLG_SYSTEM_SESSIONGC_GC_DIVISOR_LABEL="Divisor" +PLG_SYSTEM_SESSIONGC_GC_PROBABILITY_DESC="In combination with the divisor field, these two fields are used to determine the frequency of the session data cleanup operation being triggered on a request." +PLG_SYSTEM_SESSIONGC_GC_PROBABILITY_LABEL="Probability" +PLG_SYSTEM_SESSIONGC_XML_DESCRIPTION="System Plugin that purges expired data and metadata depending on the session handler set in Global Configuration." diff --git a/administrator/language/en-GB/en-GB.plg_system_sessiongc.sys.ini b/administrator/language/en-GB/en-GB.plg_system_sessiongc.sys.ini new file mode 100644 index 0000000000000..415d42e49971b --- /dev/null +++ b/administrator/language/en-GB/en-GB.plg_system_sessiongc.sys.ini @@ -0,0 +1,7 @@ +; Joomla! Project +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_SESSIONGC="System - Session Data Purge" +PLG_SYSTEM_SESSIONGC_XML_DESCRIPTION="System Plugin that purges expired data and metadata depending on the session handler set in Global Configuration." diff --git a/cli/sessionMetadataGc.php b/cli/sessionMetadataGc.php new file mode 100644 index 0000000000000..aa2007b9dea72 --- /dev/null +++ b/cli/sessionMetadataGc.php @@ -0,0 +1,59 @@ +<?php +/** + * @package Joomla.Cli + * + * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +/** + * This is a CRON script to delete expired optional session metadata which should be called from the command-line, not the + * web. For example something like: + * /usr/bin/php /path/to/site/cli/sessionMetadataGc.php + */ + +// Initialize Joomla framework +const _JEXEC = 1; + +// Load system defines +if (file_exists(dirname(__DIR__) . '/defines.php')) +{ + require_once dirname(__DIR__) . '/defines.php'; +} + +if (!defined('_JDEFINES')) +{ + define('JPATH_BASE', dirname(__DIR__)); + require_once JPATH_BASE . '/includes/defines.php'; +} + +// Get the framework. +require_once JPATH_LIBRARIES . '/import.legacy.php'; + +// Bootstrap the CMS libraries. +require_once JPATH_LIBRARIES . '/cms.php'; + +/** + * Cron job to trash expired session metadata. + * + * @since __DEPLOY_VERSION__ + */ +class SessionMetadataGc extends JApplicationCli +{ + /** + * Entry point for the script + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function doExecute() + { + $metadataManager = new \Joomla\CMS\Session\MetadataManager($this, \Joomla\CMS\Factory::getDbo()); + $sessionExpire = \Joomla\CMS\Factory::getSession()->getExpire(); + + $metadataManager->deletePriorTo(time() - $sessionExpire); + } +} + +JApplicationCli::getInstance('SessionMetadataGc')->execute(); diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index ceeef4b235a1f..72dddaa5bb888 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -642,6 +642,7 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index 6ac7c372043de..d5686a2e6f61c 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -656,6 +656,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 2815ea5c573ef..06cba75faa2b8 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -871,6 +871,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), +(480, 0, 'plg_system_sessiongc', 'plugin', 'sessiongc', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index 5d7409602d9e3..ef13f58fcd1e3 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -11,6 +11,7 @@ defined('JPATH_PLATFORM') or die; use Joomla\CMS\Input\Input; +use Joomla\CMS\Session\MetadataManager; use Joomla\Registry\Registry; /** @@ -62,6 +63,14 @@ class CMSApplication extends WebApplication */ protected $_messageQueue = array(); + /** + * The session metadata manager + * + * @var MetadataManager + * @since __DEPLOY_VERSION__ + */ + protected $metadataManager = null; + /** * The name of the application. * @@ -106,6 +115,8 @@ public function __construct(Input $input = null, Registry $config = null, \JAppl { parent::__construct($input, $config, $client); + $this->metadataManager = new MetadataManager($this, \JFactory::getDbo()); + // Load and set the dispatcher $this->loadDispatcher(); @@ -134,60 +145,6 @@ public function __construct(Input $input = null, Registry $config = null, \JAppl } } - /** - * After the session has been started we need to populate it with some default values. - * - * @return void - * - * @since 3.2 - */ - public function afterSessionStart() - { - $session = \JFactory::getSession(); - - if ($session->isNew()) - { - $session->set('registry', new Registry); - $session->set('user', new \JUser); - } - - // Get the session handler from the configuration. - $handler = $this->get('session_handler', 'none'); - - $time = time(); - - // If the database session handler is not in use and the current time is a divisor of 5, purge session metadata after the response is sent - if ($handler !== 'database' && $time % 5 === 0) - { - $this->registerEvent( - 'onAfterRespond', - function () use ($session, $time) - { - // TODO: At some point we need to get away from having session data always in the db. - $db = \JFactory::getDbo(); - - $query = $db->getQuery(true) - ->delete($db->quoteName('#__session')) - ->where($db->quoteName('time') . ' < ' . $db->quote((int) ($time - $session->getExpire()))); - - $db->setQuery($query); - - try - { - $db->execute(); - } - catch (\JDatabaseExceptionExecuting $exception) - { - /* - * The database API logs errors on failures so we don't need to add any error handling mechanisms here. - * Since garbage collection does not result in a fatal error when run in the session API, we don't allow it here either. - */ - } - } - ); - } - } - /** * Checks the user session. * @@ -201,63 +158,7 @@ function () use ($session, $time) */ public function checkSession() { - $db = \JFactory::getDbo(); - $session = \JFactory::getSession(); - $user = \JFactory::getUser(); - - $query = $db->getQuery(true) - ->select($db->quoteName('session_id')) - ->from($db->quoteName('#__session')) - ->where($db->quoteName('session_id') . ' = ' . $db->quote($session->getId())); - - $db->setQuery($query, 0, 1); - $exists = $db->loadResult(); - - // If the session record doesn't exist initialise it. - if (!$exists) - { - $query->clear(); - - $time = $session->isNew() ? time() : $session->get('session.timer.start'); - - $columns = array( - $db->quoteName('session_id'), - $db->quoteName('guest'), - $db->quoteName('time'), - $db->quoteName('userid'), - $db->quoteName('username'), - ); - - $values = array( - $db->quote($session->getId()), - (int) $user->guest, - $db->quote((int) $time), - (int) $user->id, - $db->quote($user->username), - ); - - if (!$this->get('shared_session', '0')) - { - $columns[] = $db->quoteName('client_id'); - $values[] = (int) $this->getClientId(); - } - - $query->insert($db->quoteName('#__session')) - ->columns($columns) - ->values(implode(', ', $values)); - - $db->setQuery($query); - - // If the insert failed, exit the application. - try - { - $db->execute(); - } - catch (\RuntimeException $e) - { - throw new \RuntimeException(\JText::_('JERROR_SESSION_STARTUP'), $e->getCode(), $e); - } - } + $this->metadataManager->createRecordIfNonExisting(\JFactory::getSession(), \JFactory::getUser()); } /** diff --git a/libraries/src/Session/MetadataManager.php b/libraries/src/Session/MetadataManager.php new file mode 100644 index 0000000000000..4ca837bc07d22 --- /dev/null +++ b/libraries/src/Session/MetadataManager.php @@ -0,0 +1,160 @@ +<?php +/** + * Joomla! Content Management System + * + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace Joomla\CMS\Session; + +defined('JPATH_PLATFORM') or die; + +use Joomla\Application\AbstractApplication; +use Joomla\CMS\Application\CMSApplication; +use Joomla\CMS\User\User; + +/** + * Manager for optional session metadata. + * + * @since __DEPLOY_VERSION__ + * @internal + */ +final class MetadataManager +{ + /** + * Application object. + * + * @var AbstractApplication + * @since __DEPLOY_VERSION__ + */ + private $app; + + /** + * Database driver. + * + * @var \JDatabaseDriver + * @since __DEPLOY_VERSION__ + */ + private $db; + + /** + * MetadataManager constructor. + * + * @param AbstractApplication $app Application object. + * @param \JDatabaseDriver $db Database driver. + * + * @since __DEPLOY_VERSION__ + */ + public function __construct(AbstractApplication $app, \JDatabaseDriver $db) + { + $this->app = $app; + $this->db = $db; + } + + /** + * Create the metadata record if it does not exist. + * + * @param Session $session The session to create the metadata record for. + * @param User $user The user to associate with the record. + * + * @return void + * + * @since __DEPLOY_VERSION__ + * @throws \RuntimeException + */ + public function createRecordIfNonExisting(Session $session, User $user) + { + $query = $this->db->getQuery(true) + ->select($this->db->quoteName('session_id')) + ->from($this->db->quoteName('#__session')) + ->where($this->db->quoteName('session_id') . ' = ' . $this->db->quote($session->getId())); + + $this->db->setQuery($query, 0, 1); + $exists = $this->db->loadResult(); + + // If the session record doesn't exist initialise it. + if ($exists) + { + return; + } + + $query->clear(); + + $time = $session->isNew() ? time() : $session->get('session.timer.start'); + + $columns = array( + $this->db->quoteName('session_id'), + $this->db->quoteName('guest'), + $this->db->quoteName('time'), + $this->db->quoteName('userid'), + $this->db->quoteName('username'), + ); + + $values = array( + $this->db->quote($session->getId()), + (int) $user->guest, + $this->db->quote((int) $time), + (int) $user->id, + $this->db->quote($user->username), + ); + + if ($this->app instanceof CMSApplication && !$this->app->get('shared_session', '0')) + { + $columns[] = $this->db->quoteName('client_id'); + $values[] = (int) $this->app->getClientId(); + } + + $query->insert($this->db->quoteName('#__session')) + ->columns($columns) + ->values(implode(', ', $values)); + + $this->db->setQuery($query); + + try + { + $this->db->execute(); + } + catch (\RuntimeException $e) + { + /* + * Because of how our session handlers are structured, we must abort the request if this insert query fails, + * especially in the case of the database handler which does not support "INSERT or UPDATE" logic. With the + * change to the `joomla/session` Framework package in 4.0, where the required logic is implemented in the + * handlers, we can change this catch block so that the error is gracefully handled and does not result + * in a fatal error for the request. + */ + throw new \RuntimeException(\JText::_('JERROR_SESSION_STARTUP'), $e->getCode(), $e); + } + } + + /** + * Delete records with a timestamp prior to the given time. + * + * @param integer $time The time records should be deleted if expired before. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function deletePriorTo($time) + { + $query = $this->db->getQuery(true) + ->delete($this->db->quoteName('#__session')) + ->where($this->db->quoteName('time') . ' < ' . $this->db->quote($time)); + + $this->db->setQuery($query); + + try + { + $this->db->execute(); + } + catch (\JDatabaseExceptionExecuting $exception) + { + /* + * The database API logs errors on failures so we don't need to add any error handling mechanisms here. + * Since garbage collection does not result in a fatal error when run in the session API, we don't allow it here either. + */ + } + } +} diff --git a/plugins/system/sessiongc/sessiongc.php b/plugins/system/sessiongc/sessiongc.php new file mode 100644 index 0000000000000..3693fb4daa286 --- /dev/null +++ b/plugins/system/sessiongc/sessiongc.php @@ -0,0 +1,78 @@ +<?php +/** + * @package Joomla.Plugin + * @subpackage System.sessiongc + * + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Application\CMSApplication; +use Joomla\CMS\Factory; +use Joomla\CMS\Plugin\CMSPlugin; +use Joomla\CMS\Session\MetadataManager; + +/** + * Garbage collection handler for session related data + * + * @since __DEPLOY_VERSION__ + */ +class PlgSystemSessionGc extends CMSPlugin +{ + /** + * Application object + * + * @var CMSApplication + * @since __DEPLOY_VERSION__ + */ + protected $app; + + /** + * Database driver + * + * @var JDatabaseDriver + * @since __DEPLOY_VERSION__ + */ + protected $db; + + /** + * Runs after the HTTP response has been sent to the client and performs garbage collection tasks + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function onAfterRespond() + { + $session = Factory::getSession(); + + if ($this->params->get('enable_session_gc', 1)) + { + $probability = $this->params->get('gc_probability', 1); + $divisor = $this->params->get('gc_divisor', 100); + + $random = $divisor * lcg_value(); + + if ($probability > 0 && $random < $probability) + { + $session->gc(); + } + } + + if ($this->app->get('session_handler', 'none') !== 'database' && $this->params->get('enable_session_metadata_gc', 1)) + { + $probability = $this->params->get('gc_probability', 1); + $divisor = $this->params->get('gc_divisor', 100); + + $random = $divisor * lcg_value(); + + if ($probability > 0 && $random < $probability) + { + $metadataManager = new MetadataManager($this->app, $this->db); + $metadataManager->deletePriorTo(time() - $session->getExpire()); + } + } + } +} diff --git a/plugins/system/sessiongc/sessiongc.xml b/plugins/system/sessiongc/sessiongc.xml new file mode 100644 index 0000000000000..f9d9886169158 --- /dev/null +++ b/plugins/system/sessiongc/sessiongc.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<extension version="3.8" type="plugin" group="system" method="upgrade"> + <name>plg_system_sessiongc</name> + <author>Joomla! Project</author> + <creationDate>February 2018</creationDate> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> + <license>GNU General Public License version 2 or later; see LICENSE.txt</license> + <authorEmail>admin@joomla.org</authorEmail> + <authorUrl>www.joomla.org</authorUrl> + <version>__DEPLOY_VERSION__</version> + <description>PLG_SYSTEM_SESSIONGC_XML_DESCRIPTION</description> + <files> + <filename plugin="sessiongc">sessiongc.php</filename> + </files> + <languages folder="language"> + <language tag="en-GB">en-GB/en-GB.plg_system_sessiongc.ini</language> + <language tag="en-GB">en-GB/en-GB.plg_system_sessiongc.sys.ini</language> + </languages> + <config> + <fields name="params"> + <fieldset name="basic"> + <field + name="enable_session_gc" + type="radio" + label="PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_GC_LABEL" + description="PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_GC_DESC" + class="btn-group btn-group-yesno" + default="1" + filter="uint" + > + <option value="1">JYES</option> + <option value="0">JNO</option> + </field> + + <field + name="enable_session_metadata_gc" + type="radio" + label="PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_METADATA_GC_LABEL" + description="PLG_SYSTEM_SESSIONGC_ENABLE_SESSION_METADATA_GC_DESC" + class="btn-group btn-group-yesno" + default="1" + filter="uint" + > + <option value="1">JYES</option> + <option value="0">JNO</option> + </field> + + <field + name="gc_probability" + type="number" + label="PLG_SYSTEM_SESSIONGC_GC_PROBABILITY_LABEL" + description="PLG_SYSTEM_SESSIONGC_GC_PROBABILITY_DESC" + filter="uint" + validate="number" + min="1" + default="1" + showon="enable_session_gc:1[OR]enable_session_metadata_gc:1" + /> + + <field + name="gc_divisor" + type="number" + label="PLG_SYSTEM_SESSIONGC_GC_DIVISOR_LABEL" + description="PLG_SYSTEM_SESSIONGC_GC_DIVISOR_DESC" + filter="uint" + validate="number" + min="1" + default="100" + showon="enable_session_gc:1[OR]enable_session_metadata_gc:1" + /> + </fieldset> + </fields> + </config> +</extension> From 2fb35c197aec9018c9633218e8828ff029cbc427 Mon Sep 17 00:00:00 2001 From: Tomasz Narloch <csthomas@users.noreply.github.com> Date: Tue, 27 Feb 2018 19:35:03 +0100 Subject: [PATCH 129/255] Fix mssql installation (#19796) --- installation/sql/sqlazure/joomla.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 06cba75faa2b8..49e643241b005 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -2341,7 +2341,7 @@ INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description (700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1), (700, 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_BODY', 'PLG_SYSTEM_UPDATENOTIFICATION_POSTINSTALL_UPDATECACHETIME_ACTION', 'plg_system_updatenotification', 1, 'action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_action', 'site://plugins/system/updatenotification/postinstall/updatecachetime.php', 'updatecachetime_postinstall_condition', '3.6.3', 1), (700, 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_TITLE', 'COM_CPANEL_MSG_JOOMLA40_PRE_CHECKS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/joomla40checks.php', 'admin_postinstall_joomla40checks_condition', '3.7.0', 1), -(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1) +(700, 'TPL_HATHOR_MESSAGE_POSTINSTALL_TITLE', 'TPL_HATHOR_MESSAGE_POSTINSTALL_BODY', 'TPL_HATHOR_MESSAGE_POSTINSTALL_ACTION', 'tpl_hathor', 1, 'action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_action', 'admin://templates/hathor/postinstall/hathormessage.php', 'hathormessage_postinstall_condition', '3.7.0', 1), (700, 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_TITLE', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_BODY', 'PLG_PLG_RECAPTCHA_VERSION_1_POSTINSTALL_ACTION', 'plg_captcha_recaptcha', 1, 'action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_action', 'site://plugins/captcha/recaptcha/postinstall/actions.php', 'recaptcha_postinstall_condition', '3.8.6', 1); -- From 1da376ed370d59f34b9399f10c67e7c573f0bf25 Mon Sep 17 00:00:00 2001 From: Robert Deutz <rdeutz@googlemail.com> Date: Wed, 28 Feb 2018 16:33:45 +0100 Subject: [PATCH 130/255] Prepare 3.8.6 RC1 Release --- .../components/com_content/models/article.php | 2 +- administrator/manifests/files/joomla.xml | 2 +- cli/sessionGc.php | 6 +++--- cli/sessionMetadataGc.php | 6 +++--- libraries/src/Application/CMSApplication.php | 2 +- libraries/src/MVC/Model/AdminModel.php | 2 +- libraries/src/Schema/ChangeItem/MysqlChangeItem.php | 4 ++-- libraries/src/Session/MetadataManager.php | 12 ++++++------ libraries/src/Session/Session.php | 2 +- libraries/src/Version.php | 10 +++++----- plugins/captcha/recaptcha/postinstall/actions.php | 4 ++-- plugins/system/remember/remember.php | 2 +- plugins/system/sessiongc/sessiongc.php | 8 ++++---- plugins/system/sessiongc/sessiongc.xml | 2 +- 14 files changed, 32 insertions(+), 32 deletions(-) diff --git a/administrator/components/com_content/models/article.php b/administrator/components/com_content/models/article.php index d25a2f095e7c4..6d64bf25c1b63 100644 --- a/administrator/components/com_content/models/article.php +++ b/administrator/components/com_content/models/article.php @@ -189,7 +189,7 @@ protected function batchCopy($value, $pks, $contexts) * * @return boolean True on success. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ protected function batchMove($value, $pks, $contexts) { diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 0c5ab2c1b1cbe..f15914cef5476 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.6-dev</version> + <version>3.8.6-rc1</version> <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/cli/sessionGc.php b/cli/sessionGc.php index 4fe6e8a4fc7ee..46fa26bb817a0 100644 --- a/cli/sessionGc.php +++ b/cli/sessionGc.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -36,7 +36,7 @@ /** * Cron job to trash expired session data. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ class SessionGc extends JApplicationCli { @@ -45,7 +45,7 @@ class SessionGc extends JApplicationCli * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function doExecute() { diff --git a/cli/sessionMetadataGc.php b/cli/sessionMetadataGc.php index aa2007b9dea72..e5b03f6dadd68 100644 --- a/cli/sessionMetadataGc.php +++ b/cli/sessionMetadataGc.php @@ -2,7 +2,7 @@ /** * @package Joomla.Cli * - * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -36,7 +36,7 @@ /** * Cron job to trash expired session metadata. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ class SessionMetadataGc extends JApplicationCli { @@ -45,7 +45,7 @@ class SessionMetadataGc extends JApplicationCli * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function doExecute() { diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index ef13f58fcd1e3..1ac7d8800fa5f 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -67,7 +67,7 @@ class CMSApplication extends WebApplication * The session metadata manager * * @var MetadataManager - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ protected $metadataManager = null; diff --git a/libraries/src/MVC/Model/AdminModel.php b/libraries/src/MVC/Model/AdminModel.php index e5f9606c3b9a0..1055717b59b91 100644 --- a/libraries/src/MVC/Model/AdminModel.php +++ b/libraries/src/MVC/Model/AdminModel.php @@ -25,7 +25,7 @@ abstract class AdminModel extends FormModel * The type alias for this content type (for example, 'com_content.article'). * * @var string - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public $typeAlias; diff --git a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php index 8639f16a25d42..665c6fa93bb39 100644 --- a/libraries/src/Schema/ChangeItem/MysqlChangeItem.php +++ b/libraries/src/Schema/ChangeItem/MysqlChangeItem.php @@ -329,7 +329,7 @@ private function fixUtf8mb4TypeChecks($type) * * @return string The query clause for NULL check in the check query * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ private function checkNull($changesArray) { @@ -360,7 +360,7 @@ private function checkNull($changesArray) * * @return string The query clause for DEFAULT check in the check query * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ private function checkDefault($changesArray, $type) { diff --git a/libraries/src/Session/MetadataManager.php b/libraries/src/Session/MetadataManager.php index 4ca837bc07d22..ef025c3726c52 100644 --- a/libraries/src/Session/MetadataManager.php +++ b/libraries/src/Session/MetadataManager.php @@ -17,7 +17,7 @@ /** * Manager for optional session metadata. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 * @internal */ final class MetadataManager @@ -26,7 +26,7 @@ final class MetadataManager * Application object. * * @var AbstractApplication - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ private $app; @@ -34,7 +34,7 @@ final class MetadataManager * Database driver. * * @var \JDatabaseDriver - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ private $db; @@ -44,7 +44,7 @@ final class MetadataManager * @param AbstractApplication $app Application object. * @param \JDatabaseDriver $db Database driver. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function __construct(AbstractApplication $app, \JDatabaseDriver $db) { @@ -60,7 +60,7 @@ public function __construct(AbstractApplication $app, \JDatabaseDriver $db) * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 * @throws \RuntimeException */ public function createRecordIfNonExisting(Session $session, User $user) @@ -135,7 +135,7 @@ public function createRecordIfNonExisting(Session $session, User $user) * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function deletePriorTo($time) { diff --git a/libraries/src/Session/Session.php b/libraries/src/Session/Session.php index bdfbec8b72a63..3cf220d856a80 100644 --- a/libraries/src/Session/Session.php +++ b/libraries/src/Session/Session.php @@ -829,7 +829,7 @@ public function close() * * @return boolean True on success, false otherwise. * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function gc() { diff --git a/libraries/src/Version.php b/libraries/src/Version.php index cc511efa4b7b9..35f835d215782 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc1'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '6-dev'; + const DEV_LEVEL = '6-rc1'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '6-February-2018'; + const RELDATE = '28-February-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:00'; + const RELTIME = '15:32'; /** * Release timezone. diff --git a/plugins/captcha/recaptcha/postinstall/actions.php b/plugins/captcha/recaptcha/postinstall/actions.php index f1fbe96d416e1..40619b3fde9ca 100644 --- a/plugins/captcha/recaptcha/postinstall/actions.php +++ b/plugins/captcha/recaptcha/postinstall/actions.php @@ -16,7 +16,7 @@ * * @return boolean * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ function recaptcha_postinstall_condition() { @@ -39,7 +39,7 @@ function recaptcha_postinstall_condition() * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ function recaptcha_postinstall_action() { diff --git a/plugins/system/remember/remember.php b/plugins/system/remember/remember.php index 3608c43b66990..6dc8a53a06377 100644 --- a/plugins/system/remember/remember.php +++ b/plugins/system/remember/remember.php @@ -105,7 +105,7 @@ public function onUserLogout($user, $options) * * @return boolean * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function onUserBeforeSave($user, $isnew, $data) { diff --git a/plugins/system/sessiongc/sessiongc.php b/plugins/system/sessiongc/sessiongc.php index 3693fb4daa286..c9763e9ec3f05 100644 --- a/plugins/system/sessiongc/sessiongc.php +++ b/plugins/system/sessiongc/sessiongc.php @@ -17,7 +17,7 @@ /** * Garbage collection handler for session related data * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ class PlgSystemSessionGc extends CMSPlugin { @@ -25,7 +25,7 @@ class PlgSystemSessionGc extends CMSPlugin * Application object * * @var CMSApplication - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ protected $app; @@ -33,7 +33,7 @@ class PlgSystemSessionGc extends CMSPlugin * Database driver * * @var JDatabaseDriver - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ protected $db; @@ -42,7 +42,7 @@ class PlgSystemSessionGc extends CMSPlugin * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.6 */ public function onAfterRespond() { diff --git a/plugins/system/sessiongc/sessiongc.xml b/plugins/system/sessiongc/sessiongc.xml index f9d9886169158..ac4df63a93b45 100644 --- a/plugins/system/sessiongc/sessiongc.xml +++ b/plugins/system/sessiongc/sessiongc.xml @@ -7,7 +7,7 @@ <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> - <version>__DEPLOY_VERSION__</version> + <version>3.8.6</version> <description>PLG_SYSTEM_SESSIONGC_XML_DESCRIPTION</description> <files> <filename plugin="sessiongc">sessiongc.php</filename> From b82b2fc99b18eb957556460493edcf8eaa869481 Mon Sep 17 00:00:00 2001 From: Robert Deutz <rdeutz@googlemail.com> Date: Wed, 28 Feb 2018 16:43:19 +0100 Subject: [PATCH 131/255] Reset for dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index f15914cef5476..0c5ab2c1b1cbe 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.6-rc1</version> + <version>3.8.6-dev</version> <creationDate>February 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 35f835d215782..7aa62ceaf1055 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc1'; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '6-rc1'; + const DEV_LEVEL = '6-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Build number. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:32'; + const RELTIME = '15:42'; /** * Release timezone. From 353de06af651086d2682afd35a5b278c19402597 Mon Sep 17 00:00:00 2001 From: Thomas Hunziker <werbemails@bakual.ch> Date: Thu, 1 Mar 2018 19:54:01 +0100 Subject: [PATCH 132/255] Update Greek Installation language files (#19806) --- installation/language/el-GR/el-GR.ini | 181 +++++++++++++------------- installation/language/el-GR/el-GR.xml | 9 +- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/installation/language/el-GR/el-GR.ini b/installation/language/el-GR/el-GR.ini index 9c817e6131a03..cf469c0920a2d 100644 --- a/installation/language/el-GR/el-GR.ini +++ b/installation/language/el-GR/el-GR.ini @@ -8,107 +8,111 @@ INSTL_STEP_COMPLETE_LABEL="Ολοκλήρωση" INSTL_STEP_DATABASE_LABEL="Βάση Δεδομένων" INSTL_STEP_DEFAULTLANGUAGE_LABEL="Επιλέξτε προεπιλεγμένη γλώσσα" INSTL_STEP_FTP_LABEL="FTP" -INSTL_STEP_LANGUAGES_LABEL="Εγκατάστηση Γλωσσών" +INSTL_STEP_LANGUAGES_LABEL="Εγκατάσταση Γλωσσών" INSTL_STEP_SITE_LABEL="Ρυθμίσεις" -INSTL_STEP_SUMMARY_LABEL="Επισκόπιση" +INSTL_STEP_SUMMARY_LABEL="Επισκόπηση" ;Language view INSTL_SELECT_LANGUAGE_TITLE="Επιλογή γλώσσας" -INSTL_WARNJAVASCRIPT="Προσοχή!Η Javascript πρέπει να είναι ενεργοποιημένη για να γίνει σωστά η εγκατάσταση του Joomla!" -INSTL_WARNJSON="Η εγκατάσταση της PHP απαιτεί το JSON για Joomla να είναι εγκατεστημένο." +INSTL_WARNJAVASCRIPT="Προσοχή! Η Javascript πρέπει να είναι ενεργοποιημένη για να γίνει σωστά η εγκατάσταση του Joomla!" +INSTL_WARNJSON="Η εγκατάσταση της PHP απαιτεί το JSON ενεργοποιημένο για να εγκατασταθεί το Joomla!" ;Preinstall view -INSTL_PRECHECK_TITLE="Έλεγχος προεγκατάστασης" -INSTL_PRECHECK_DESC="Αν κάποιο απο αυτά τα στοιχεία δεν υποστηρίζεται ( σημειωμένο με <strong class="_QQ_"red"_QQ_">Όχι</strong>) τότε παρακαλώ προβείτε στις απαραίτητες ενέργειες ώστε να τα διορθώσετε.<br/> Δεν μπορείτε να κάνετε εγκατάσταση του Joomla! μέχρι οι ρυθμίσεις σας να πληρούν τις προϋποθέσεις παρακάτω. " +INSTL_PRECHECK_TITLE="Έλεγχος πριν την εγκατάσταση" +INSTL_PRECHECK_DESC="Αν κάποιο από αυτά τα στοιχεία δεν υποστηρίζεται (σημειωμένο με <strong class="_QQ_"red"_QQ_">Όχι</strong>) τότε πρέπει να τα διορθώσετε.<br/> Δεν μπορείτε προχωρήσετε στην εγκατάσταση του Joomla! μέχρι οι ρυθμίσεις σας να πληρούν τις παρακάτω προϋποθέσεις." INSTL_PRECHECK_RECOMMENDED_SETTINGS_TITLE="Προτεινόμενες ρυθμίσεις:" -INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="Αυτές οι ρυθμίσεις προτείνονται για την PHP ώστε να εξασφαλιστεί η συμβατότητα με το Joomla.<br/> Πάντως, το Joomla θα εξακολουθεί να λειτουργεί αν οι ρυθμίσεις σας δεν ταιριάζουν απόλυτα με τις προτεινόμενες." -INSTL_PRECHECK_DIRECTIVE="Απευθείας" +INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="Αυτές οι ρυθμίσεις προτείνονται για την PHP ώστε να εξασφαλιστεί η συμβατότητα με το Joomla.<br/> Το Joomla θα εξακολουθεί να λειτουργεί ακόμη και αν οι ρυθμίσεις σας δεν ταυτίζονται με τις προτεινόμενες." +INSTL_PRECHECK_DIRECTIVE="Κατευθυνόμενο" INSTL_PRECHECK_RECOMMENDED="Προτεινόμενο" -INSTL_PRECHECK_ACTUAL="Πραγματικό" +INSTL_PRECHECK_ACTUAL="Υφιστάμενο" ; Database view INSTL_DATABASE="Ρυθμίσεις Βάσης Δεδομένων" INSTL_DATABASE_ERROR_POSTGRESQL_QUERY="Αποτυχία επερωτήματος βάσης δεδομένων PostgreSQL." INSTL_DATABASE_HOST_DESC="Συνήθως είναι "_QQ_"localhost"_QQ_"" INSTL_DATABASE_HOST_LABEL="Όνομα διακομιστή" -INSTL_DATABASE_NAME_DESC="Ορισμένοι διακομιστές επιτρέπουν μόνο συγκεκριμένα ονόματα βάσεων δεδομένων για κάθε ιστοσελίδα. Χρησιμοποιήστε σε αυτή την περίπτωση προθέματα πινάκων για ξεχωριστές ιστοσελίδες Joomla!." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="Δεν ήταν δυνατόν να δημιουργηθεί το αρχείο. Παρακαλώ δημιουργήστε χειροκίνητα ένα αρχείο με όνομα "_QQ_"%1$s"_QQ_" και ανεβάστε το στον φάκελο "_QQ_"%2$s"_QQ_" του Joomla ιστοτόπου σας." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="Προκειμένου να επιβεβαιώσετε ότι είστε ο ιδιοκτήτης αυτού του ιστοτόπου, παρακαλώ διαγράψτε το αρχείο με όνομα "_QQ_"%1$s"_QQ_" που μόλις δημιουργήσαμε στον φάκελο "_QQ_"%2$s"_QQ_" του Joomla ιστοτόπου σας." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_GENERAL_MESSAGE="Προσπαθείτε να χρησιμοποιήσετε έναν εξυπηρετητή βάσης δεδομένων που δεν βρίσκεται στον τοπικό σας διακομιστή. Για λόγους ασφαλείας, πρέπει να επαληθεύσετε την ιδιοκτησία του λογαριασμού φιλοξενίας του ιστοτόπου σας. <a href="_QQ_"%s"_QQ_">Παρακαλώ διαβάστε την τεκμηρίωση</a> για περισσότερες πληροφορίες." +INSTL_DATABASE_NAME_DESC="Ορισμένοι διακομιστές επιτρέπουν μόνο μία βάση δεδομένων για κάθε ιστοσελίδα, με συγκεκριμένο όνομα. Χρησιμοποιήστε σε αυτή την περίπτωση προθέματα πινάκων για ξεχωριστές ιστοσελίδες Joomla." INSTL_DATABASE_NAME_LABEL="Όνομα Βάσης Δεδομένων" INSTL_DATABASE_NO_SCHEMA="Δεν υπάρχει σχήμα βάσης δεδομένων για αυτό το είδος της βάσης δεδομένων." -INSTL_DATABASE_OLD_PROCESS_DESC="Υπάρχοντα αντίγραφα ασφαλείας πινάκων απο παλαιότερες εγκαταστάσεις Joomla! θα αντικατασταθούν." +INSTL_DATABASE_OLD_PROCESS_DESC="Δημιουργήστε αντίγραφα ασφαλείας ή αφαιρέστε τυχόν πίνακες από παλαιότερες εγκαταστάσεις Joomla! με το ίδιο πρόθεμα πινάκων." INSTL_DATABASE_OLD_PROCESS_LABEL="Επεξεργασία παλιάς Βάσης Δεδομένων" -INSTL_DATABASE_PASSWORD_DESC="Είναι απαραίτητο για την ασφάλεια της ιστοσελίδας να χρησιμοποιείτε κωδικό προσβασης για τη βάση δεδομένων." +INSTL_DATABASE_PASSWORD_DESC="Είναι απαραίτητο για την ασφάλεια της ιστοσελίδας να χρησιμοποιείτε κωδικό πρόσβασης για τη βάση δεδομένων." INSTL_DATABASE_PASSWORD_LABEL="Κωδικός" -INSTL_DATABASE_PREFIX_DESC="Επιλέξτε ένα πρόθεμα πινάκα ή χρησιμοποιήστε το <b>τυχαία παραγόμενο</b>. Ιδανικά επιλέξτε ένα πρόθεμα τριών ή τεσσάρων χαρακτήρων, μόνο με αλφαριθμητικούς χαρακτήρες το οποίο ΠΡΕΠΕΙ να τελειώνει σε κάτω παύλα.<b>Βεβαιωθείτε οτι το πρόθεμα που επιλέξατε δεν ανήκει σε άλλο πίνακα.</b>" +INSTL_DATABASE_PREFIX_DESC="Επιλέξτε ένα πρόθεμα πινάκα ή χρησιμοποιήστε το <b>τυχαία παραγόμενο</b>. Ιδανικά επιλέξτε ένα πρόθεμα τεσσάρων ή πέντε αλφαριθμητικών χαρακτήρων, το οποίο ΠΡΕΠΕΙ να τελειώνει σε κάτω παύλα.<b>Βεβαιωθείτε ότι το πρόθεμα που επιλέξατε δεν ανήκει σε άλλο πίνακα της βάσης που χρησιμοποιείτε.</b>." INSTL_DATABASE_PREFIX_LABEL="Πρόθεμα πινάκα" -INSTL_DATABASE_PREFIX_MSG="Το πρόθεμα του πίνακα πρέπει να αρχίζει με γράμμα, ακολουθούμενο απο αλφαριθμητικούς χαρακτήρες της επιλογής σας και να καταλήγει σε κάτω πάυλα." +INSTL_DATABASE_PREFIX_MSG="Το πρόθεμα του πίνακα πρέπει να αρχίζει με γράμμα, ακολουθούμενο απο αλφαριθμητικούς χαρακτήρες της επιλογής σας και να καταλήγει σε κάτω παύλα" INSTL_DATABASE_TYPE_DESC="Πιθανό να είναι "_QQ_"MySQLi"_QQ_"" INSTL_DATABASE_TYPE_LABEL="Είδος βάσης δεδομένων" -INSTL_DATABASE_USER_DESC="Συνήθως έιναι "_QQ_"root"_QQ_" ή το όνομα χρήστη από τον κεντρικό υπολογιστή." +INSTL_DATABASE_USER_DESC="Συνήθως είναι "_QQ_"root"_QQ_" ή το όνομα χρήστη από τον κεντρικό υπολογιστή." INSTL_DATABASE_USER_LABEL="Όνομα χρήστη" ;FTP view INSTL_AUTOFIND_FTP_PATH="Αυτόματη Εύρεση διαδρομής FTP" INSTL_FTP="Ρύθμιση FTP" -INSTL_FTP_DESC="<p>Σε κάποιους διακομιστές είναι πιθανό να χρειάζεται να εισάγετε τα FTP διαπιστευτήρια σας για να ολοκληρωθεί η εγκατάσταση.Αν αντιμετωπίζετε δυσκολίες στην ολοκλήρωση της εγκατάστασης χωρίς αυτά τα διαπιστευτήρια, δοκιμάστε με τον πάροχο φιλοξενίας σας για να διαπιστώσετε αν αυτό είναι απαραίτητο.</p><p>Για λόγους ασφαλείας, προτείνεται να δημιουργήσετε ένα ξεχωριστό λογαριασμό FTP με πρόσβαση στην εγκατάσταση του Joomla! μόνο και όχι σε όλο το διακομιστή δικτύου. Ο πάροχος φιλοξενίας σας μπορεί να σας βοηθήσει σε αυτό.</p><p><b>Σημείωση:</b>Εαν κάνετε την εγκατάσταση σε περιβάλλον λειτουργικού Windows, το επίπεδο FTP <strong>δεν</strong> είναι απαραίτητο.</p>" +INSTL_FTP_DESC="<p>Σε κάποιους διακομιστές είναι πιθανό να χρειάζεται να εισάγετε τα στοιχεία σύνδεσης FTP για να ολοκληρωθεί η εγκατάσταση. Αν αντιμετωπίζετε δυσκολίες στην ολοκλήρωση της εγκατάστασης χωρίς τα στοιχεία σύνδεσης, επικοινωνήστε με τον πάροχο φιλοξενίας σας για να διαπιστώσετε αν αυτό είναι απαραίτητο.</p><p>Για λόγους ασφαλείας, προτείνεται να δημιουργήσετε έναν ξεχωριστό λογαριασμό FTP με πρόσβαση στην εγκατάσταση του Joomla! μόνο και όχι σε όλο το διακομιστή δικτύου. Ο πάροχος φιλοξενίας σας μπορεί να σας βοηθήσει σε αυτό.</p><p><b>Σημείωση:</b>Εάν κάνετε την εγκατάσταση σε περιβάλλον λειτουργικού Windows, το επίπεδο FTP <strong>δεν</strong> είναι απαραίτητο.</p>" INSTL_FTP_ENABLE_LABEL="Ενεργοποίηση επιπέδου FTP" -INSTL_FTP_HOST_LABEL="Κόμβος FTP" +INSTL_FTP_HOST_LABEL="Διακομιστής FTP" INSTL_FTP_PASSWORD_LABEL="Κωδικός FTP" INSTL_FTP_PORT_LABEL="Θύρα FTP" INSTL_FTP_ROOT_LABEL="Πηγαία Διαδρομή FTP" INSTL_FTP_SAVE_LABEL="Αποθήκευση κωδικού FTP" -INSTL_FTP_TITLE="Ρυθμίσεις FTP(<strong class="_QQ_"red"_QQ_">Προαιρετικό-Οι περισσότεροι χρήστες μπορούν να παραλέιψουν αυτό το βήμα-Πατήστε Επόμενο για παράλειψη</strong>" +INSTL_FTP_TITLE="Ρυθμίσεις FTP(<strong class="_QQ_"red"_QQ_">Προαιρετικό-Οι περισσότεροι χρήστες μπορούν να παραλείψουν αυτό το βήμα - Πατήστε Επόμενο για παράλειψη</strong>)" INSTL_FTP_USER_LABEL="Όνομα χρήστη FTP" INSTL_VERIFY_FTP_SETTINGS="Επιβεβαίωση ρυθμίσεων FTP" INSTL_FTP_SETTINGS_CORRECT="Σωστές Ρυθμίσεις" -INSTL_FTP_USER_DESC="Προσοχή! Προτείνεται να αφήσετε κενό το πεδίο και να εισάγεται το όνομα χρήστη FTP κάθε φορά που μεταφέρετε αρχεία." -INSTL_FTP_PASSWORD_DESC="Προσοχή! Προτείνεται να αφήσετε κενό το πεδίο και να εισάγεται το κωδικό FTP κάθε φορά που μεταφέρετε αρχεία." +INSTL_FTP_USER_DESC="Προσοχή! Προτείνεται να αφήσετε κενό το πεδίο και να εισάγετε το όνομα χρήστη FTP κάθε φορά που μεταφέρετε αρχεία." +INSTL_FTP_PASSWORD_DESC="Προσοχή! Προτείνεται να αφήσετε κενό το πεδίο και να εισάγετε τον κωδικό FTP κάθε φορά που μεταφέρετε αρχεία." ;Site View INSTL_SITE="Βασικές Ρυθμίσεις" -INSTL_ADMIN_EMAIL_LABEL="Ηλεκτρονικό ταχυδρομείο Διαχειστιστή" -INSTL_ADMIN_EMAIL_DESC="Εισαγεται μια διεύθυνση ηλεκτρονικού ταχυδρομείου. Αυτή θα είναι η διεύθυνση του υπερδιαχειριστή της Ιστοσελίδας." -INSTL_ADMIN_PASSWORD_LABEL="Κωδικός Διαχειριστή" +INSTL_ADMIN_EMAIL_LABEL="Ηλεκτρονικό ταχυδρομείο" +INSTL_ADMIN_EMAIL_DESC="Εισάγετε μια διεύθυνση ηλεκτρονικού ταχυδρομείου. Αυτή θα είναι η διεύθυνση του υπερδιαχειριστή της Ιστοσελίδας." +INSTL_ADMIN_PASSWORD_LABEL="Κωδικός" INSTL_ADMIN_PASSWORD_DESC="Ορίστε τον κωδικό πρόσβασης του λογαριασμού υπερδιαχειριστή και επιβεβαιώστε τον στο παρακάτω πεδίο." INSTL_ADMIN_PASSWORD2_LABEL="Επιβεβαίωση Κωδικού Διαχειριστή" -INSTL_ADMIN_USER_LABEL="Όνομα χρήστη Διαχειριστή" -INSTL_ADMIN_USER_DESC="Ορίστε το όνομα χρήστη για το λογαριασμό του Υπερ Διαχειριστή." +INSTL_ADMIN_USER_LABEL="Όνομα χρήστη" +INSTL_ADMIN_USER_DESC="Ορίστε το όνομα χρήστη για τον λογαριασμό του Υπερδιαχειριστή." INSTL_SITE_NAME_LABEL="Όνομα Ιστοσελίδας" -INSTL_SITE_NAME_DESC="Εισάγεται το όνομα της Joomla ιστοσελίδας σας" +INSTL_SITE_NAME_DESC="Εισάγετε το όνομα της Joomla ιστοσελίδας σας." INSTL_SITE_METADESC_LABEL="Περιγραφή" -INSTL_SITE_METADESC_TITLE_LABEL="Εισάγεται μια συνολική περιγραφή της Ιστοσελίδας σας που θα χρησιμοποιηθεί από τις μηχανές αναζήτησης. Γενικά προτείνεται η χρήση ένός μέγιστου ορίου 20 λέξεων." -INSTL_SITE_OFFLINE_LABEL="Η ιστοσελίδα είναι εκτός λειτουργίας" -INSTL_SITE_OFFLINE_TITLE_LABEL="Ορίστε την περιοχή πελατών εκτός λειτουργίας όταν ολοκληρωθέι η εγκατάσταση. Η ιστοσελίδα μπορεί να επανέλθει σε λείτπυργία αργότερα από τις Γενικές Ρυθμίσεις." +INSTL_SITE_METADESC_TITLE_LABEL="Εισάγετε μια συνολική περιγραφή της Ιστοσελίδας σας που θα χρησιμοποιηθεί από τις μηχανές αναζήτησης. Ιδανικά, περιοριστείτε σε 20 λέξεις." +INSTL_SITE_OFFLINE_LABEL="Η ιστοσελίδα να είναι εκτός λειτουργίας" +INSTL_SITE_OFFLINE_TITLE_LABEL="Ορίστε ότι η ιστοσελίδα δεν θα λειτουργεί, μετά την εγκατάσταση. Η ιστοσελίδα μπορεί να επανέλθει σε λειτουργία αργότερα από τις Γενικές Ρυθμίσεις." INSTL_SITE_INSTALL_SAMPLE_LABEL="Εγκατάσταση ενδεικτικού περιεχομένου" -INSTL_SITE_INSTALL_SAMPLE_DESC="Η εγκατάσταση ενδεικτικού περιεχομένου συνίσταται για αρχάριπυς χρήστες.<br/> Με αυτή θα εγκατασταθεί το ενδεικτικό περιεχόμενο που περιλαμβάνεται στο πακέτο εγκατάστασης του Joomla!" +INSTL_SITE_INSTALL_SAMPLE_DESC="Η εγκατάσταση ενδεικτικού περιεχομένου συνίσταται για αρχάριους χρήστες.<br/> Με αυτή θα εγκατασταθεί το ενδεικτικό περιεχόμενο που περιλαμβάνεται στο πακέτο εγκατάστασης του Joomla." INSTL_SITE_INSTALL_SAMPLE_NONE="Κανένα" -INSTL_SAMPLE_BLOG_SET="Ενδεικτικό περιεχόμενο τύπου Blog στα αγγλικά (GB)" -INSTL_SAMPLE_BROCHURE_SET="Ενδεικτικό περιεχόμενο τύπου φυλλάδιο στα αγγλικά (GB)" -INSTL_SAMPLE_DATA_SET="Προεπιλεγμένο Ενδεικτικό περιεχόμενο στα αγγλικά (GB)" +INSTL_SAMPLE_BLOG_SET="Ενδεικτικό περιεχόμενο τύπου Ιστολόγιο στα αγγλικά (GB)" +INSTL_SAMPLE_BROCHURE_SET="Ενδεικτικό περιεχόμενο τύπου Φυλλάδιο στα αγγλικά (GB)" +INSTL_SAMPLE_DATA_SET="Προεπιλεγμένο ενδεικτικό περιεχόμενο στα αγγλικά (GB)" INSTL_SAMPLE_LEARN_SET="Μάθετε το ενδεικτικό περιεχόμενο Joomla Αγγλικά ( GB)" INSTL_SAMPLE_TESTING_SET="Έλεγχος του αγγλικού (GB) ενδεικτικού περιεχομένου" -INSTL_SITE_INSTALL_SAMPLE_NONE_DESC="Εγκατάσταση Joomla με μόνο ένα μενού και φόρμα σύνδεσης, χωρίς καθόλου περιεχόμενο." -INSTL_SAMPLE_BLOG_SET_DESC="Εγκατάσταση Joomla με λίγα άρθρα και σχετικά ενθέματα blog όπως Παλιότερες Δημοσιεύσεις, Πιο αναγνωσμένες Δημοσιεύσεις." -INSTL_SAMPLE_BROCHURE_SET_DESC="Εγκατάσταση Joomla με λιγές σελίδες ( ένα μενού με σελίδες Αρχική, Σχετικά με εμάς, Νέα, Επικοινωνία) και ενθέματα όπως Αναζήτηση, Προσαρμοσμένος κώδικας HTML, φόρμα σύνδεσης." -INSTL_SAMPLE_DATA_SET_DESC="Εγκατάσταση Joomla με μία μόνο σελίδα (ένα μενοπυ με ένα σύνδεσμο) και ενθέματα όπως Τελευταία Άρθρα, Φόρμα σύνδεσης." -INSTL_SAMPLE_LEARN_SET_DESC="Εγκατάσταση Joomla με παραδείγματα άρθρων που εξηγούν πως λειτουργεί το Joomla." -INSTL_SAMPLE_TESTING_SET_DESC="Εγκατάσταση Joomla με όλα τα πιθανά στοιχεία μενού για να βοήθεια στην εξερεύνηση του Joomla." +INSTL_SITE_INSTALL_SAMPLE_NONE_DESC="Εγκατάσταση Joomla με μόνο ένα μενού και φόρμα σύνδεσης, χωρίς καθόλου περιεχόμενο." +INSTL_SAMPLE_BLOG_SET_DESC="Εγκατάσταση Joomla με λίγα άρθρα και σχετικά ενθέματα Ιστολογίου όπως Παλιότερες Δημοσιεύσεις, Δημοφιλείς Δημοσιεύσεις." +INSTL_SAMPLE_BROCHURE_SET_DESC="Εγκατάσταση Joomla με λίγες σελίδες ( ένα μενού με σελίδες Αρχική, Σχετικά με εμάς, Νέα, Επικοινωνία) και ενθέματα όπως Αναζήτηση, Προσαρμοσμένος κώδικας Html, φόρμα σύνδεσης." +INSTL_SAMPLE_DATA_SET_DESC="Εγκατάσταση Joomla με μία μόνο σελίδα (ένα μενού με ένα σύνδεσμο) και ενθέματα όπως Τελευταία Άρθρα, Φόρμα σύνδεσης." +INSTL_SAMPLE_LEARN_SET_DESC="Εγκατάσταση Joomla με παραδείγματα άρθρων που εξηγούν πώς λειτουργεί το Joomla." +INSTL_SAMPLE_TESTING_SET_DESC="Εγκατάσταση Joomla με όλα τα πιθανά στοιχεία μενού για βοήθεια στην εξερεύνηση του Joomla." +INSTL_SUPER_USER_TITLE="Στοιχεία Υπερδιαχειριστή" ;Summary view INSTL_FINALISATION="Οριστικοποίηση" INSTL_SUMMARY_INSTALL="Εγκατάσταση" INSTL_SUMMARY_EMAIL_LABEL="Ρυθμίσεις Ηλεκτρονικού Ταχυδρομείου" INSTL_SUMMARY_EMAIL_DESC="Αποστολή ρυθμίσεων διαμόρφωσης στο %s με ηλεκτρονικό ταχυδρομείο μετά την εγκατάσταση." -INSTL_SUMMARY_EMAIL_PASSWORDS_LABEL="Συμπεριέλαβε κωδικούς στο μήνυμα ηλεκτρονικού ταχυδρομείου" +INSTL_SUMMARY_EMAIL_PASSWORDS_LABEL="Συμπερίληψη των κωδικών στο μήνυμα ηλεκτρονικού ταχυδρομείου" INSTL_SUMMARY_EMAIL_PASSWORDS_DESC="Προσοχή! Συνίσταται να μην στέλνετε και αποθηκεύετε τους κωδικούς σας στο ηλεκτρονικό ταχύδρομείο" ;Installing view INSTL_INSTALLING="Εγκατάσταση.." INSTL_INSTALLING_DATABASE_BACKUP="Αντίγραφο ασφαλείας πινάκων προηγούμενης βάσης δεδομένων" -INSTL_INSTALLING_DATABASE_REMOVE="Απομάκρυνση πινάκων προηγούμενης βάσης δεδομενων" +INSTL_INSTALLING_DATABASE_REMOVE="Διαγραφή πινάκων προηγούμενης βάσης δεδομενων" INSTL_INSTALLING_DATABASE="Δημιουργία πινάκων βάσης δεδομένων" INSTL_INSTALLING_SAMPLE="Εγκατάσταση ενδεικτικού περιεχομένου" -INSTL_INSTALLING_CONFIG="Δημιουργία αρχείου configuration" +INSTL_INSTALLING_CONFIG="Δημιουργία αρχείου ρυθμίσεων" INSTL_INSTALLING_EMAIL="Αποστολή μηνύματος στο %s" ;Email @@ -118,21 +122,15 @@ INSTL_EMAIL_NOT_SENT="Το μήνυμα δεν στάλθηκε." ;Complete view INSTL_COMPLETE_ADMINISTRATION_LOGIN_DETAILS="Λεπτομέρειες σύνδεσης διαχειριστή" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="Ο φάκελος installation έχει ήδη διαγραφεί." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_DELETE="Ο φάκελος installation δεν διαγράφηκε. Παρακαλώ διαγράψτε τον με το χέρι." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_FOLDER_REMOVED="Ο φάκελος installation έχει αφαιρεθεί επιτυχώς" +INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="Ο φάκελος "_QQ_"%s"_QQ_" έχει ήδη διαγραφεί." +INSTL_COMPLETE_ERROR_FOLDER_DELETE="Ο φάκελος \"%s\" δεν διαγράφηκε. Παρακαλώ διαγράψτε τον χειροκίνητα." +INSTL_COMPLETE_FOLDER_REMOVED="Ο φάκελος \"%s\" έχει αφαιρεθεί επιτυχώς." INSTL_COMPLETE_LANGUAGE_1="Θέλετε το Joomla! στη γλώσσα σας;" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_LANGUAGE_DESC="Πριν απομακρύνεται το φάκελο installation μπορείτε να εγκαταστήσετε επιπλέον γλώσσες. Αν επιθυμείτε να προσθέσετε επιπλέον γλώσσες στην Joomla! εφαρμογή σας κάντε κλικ στο κουμπί που ακολουθεί." -INSTL_COMPLETE_LANGUAGE_DESC2="Σημείωση: Πρέπει να έχετε πρόσβαση στο Ιντερνετ για να επιτραπεί στο Joomla! να κάνει λήψη και εγκατάσταση νέων γλωσσών.<br/>" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_FOLDER="Αφαίρεση φακέλου installation" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_INSTALLATION="ΠΑΡΑΚΑΛΩ ΘΥΜΗΘΕΙΤΕ ΝΑ ΔΙΑΓΡΑΨΕΤΕ ΤΟΝ ΦΑΚΕΛΟ INSTALLATION.<br/>Δε θα μπορέσετε να προχωρήσετε πέρα απο αυτό το σημείο της εγκατάστασης μέχρι να απομακρύνετε εντελώς το φάκελο installation. Πρόκειται για μια δικλείδα σσφαλείας του Joomla!." -INSTL_COMPLETE_TITLE="Συγχαρητήρια! Εγκαταστήσατε το Joomla!." +INSTL_COMPLETE_LANGUAGE_DESC="Πριν διαγράψετε το φάκελο "_QQ_"%s"_QQ_" μπορείτε να εγκαταστήσετε επιπλέον γλώσσες. Αν επιθυμείτε να προσθέσετε επιπλέον γλώσσες στην ιστοσελίδα σας κάντε κλικ στο κουμπί που ακολουθεί." +INSTL_COMPLETE_LANGUAGE_DESC2="Σημείωση: Πρέπει να έχετε πρόσβαση στο διαδίκτυο για είναι δυνατή η λήψη και εγκατάσταση νέων γλωσσών.<br/>." +INSTL_COMPLETE_REMOVE_FOLDER="Αφαίρεση φακέλου "_QQ_"%s"_QQ_"" +INSTL_COMPLETE_REMOVE_INSTALLATION="ΠΑΡΑΚΑΛΩ ΜΗΝ ΑΜΕΛΗΣΕΤΕ ΝΑ ΔΙΑΓΡΑΨΕΤΕ ΤΟΝ ΦΑΚΕΛΟ INSTALLATION.<br/>Δε θα μπορέσετε να προχωρήσετε πέρα από αυτό το σημείο της εγκατάστασης μέχρι να διαγράψετε το φάκελο "_QQ_"%s"_QQ_". Πρόκειται για μια δικλείδα ασφαλείας του Joomla!" +INSTL_COMPLETE_TITLE="Συγχαρητήρια! Το Joomla! εγκαταστάθηκε." INSTL_COMPLETE_INSTALL_LANGUAGES="Επιπλέον βήματα: Εγκατάσταση γλωσσών" ;Languages view @@ -140,47 +138,47 @@ INSTL_LANGUAGES="Εγκατάσταση πακέτων γλωσσών" INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE="Γλώσσα" INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE_TAG="Ετικέτα Γλώσσας" INSTL_LANGUAGES_COLUMN_HEADER_VERSION="Έκδοση" -INSTL_LANGUAGES_DESC="Αυτή η διεπαφή του Joomla έιναι διαθέσιμη σε πολλές γλώσσες. Διαλέξτε τις γλώσσες που προτιμάτε κάνοντας κλίκ στα αντίστοιχα κουτάκια και εγκαταστήστε τις πατώντας το κουμπί Επόμενο.<br/>Σημέιωση: Αυτή η διεργασία διαρκεί περίπου 5 δευτερόλεπτα για λήψη και εγκατάσταση κάθε γλώσσας. Παρακαλώ μην επιλεξετε περισσότερες απο 3 γλώσσες για εγκατάσταση για να αποφύγετε timeouts." +INSTL_LANGUAGES_DESC="Το Joomla είναι ναι διαθέσιμο σε δεκάδες γλώσσες. Διαλέξτε τις γλώσσες που προτιμάτε κάνοντας κλικ στα αντίστοιχα κουτάκια και εγκαταστήστε τις πατώντας το κουμπί Επόμενο.<br/>Σημείωση: Αυτή η διεργασία διαρκεί περίπου 5 δευτερόλεπτα για λήψη και εγκατάσταση κάθε γλώσσας. Παρακαλώ μην επιλεξετε περισσότερες απο 3 γλώσσες για εγκατάσταση για να αποφύγετε timeouts." INSTL_LANGUAGES_MESSAGE_PLEASE_WAIT="Αυτή η διεργασία θα διαρκέσει περίπου 10 δευτερόλεπτα για κάθε γλώσσα για να ολοκληρωθεί.<br/> Παρακαλώ περιμένετε ενώ γίνεται λήψη και εγκατάσταση των γλωσσών..." INSTL_LANGUAGES_MORE_LANGUAGES="Κάντε κλικ στο κουμπί ‘Προηγούμενο’ εάν θέλετε να εγκαταστήσετε περισσότερες γλώσσες." INSTL_LANGUAGES_NO_LANGUAGE_SELECTED="Παρακαλώ, επιλέξετε μια γλώσσα. Αν χρειάζεστε να εγκαταστήσετε άλλες γλώσσες παρακαλώ πιέστε το κουμπί 'Προηγούμενο'" INSTL_LANGUAGES_WARNING_NO_INTERNET="Το Joomla! δεν μπόρεσε να συνδεθεί με τον διακομιστή γλωσσών. Παρακαλώ ολοκληρώστε την διαδικασία εγκατάστασης." -INSTL_LANGUAGES_WARNING_NO_INTERNET2="Σημείωση: Θα έχετε τη δυνατότητα να εγκαταστήσετε γλώσσες αργότερα απο τη περιοχή διαχείρισης του Joomla!" +INSTL_LANGUAGES_WARNING_NO_INTERNET2="Σημείωση: Θα έχετε τη δυνατότητα να εγκαταστήσετε γλώσσες αργότερα από τη περιοχή διαχείρισης του Joomla" INSTL_LANGUAGES_WARNING_BACK_BUTTON="Επιστροφή στο τελευταίο βήμα εγκατάστασης" ;Default language view -INSTL_DEFAULTLANGUAGE_ACTIVATE_MULTILANGUAGE="Ενεργοποίηση του πολυγλωσσικού χαρακτηριστικού" +INSTL_DEFAULTLANGUAGE_ACTIVATE_MULTILANGUAGE="Ενεργοποίηση" INSTL_DEFAULTLANGUAGE_ACTIVATE_MULTILANGUAGE_DESC="Εάν ενεργοποιηθεί, ο ιστοχώρος σας βασισμένος σε Joomla θα έχει ενεργοποιημένο το πολυγλωσσικό χαρακτηριστικό με τοπικοποιημένα μενού σε κάθε εγκατεστημένη γλώσσα" INSTL_DEFAULTLANGUAGE_ACTIVATE_LANGUAGE_CODE_PLUGIN="Ενεργοποίηση του προσθέτου κωδικού γλώσσας" INSTL_DEFAULTLANGUAGE_ACTIVATE_LANGUAGE_CODE_PLUGIN_DESC="Εάν ενεργοποιηθεί, το πρόσθετο κωδικού γλώσσας θα προσθέσει την δυνατότητα να αλλάζετε τον κωδικό γλώσσας στο παραγομένο έγγραφο HTML για να βελτιώσετε το SEO." INSTL_DEFAULTLANGUAGE_ADMINISTRATOR="Προεπιλεγμένη γλώσσα Διαχειριστή" -INSTL_DEFAULTLANGUAGE_ADMIN_COULDNT_SET_DEFAULT="Το Joomla δεν κατάφερε να ορίσει τη γλώσσα σαν προεπιλεγμένη. Θα χρησιμοποιηθούν τα Αγγλικά σαν προεπιλεγμένη γλώσσα για την περιοχή διαχείρισης." +INSTL_DEFAULTLANGUAGE_ADMIN_COULDNT_SET_DEFAULT="Το Joomla δεν κατάφερε να ορίσει τη γλώσσα ως προεπιλεγμένη. Θα χρησιμοποιηθούν τα Αγγλικά ως προεπιλεγμένη γλώσσα για την περιοχή διαχείρισης." INSTL_DEFAULTLANGUAGE_ADMIN_SET_DEFAULT="Το Joomla όρισε τα %s σαν προεπιλεγμένη γλώσσα ΔΙΑΧΕΙΡΙΣΤΗ." INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_SELECT="Επιλογή" INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_LANGUAGE="Γλώσσα" INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_TAG="Ετικέτα" -INSTL_DEFAULTLANGUAGE_COULD_NOT_ADD_ASSOCIATIONS="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα τις συσχέτισεις γλωσσών." +INSTL_DEFAULTLANGUAGE_COULD_NOT_ADD_ASSOCIATIONS="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα τις συσχετίσεις γλωσσών." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CONTENT_LANGUAGE="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα την γλώσσα περιεχομένου %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το μενού %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το αντικείμενο αρχικής σελίδας %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το ένθεμα μενού %s menu" -INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="ο Joomla δεν μπόρεσε να δημιουργήσει αυτόματα την κατηγορία περιεχομένου %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα την κατηγορία περιεχομένου %s." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="ο Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το τοπικοποιημένο άρθρο %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Το Joomla δεν μπόρεσε να δημοσιεύσει αυτόματα το ένθεμα εναλλαγής γλωσσών" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Το Joomla δεν μπόρεσε να ενεργοποιήσει αυτόματα το Πρόσθετο Κωδικού Γλώσσας" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Το Joomla δεν μπόρεσε να ενεργοποιήσει αυτόματα το Πρόσθετο Φίλτρου Γλώσσας" -INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Το Joomla δεν μπόρεσε να εγκαταστήσει την %s γλώσσα." +INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Το Joomla δεν μπόρεσε να εγκαταστήσει την γλώσσα %s." INSTL_DEFAULTLANGUAGE_COULD_NOT_PUBLISH_MOD_MULTILANGSTATUS="Το Joomla δεν μπόρεσε να δημοσιεύσει αυτόματα το ένθεμα κατάστασης γλώσσας" INSTL_DEFAULTLANGUAGE_COULD_NOT_UNPUBLISH_MOD_DEFAULTMENU="Το Joomla δεν μπόρεσε να αποδημοσιεύσει αυτόματα το εξορισμού ένθεμα μενού" INSTL_DEFAULTLANGUAGE_DESC="Το Joomla εγκατέστησε τις παρακάτω γλώσσες. Παρακαλώ επιλέξτε την επιθυμητή γλώσσα προεπιλογής για την περιοχή διαχείρισης του Joomla και πατήστε το κουμπί επόμενο." INSTL_DEFAULTLANGUAGE_DESC_FRONTEND="Το Joomla εγκατέστησε τις παρακάτω γλώσσες. Παρακαλώ επιλέξτε την επιθυμητή προεπιλεγμένη γλώσσα για την περιοχή πελατών του Joomla και πατήστε το κουμπί επόμενο." INSTL_DEFAULTLANGUAGE_FRONTEND="Προεπιλεγμένη γλώσσα Ιστοσελίδας" -INSTL_DEFAULTLANGUAGE_FRONTEND_COULDNT_SET_DEFAULT="To Jooma δε μπόρεσε να ορίσει τη γλώσσα σαν προεπιλεγμένη. Θα χρησιμοποιηθούν τα Αγγλικά σαν προεπιλεγμένη γλώσσα για την περιοχή πελατών της ιστοσελίδας." -INSTL_DEFAULTLANGUAGE_FRONTEND_SET_DEFAULT="Το Joomla όρισε τα %s σαν προεπιλεγμένη γλώσσα της ιστοσελίδας." +INSTL_DEFAULTLANGUAGE_FRONTEND_COULDNT_SET_DEFAULT="To Jooma δεν μπόρεσε να ορίσει τη γλώσσα ως προεπιλεγμένη. Θα χρησιμοποιηθούν τα Αγγλικά ως προεπιλεγμένη γλώσσα για την περιοχή πελατών της ιστοσελίδας." +INSTL_DEFAULTLANGUAGE_FRONTEND_SET_DEFAULT="Το Joomla όρισε τα %s ως προεπιλεγμένη γλώσσα της ιστοσελίδας." INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT="Εγκατάσταση τοπικοποιημένου περιεχομένου" INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT_DESC="Εάν ενεργοποιηθεί, το Joomla! θα δημιουργήσει αυτόματα μια κατηγορία περιεχομένου ανά εγκατεστημένη γλώσσα. Επίσης ένα προβεβλημένο άρθρο που περιέχει παράδειγμα κειμένου θα δημιουργηθεί σε κάθε κατηγορία" INSTL_DEFAULTLANGUAGE_MULTILANGUAGE_TITLE="Πολυγλωσσικότητα" -INSTL_DEFAULTLANGUAGE_MULTILANGUAGE_DESC="Αυτή η περιοχή σας επιτρέπει να ενεργοποιήσετε αυτότματα το πολυγλωσσικό χαρακτηριστικό του Joomla!" +INSTL_DEFAULTLANGUAGE_MULTILANGUAGE_DESC="Εδώ έχετε τη δυνατότητα να ενεργοποιήσετε το πολυγλωσσικό χαρακτηριστικό του Joomla." INSTL_DEFAULTLANGUAGE_TRY_LATER="Θα μπορέσετε να την εγκαταστήσετε αργότερα απο την περιοχή διαχείρισης του Joomla!" ; IMPORTANT NOTE FOR TRANSLATORS: Do not literally translate this line, instead add the localised name of the language. For example Spanish will be Español @@ -188,17 +186,16 @@ INSTL_DEFAULTLANGUAGE_NATIVE_LANGUAGE_NAME="Ελληνικά (Ελλάδα)" ;Database Model INSTL_DATABASE_COULD_NOT_CONNECT="Αδυναμία σύνδεσης στη βάση δεδομένων. Ο διαχειριστής σύνδεσης επέστρεψε τον αριθμό:%s" -INSTL_DATABASE_COULD_NOT_CREATE_DATABASE="Η εγκατάσταση δεν ήταν δυνατό να συνδεθεί στην βάση δεδομένων με τα στοιχεία που προσδιορίσατε. Επιπλέον ήταν αδύνατη η δημιουργία νέας βάσης δεδομένων. Παρακαλώ ελέγξατε τις ρυθμίσεις σας. Αν είναι απαραίτητο παρακαλώ δημιουργήστε την βάση δεδομένων πριν ξαναπροσπαθήσετε." +INSTL_DATABASE_COULD_NOT_CREATE_DATABASE="Η εφαρμογή εγκατάστασης δεν ήταν δυνατό να συνδεθεί στην βάση δεδομένων με τα στοιχεία που προσδιορίσατε. Επιπλέον ήταν αδύνατη η δημιουργία νέας βάσης δεδομένων. Παρακαλώ ελέγξατε τις ρυθμίσεις σας. Αν είναι απαραίτητο παρακαλώ δημιουργήστε την βάση δεδομένων πριν ξαναπροσπαθήσετε." INSTL_DATABASE_COULD_NOT_REFRESH_MANIFEST_CACHE="Αδυναμία ανανέωσης του δηλωτικού προσωρινής αποθήκευσης για την επέκταση:%s" -INSTL_DATABASE_EMPTY_NAME="" -INSTL_DATABASE_ERROR_BACKINGUP="Προέκυψαν σφάλματα κατα την δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων." +INSTL_DATABASE_ERROR_BACKINGUP="Προέκυψαν σφάλματα κατά τη δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων." INSTL_DATABASE_ERROR_CREATE="Προέκυψε ένα σφάλμα κατά την προσπάθεια δημιουργίας της βάσης δεδομένων %s.<br/>Πιθανόν ο χρήστης να μην έχει τα απαιτούμενα δικαιώματα για να δημιουργήσει βάση δεδομένων. Η απαιτούμενη βάση, πιθανόν να πρέπει να δημιουργηθεί ξεχωριστά πριν την εγκατάσταση του Joomla!." -INSTL_DATABASE_ERROR_DELETE="Προέκυψαν σφάλματα κατα την διαγραφή της βάσης δεδομένων." +INSTL_DATABASE_ERROR_DELETE="Προέκυψαν σφάλματα κατά τη διαγραφή της βάσης δεδομένων." INSTL_DATABASE_FIELD_VALUE_REMOVE="Αφαίρεση" INSTL_DATABASE_FIELD_VALUE_BACKUP="Αντίγραφο ασφαλείας" -INSTL_DATABASE_FIX_LOWERCASE="Το πρόθεμα πινάκων βάσης δεδομένων πρέπει να είναι με πεχά για την PostgreSQL." -INSTL_DATABASE_FIX_TOO_LONG="Το προθεμα του πίνακα MySQL πρέπει να είναι εως 15 χαρακτήρες." -INSTL_DATABASE_INVALID_DB_DETAILS="Οι πληροφορίες σχετικά με την βάση δεδομένων είναι λανθασμενες και/ή κενές." +INSTL_DATABASE_FIX_LOWERCASE="Το πρόθεμα πινάκων βάσης δεδομένων πρέπει να είναι με πεζά για την PostgreSQL." +INSTL_DATABASE_FIX_TOO_LONG="Το πρόθεμα του πίνακα MySQL πρέπει να μην ξεπερνά τους 15 χαρακτήρες." +INSTL_DATABASE_INVALID_DB_DETAILS="Οι πληροφορίες σχετικά με την βάση δεδομένων είναι λανθασμένες και/ή κενές." INSTL_DATABASE_INVALID_MYSQL_VERSION="Απαιτείται έκδοση MySQL 5.0.4 ή μεγαλύτερη για να συνεχίσετε την εγκατάσταση. Η έκδοσή σας είναι: %s" INSTL_DATABASE_INVALID_MYSQLI_VERSION="Απαιτείται έκδοση MySQL 5.0.4 ή μεγαλύτερη για να συνεχίσετε την εγκατάσταση. Η έκδοσή σας είναι: %s" INSTL_DATABASE_INVALID_PDOMYSQL_VERSION="Χρειάζεστε έκδοση MySQL 5.0.4 ή μεγαλύτερη για να συνεχίσετε την εγκατάσταση. Η τρέχουσα έκδοση της MySQL στον διακομιστή σας είναι %s" @@ -206,14 +203,14 @@ INSTL_DATABASE_INVALID_POSTGRESQL_VERSION="Χρειάζεστε έκδοση Pos INSTL_DATABASE_INVALID_SQLSRV_VERSION="Απαιτείται SQL Server 2008 R2 (10.50.1600.1) ή μεγαλύτερο για να συνεχίσετε την εγκατάσταση. Η έκδοσή σας είναι: %s" INSTL_DATABASE_INVALID_SQLZURE_VERSION="Απαιτείται SQL Server 2008 R2 (10.50.1600.1) ή μεγαλύτερο για να συνεχίσετε την εγκατάσταση. Η έκδοσή σας είναι: %s" INSTL_DATABASE_INVALID_TYPE="Παρακαλώ επιλέξτε το είδος της βάσης δεδομένων" -INSTL_DATABASE_NAME_TOO_LONG="Το όνομα της βάσης δεδομένων MySQL πρέπει να είναι εως 64 χαρακτήρες." -INSTL_DATABASE_INVALID_NAME="Εκδόσεις της MySQL πριν την 5.1.6 δεν μπορούν να περιέχουν περιόδους ή άλλους "_QQ_"ειδικούς"_QQ_" χαρακτήρες στο όνομα τους. Η έκδοσή σας είναι: %s" -INSTL_DATABASE_NAME_INVALID_SPACES="Τα ονόμα των βάσεων δεδομένων και των πινάκων της MySQL δεν γίνεται να ξεκινάνε ούτε να τελειώνουν με κενά διαστήματα." +INSTL_DATABASE_NAME_TOO_LONG="Το όνομα της βάσης δεδομένων MySQL πρέπει να μην ξεπερνά τους 64 χαρακτήρες." +INSTL_DATABASE_INVALID_NAME="Εκδόσεις της MySQL προγενέστερες της 5.1.6 δεν μπορούν να περιέχουν περιόδους ή άλλους "_QQ_"ειδικούς"_QQ_" χαρακτήρες στο όνομα τους. Η έκδοσή σας είναι: %s" +INSTL_DATABASE_NAME_INVALID_SPACES="Τα ονόματα των βάσεων δεδομένων και των πινάκων της MySQL δεν γίνεται να αρχίζουν ούτε να τελειώνουν με κενά διαστήματα." INSTL_DATABASE_NAME_INVALID_CHAR="Κανένα MySQL identifier δε μπορεί να περιέχει NUL ASCII(0x00)." INSTL_DATABASE_FILE_DOES_NOT_EXIST="Το αρχείο %s δεν υπάρχει" ;controllers -INSTL_COOKIES_NOT_ENABLED="Τα cookies φαίνεται να είναι απενεργοποιημένα στον φυλλομετρητή σας. Δε θα μπορέσετε να εγκαταστήσετε την εφαρμογή με αυτή την ρύθμιση απενεργοποιημένη. Εναλλακτικά, ενδέχεται να υπάρχει πρόβλημα με το <strong>session.save_path</strong> του διακομιστή σας. Σε αυτή την περίπτωση, παρακαλώ συμβουλευτείτε τον πάροχο φιλοξενίας σας αν δεν γνωρίζετε πως να ελέγξετε ή να διορθώσετε αυτό το πρόβλημα." +INSTL_COOKIES_NOT_ENABLED="Τα cookies φαίνεται να είναι απενεργοποιημένα στον φυλλομετρητή σας. Δε θα μπορέσετε να εγκαταστήσετε την εφαρμογή με αυτή την ρύθμιση απενεργοποιημένη. Εναλλακτικά, ενδέχεται να υπάρχει πρόβλημα με το <strong>session.save_path</strong> του διακομιστή σας. Σε αυτή την περίπτωση, παρακαλώ συμβουλευτείτε τον πάροχο φιλοξενίας σας αν δεν γνωρίζετε πώς να ελέγξετε ή να διορθώσετε αυτό το πρόβλημα." INSTL_HEADER_ERROR="Σφάλμα" ;Helpers @@ -221,7 +218,7 @@ INSTL_PAGE_TITLE="Δικτυακή εφαρμογή εγκατάστασης Joo ;Configuration model INSTL_ERROR_CONNECT_DB="Αδυναμία σύνδεσης στη βάση δεδομένων. Ο μηχανισμός σύνδεσης επέστρεψε τον αριθμό:%s" -INSTL_STD_OFFLINE_MSG="Η ιστοσελίδα είναι εκτός λειτουργίας για" +INSTL_STD_OFFLINE_MSG="Αυτός ο ιστότοπος βρίσκεται σε διαδικασία συντήρησης.<br />Παρακαλούμε επισκεφθείτε μας πάλι σύντομα." ;FTP model INSTL_FTP_INVALIDROOT="Ο ορισμένος κατάλογος FTP δεν είναι ο κατάλογος αυτής της εγκατάστασης Joomla!" @@ -241,22 +238,20 @@ INSTL_FTP_NOSYST="Η λειτουργία "_QQ_"SYST"_QQ_" απέτυχε." INSTL_FTP_UNABLE_DETECT_ROOT_FOLDER="Αδυναμία αυτόματης αναγνώρισης του πρωτεύοντος φακέλου FTP." ;others -INSTL_CONFPROBLEM="Το αρχείο ρυθμίσεων σας δεν είναι εγγράψιμο ή προέκυψε κάποιο προβλημα κατα την δημιουργία του. Θα πρέπει να μεταφορτώσετε τον ακόλουθο κώδικα με το χέρι. Κλικάρετε στην περιοχή κειμένου για να επιλέξετε όλο τον κώδικα και επικολλήστε τον σε ένα νέο αρχείο κειμένου. Ονομάστε αυτό το αρχείο 'configuration.php' και μεταφορτώστε το στον κεντρικό φάκελο της ιστοσελίδας σας." +INSTL_CONFPROBLEM="Το αρχείο ρυθμίσεων δεν είναι εγγράψιμο ή προέκυψε κάποιο προβλημα κατά τη δημιουργία του. Θα πρέπει να μεταφορτώσετε τον ακόλουθο κώδικα με το χέρι. Κλικάρετε στην περιοχή κειμένου για να επιλέξετε όλο τον κώδικα και επικολλήστε τον σε ένα νέο αρχείο κειμένου. Ονομάστε αυτό το αρχείο 'configuration.php' και μεταφορτώστε το στον κεντρικό φάκελο της ιστοσελίδας σας." INSTL_DATABASE_SUPPORT="Υποστήριξη Βάσης Δεδομένων:" INSTL_DISPLAY_ERRORS="Εμφάνιση Σφαλμάτων" -INSTL_ERROR_DB="Προέκυψαν κάποια σφάλματα κατα την εισαγωγή τιμών στην βάση δεδομένων: %s" +INSTL_ERROR_DB="Προέκυψαν κάποια σφάλματα κατά την εισαγωγή τιμών στην βάση δεδομένων: %s" INSTL_ERROR_INITIALISE_SCHEMA="Αδυναμία αρχικοποίησης σχήματος βάσης δεδομένων" INSTL_FILE_UPLOADS="Μεταφόρτωση Αρχείων" INSTL_GNU_GPL_LICENSE="GNU Γενική Δημόσια Άδεια" INSTL_JSON_SUPPORT_AVAILABLE="Υποστήριξη JSON" -INSTL_MAGIC_QUOTES_GPC="Μαγικά Εισαγωγικά GPC απενεργοποιημένο" -INSTL_MAGIC_QUOTES_RUNTIME="Μαγικά Εισαγωγικά Χρόνου Εκτέλεσης" -INSTL_MB_LANGUAGE_IS_DEFAULT="Η γλώσσα MB είναι προεπιλογή" +INSTL_MAGIC_QUOTES_GPC="Magic Quotes GPC απενεργοποιημένο" +INSTL_MAGIC_QUOTES_RUNTIME="Magic Quotes Runtime" +INSTL_MB_LANGUAGE_IS_DEFAULT="Η γλώσσα MB προεπιλεγμένη" INSTL_MB_STRING_OVERLOAD_OFF="MB String Overload απενεργοποιημένο" -INSTL_MCRYPT_SUPPORT_AVAILABLE="Υποστήριξη Mcrypt" INSTL_NOTICEMBLANGNOTDEFAULT="Η γλώσσα PHP mbstring δεν ορίστηκε σαν ουδέτερη. Αυτό μπορεί να οριστεί τοπικά γράφοντας <strong>php_value mbstring.language neutral</strong> στο αρχείο <code>.htaccess</code> ." INSTL_NOTICEMBSTRINGOVERLOAD="Η λειτουργία υπερφόρτωσης για την PHP mbstring έχει οριστεί. Αυτή μπορεί να απενεργοποιηθεί γράφοντας <strong>php_value mbstring.func_overload 0</strong> στο αρχείο <code>.htaccess</code> ." -INSTL_NOTICEMCRYPTNOTAVAILABLE="Προσοχή! Η επέκταση mcrypt της PHP πρέπει να είναι εγκατεστημένη και ενεργή. Χωρίς αυτή ορισμένα χαρακτηριστικά του Joomla δεν θα είναι διαθέσιμα." INSTL_NOTICEYOUCANSTILLINSTALL="<br/> Μπορείτε να συνεχίσετε την εγκατάσταση καθώς οι ρυθμίσεις θα εμφανίζονται στο τέλος. Θα πρέπει να μεταφορτώσετε τον κώδικα με το χέρι. Κλικάρετε στην περιοχή κειμένου για να επιλέξετε όλο τον κώδικα και επικολλήστε τον σε ένα νέο αρχείο κειμένου. Ονομάστε αυτό το αρχείο 'configuration.php' και μεταφορτώστε το στον κεντρικό φάκελο της ιστοσελίδας σας." INSTL_OUTPUT_BUFFERING="Ρυθμιστής Εξόδου" INSTL_PARSE_INI_FILE_AVAILABLE="Υποστήριξη INI Parser " @@ -269,14 +264,14 @@ INSTL_WRITABLE="%s Εγγράψιμο" INSTL_XML_SUPPORT="Υποστήριξη XML " INSTL_ZIP_SUPPORT_AVAILABLE="Εγγενής υποστήριξη ZIP" INSTL_ZLIB_COMPRESSION_SUPPORT="Υποστήριξη συμπίεσης Zlib " -INSTL_PROCESS_BUSY="Διαδικασία σε εξέλιξη. Παρακαλω περιμένετε..." +INSTL_PROCESS_BUSY="Διαδικασία σε εξέλιξη. Παρακαλώ περιμένετε..." ;Global strings JADMINISTRATOR="Διαχειριστής" JCHECK_AGAIN="Επανέλεγχος" JERROR="Σφάλμα" JEMAIL="Ηλεκτρονικό ταχυδρομείο" -JGLOBAL_ISFREESOFTWARE="%s είναι μια ελεύεθερη εφαρμογή που διανέμεται απο %s." +JGLOBAL_ISFREESOFTWARE="%s είναι μια ελεύθερη εφαρμογή που διανέμεται απο %s." JGLOBAL_LANGUAGE_VERSION_NOT_PLATFORM="Το πακέτο γλώσσας δεν είναι συμβατό με αυτή την έκδοση Joomla!. Είναι πιθανό να λείπουν κάποιες συμβολοσειρές." JGLOBAL_SELECT_AN_OPTION="Διαλέξτε μια επιλογή" JGLOBAL_SELECT_NO_RESULTS_MATCH="Δεν βρέθηκαν αποτελέσματα που να ταιριάζουν" @@ -298,12 +293,16 @@ JLIB_DATABASE_ERROR_DATABASE="Προέκυψε ένα λάθος στην βάσ JLIB_DATABASE_ERROR_LOAD_DATABASE_DRIVER="Αδυναμία φόρτωσης οδηγού βάσης δεδομένων:%s" JLIB_ENVIRONMENT_SESSION_EXPIRED="Η συνεδρία σας έχει λήξει, παρακαλώ επαναφορτώστε τη σελίδα." JLIB_FILESYSTEM_ERROR_COPY_FAILED="Η αντιγραφή απέτυχε" -JLIB_FILESYSTEM_ERROR_PATH_IS_NOT_A_FOLDER_FILES="JFolder: :files: Path is not a folder. Path: %s" +JLIB_FILESYSTEM_ERROR_PATH_IS_NOT_A_FOLDER_FILES="JFolder: :files: Η διαδρομή δεν καταλήγει σε φάκελο. Διαδρομή: %s" JLIB_FORM_FIELD_INVALID="Άκυρο πεδίο: " JLIB_FORM_VALIDATE_FIELD_INVALID="Άκυρο πεδίο:%s" JLIB_FORM_VALIDATE_FIELD_REQUIRED="Απαιτούμενο πεδίο:%s" +JLIB_INSTALLER_ABORT="Η εγκατάσταση της γλώσσας ματαιώθηκε: %s" +JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Εγκατάσταση Πακέτου: Αποτυχία δημιουργίας φακέλου: %s" +JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Πακέτο %1$s: Προέκυψε σφάλμα κατά την εγκατάσταση μιας επέκτασης: %2$s" +JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Πακέτο %s: Δεν βρέθηκαν αρχεία προς εγκατάσταση!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Αποτυχία αντιγραφής αρχείου %1$s σε %2$s." -JLIB_INSTALLER_NOT_ERROR="Εάν το σφάλμα σχετίζεται με την εγκατάσταση γλωσσών του TinyMCE δεν έχει επίδραση στην εγκατάσταση των γλωσσών. Μερικά αρχεία γλώσσας που δημιουργήθηκαν πριν το Joomla! 3.2.0 μπορεί να δοκιμάσουν να εγκαταστήσουν ξεχωριστά αρχεία γλώσσας για το TinyMCE. Καθώς αυτά συμπεριλαμβάνονται τώρα στον πυρήνα δεν χρειάζεται πλέον να εγκατασταθούν." +JLIB_INSTALLER_NOT_ERROR="Εάν το σφάλμα σχετίζεται με την εγκατάσταση γλωσσών του TinyMCE δεν έχει επίδραση στην εγκατάσταση των γλωσσών. Μερικά πακέτα γλώσσας που δημιουργήθηκαν πριν από το Joomla! 3.2.0 μπορεί να προσπαθήσουν να εγκαταστήσουν ξεχωριστά αρχεία γλώσσας για το TinyMCE. Καθώς αυτά συμπεριλαμβάνονται τώρα στον πυρήνα, δεν χρειάζεται πλέον να εγκατασταθούν." JLIB_UTIL_ERROR_CONNECT_DATABASE="Database: :getInstance: Αδυναμία σύνδεσης στη βάση δεδομένων <br />joomla.library: %1$s - %2$s" ; Strings for the language debugger @@ -334,9 +333,9 @@ NOTICE="Ειδοποίηση" WARNING="Προειδοποίηση" ; Javascript ajax error messages -JLIB_JS_AJAX_ERROR_CONNECTION_ABORT="Η σύνδεση ανεστάλει κατά την ανάκτηση δεδομένων JSON." +JLIB_JS_AJAX_ERROR_CONNECTION_ABORT="Η σύνδεση διακόπηκε κατά την ανάκτηση δεδομένων JSON." JLIB_JS_AJAX_ERROR_NO_CONTENT="Δεν επεστράφει περιεχόμενο." JLIB_JS_AJAX_ERROR_OTHER="Σφάλμα κατά την ανάκτηση δεδομένων JSON: Κωδικός κατάστασης HTTP %s." JLIB_JS_AJAX_ERROR_PARSE="Σφάλμα ανάλυσης κατά την επεξεργασία των παρακάτω δεδομένων JSON:<br/><code style="_QQ_"color:inherit;white-space:pre-wrap;padding:0;margin:0;border:0;background:inherit;"_QQ_">%s</code>" -JLIB_JS_AJAX_ERROR_TIMEOUT="Σφάλμα λήξης χρόνου σύνδεσης κατά την ανάκτηση δεδομένων JSON." +JLIB_JS_AJAX_ERROR_TIMEOUT="Λήξης χρόνου σύνδεσης κατά την ανάκτηση δεδομένων JSON." diff --git a/installation/language/el-GR/el-GR.xml b/installation/language/el-GR/el-GR.xml index eafd48c7d6bdd..9777f7e6e25e7 100644 --- a/installation/language/el-GR/el-GR.xml +++ b/installation/language/el-GR/el-GR.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> <metafile - version="3.6" + version="3.8" client="installation"> <name>Greek</name> - <version>3.6.3</version> - <creationDate>2015-06-13</creationDate> + <version>3.8.6</version> + <creationDate>Μάρτιος 2018</creationDate> <author>Greek translation team : joomla.gr</author> - <copyright>Copyright (C) 2005 - 2013 joomla.gr και Open Source Matters. All rights reserved.</copyright> + <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <files> <filename>el-GR.ini</filename> </files> <metadata> <name>Ελληνικά</name> + <nativeName>Ελληνικά (Ελλάδας)</nativeName> <tag>el-GR</tag> <rtl>0</rtl> </metadata> From 19225c074a8b459912f18a82434dfd6fcdbed620 Mon Sep 17 00:00:00 2001 From: Thomas Hunziker <werbemails@bakual.ch> Date: Fri, 2 Mar 2018 17:18:35 +0100 Subject: [PATCH 133/255] Another typo in Greek (#19816) --- installation/language/el-GR/el-GR.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installation/language/el-GR/el-GR.ini b/installation/language/el-GR/el-GR.ini index cf469c0920a2d..97608a3b63a0c 100644 --- a/installation/language/el-GR/el-GR.ini +++ b/installation/language/el-GR/el-GR.ini @@ -163,7 +163,7 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU="Το Joomla δεν μπόρεσε INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το αντικείμενο αρχικής σελίδας %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το ένθεμα μενού %s menu" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα την κατηγορία περιεχομένου %s." -INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="ο Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το τοπικοποιημένο άρθρο %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Το Joomla δεν μπόρεσε να δημιουργήσει αυτόματα το τοπικοποιημένο άρθρο %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Το Joomla δεν μπόρεσε να δημοσιεύσει αυτόματα το ένθεμα εναλλαγής γλωσσών" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Το Joomla δεν μπόρεσε να ενεργοποιήσει αυτόματα το Πρόσθετο Κωδικού Γλώσσας" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Το Joomla δεν μπόρεσε να ενεργοποιήσει αυτόματα το Πρόσθετο Φίλτρου Γλώσσας" From 4d79fe20991c36baa80a56ea59edf7e8027a1654 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Thu, 8 Mar 2018 23:05:46 +0100 Subject: [PATCH 134/255] checksum extensions light (#17619) * [3.8] - checksum extensions porting checksum extensions from 4.0 * install checksum add install checksum * update checksum add update checksum * lang add lang string * doc block add missing parameter * tab tab * PHP cs * PHP CS * return integer return integer instead of mixed * switch switch inteder * switch switch integer * add CONST and remove sha1/md5 add CONST and remove sha1/md5 * hash algos hash algos * sha256,sh384,sha512 hash algos * alpha order alpha order * fix docbloc fix docbloc --- .../com_installer/models/install.php | 23 +++++++ .../com_installer/models/update.php | 23 ++++++- .../language/en-GB/en-GB.com_installer.ini | 3 + libraries/src/Installer/InstallerHelper.php | 66 +++++++++++++++++++ 4 files changed, 112 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_installer/models/install.php b/administrator/components/com_installer/models/install.php index 963c515b24ac7..31cc29dd004c7 100644 --- a/administrator/components/com_installer/models/install.php +++ b/administrator/components/com_installer/models/install.php @@ -170,6 +170,29 @@ public function install() } } + // Check the package + $children = $installer->manifest->updateservers->children(); + + foreach ($children as $child) + { + $check = JInstallerHelper::isChecksumValid($package['packagefile'], (string) $child); + + switch ($check) + { + case 0: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_WRONG'), 'warning'); + break; + + case 1: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_CORRECT'), 'message'); + break; + + case 2: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND'), 'notice'); + break; + } + } + // Was the package unpacked? if (!$package || !$package['type']) { diff --git a/administrator/components/com_installer/models/update.php b/administrator/components/com_installer/models/update.php index a77fdd8ac8558..c8358cc3d01e7 100644 --- a/administrator/components/com_installer/models/update.php +++ b/administrator/components/com_installer/models/update.php @@ -361,7 +361,7 @@ public function update($uids, $minimum_stability = JUpdater::STABILITY_STABLE) $this->preparePreUpdate($update, $instance); // Install sets state and enqueues messages - $res = $this->install($update); + $res = $this->install($update, $instance->detailsurl); if ($res) { @@ -388,13 +388,14 @@ public function update($uids, $minimum_stability = JUpdater::STABILITY_STABLE) /** * Handles the actual update installation. * - * @param JUpdate $update An update definition + * @param JUpdate $update An update definition + * @param string $updateurl Update Server manifest * * @return boolean Result of install * * @since 1.6 */ - private function install($update) + private function install($update, $updateurl) { $app = JFactory::getApplication(); @@ -448,6 +449,22 @@ private function install($update) $installer = JInstaller::getInstance(); $update->set('type', $package['type']); + // Check the package + $check = JInstallerHelper::isChecksumValid($package['packagefile'], (string) $updateurl); + + switch ($check) + { + case 0: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_WRONG'), 'warning'); + break; + case 1: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_CORRECT'), 'message'); + break; + case 2: + $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND'), 'notice'); + break; + } + // Install the package if (!$installer->update($package['dir'])) { diff --git a/administrator/language/en-GB/en-GB.com_installer.ini b/administrator/language/en-GB/en-GB.com_installer.ini index 28163f9ea1375..0c1c13c1f460c 100644 --- a/administrator/language/en-GB/en-GB.com_installer.ini +++ b/administrator/language/en-GB/en-GB.com_installer.ini @@ -64,6 +64,9 @@ COM_INSTALLER_HEADING_UPDATESITE_NAME_ASC="Update Site ascending" COM_INSTALLER_HEADING_UPDATESITE_NAME_DESC="Update Site descending" COM_INSTALLER_HEADING_UPDATESITEID="ID" COM_INSTALLER_INSTALL_BUTTON="Install" +COM_INSTALLER_INSTALL_CHECKSUM_CORRECT="File Checksum OK" +COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND="There were no checksums provided in the package." +COM_INSTALLER_INSTALL_CHECKSUM_WRONG="File Checksum Failed" COM_INSTALLER_INSTALL_DIRECTORY="Install Folder" COM_INSTALLER_INSTALL_ERROR="Error installing %s" COM_INSTALLER_INSTALL_FROM_DIRECTORY="Install from Folder" diff --git a/libraries/src/Installer/InstallerHelper.php b/libraries/src/Installer/InstallerHelper.php index cc8d9ade5974e..c692487fd1c06 100644 --- a/libraries/src/Installer/InstallerHelper.php +++ b/libraries/src/Installer/InstallerHelper.php @@ -25,6 +25,30 @@ */ abstract class InstallerHelper { + /** + * Hash not validated identifier. + * + * @var integer + * @since __DEPLOY_VERSION__ + */ + const HASH_NOT_VALIDATED = 0; + + /** + * Hash validated identifier. + * + * @var integer + * @since __DEPLOY_VERSION__ + */ + const HASH_VALIDATED = 1; + + /** + * Hash not provided identifier. + * + * @var integer + * @since __DEPLOY_VERSION__ + */ + const HASH_NOT_PROVIDED = 2; + /** * Downloads a package * @@ -333,4 +357,46 @@ public static function splitSql($query) return $db->splitSql($query); } + + /** + * Return the result of the checksum of a package with the SHA256/SHA384/SHA512 tags in the update server manifest + * + * @param string $packagefile Location of the package to be installed + * @param Installer $updateServerManifest Update Server manifest + * + * @return integer one if the hashes match, zero if hashes doesn't match, two if hashes not found + * + * @since __DEPLOY_VERSION__ + */ + public static function isChecksumValid($packagefile, $updateServerManifest) + { + $hashes = array("sha256", "sha384", "sha512"); + $hashOnFile = false; + + $update = new \JUpdate; + $update->loadFromXml($updateServerManifest); + + foreach ($hashes as $hash) + { + if ($update->get($hash, false)) + { + $hash_package = hash_file($hash, $packagefile); + $hash_remote = $update->$hash->_data; + + $hashOnFile = true; + + if ($hash_package !== $hash_remote) + { + return self::HASH_NOT_VALIDATED; + } + } + } + + if ($hashOnFile) + { + return self::HASH_VALIDATED; + } + + return self::HASH_NOT_PROVIDED; + } } From 7f7d72d2124a88eb7e55d3e8a888614ecf4a1473 Mon Sep 17 00:00:00 2001 From: George Wilson <georgejameswilson@googlemail.com> Date: Thu, 8 Mar 2018 22:06:19 +0000 Subject: [PATCH 135/255] Revert "checksum extensions light (#17619)" (#19873) This reverts commit 4d79fe20991c36baa80a56ea59edf7e8027a1654. --- .../com_installer/models/install.php | 23 ------- .../com_installer/models/update.php | 23 +------ .../language/en-GB/en-GB.com_installer.ini | 3 - libraries/src/Installer/InstallerHelper.php | 66 ------------------- 4 files changed, 3 insertions(+), 112 deletions(-) diff --git a/administrator/components/com_installer/models/install.php b/administrator/components/com_installer/models/install.php index 31cc29dd004c7..963c515b24ac7 100644 --- a/administrator/components/com_installer/models/install.php +++ b/administrator/components/com_installer/models/install.php @@ -170,29 +170,6 @@ public function install() } } - // Check the package - $children = $installer->manifest->updateservers->children(); - - foreach ($children as $child) - { - $check = JInstallerHelper::isChecksumValid($package['packagefile'], (string) $child); - - switch ($check) - { - case 0: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_WRONG'), 'warning'); - break; - - case 1: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_CORRECT'), 'message'); - break; - - case 2: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND'), 'notice'); - break; - } - } - // Was the package unpacked? if (!$package || !$package['type']) { diff --git a/administrator/components/com_installer/models/update.php b/administrator/components/com_installer/models/update.php index c8358cc3d01e7..a77fdd8ac8558 100644 --- a/administrator/components/com_installer/models/update.php +++ b/administrator/components/com_installer/models/update.php @@ -361,7 +361,7 @@ public function update($uids, $minimum_stability = JUpdater::STABILITY_STABLE) $this->preparePreUpdate($update, $instance); // Install sets state and enqueues messages - $res = $this->install($update, $instance->detailsurl); + $res = $this->install($update); if ($res) { @@ -388,14 +388,13 @@ public function update($uids, $minimum_stability = JUpdater::STABILITY_STABLE) /** * Handles the actual update installation. * - * @param JUpdate $update An update definition - * @param string $updateurl Update Server manifest + * @param JUpdate $update An update definition * * @return boolean Result of install * * @since 1.6 */ - private function install($update, $updateurl) + private function install($update) { $app = JFactory::getApplication(); @@ -449,22 +448,6 @@ private function install($update, $updateurl) $installer = JInstaller::getInstance(); $update->set('type', $package['type']); - // Check the package - $check = JInstallerHelper::isChecksumValid($package['packagefile'], (string) $updateurl); - - switch ($check) - { - case 0: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_WRONG'), 'warning'); - break; - case 1: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_CORRECT'), 'message'); - break; - case 2: - $app->enqueueMessage(\JText::_('COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND'), 'notice'); - break; - } - // Install the package if (!$installer->update($package['dir'])) { diff --git a/administrator/language/en-GB/en-GB.com_installer.ini b/administrator/language/en-GB/en-GB.com_installer.ini index 0c1c13c1f460c..28163f9ea1375 100644 --- a/administrator/language/en-GB/en-GB.com_installer.ini +++ b/administrator/language/en-GB/en-GB.com_installer.ini @@ -64,9 +64,6 @@ COM_INSTALLER_HEADING_UPDATESITE_NAME_ASC="Update Site ascending" COM_INSTALLER_HEADING_UPDATESITE_NAME_DESC="Update Site descending" COM_INSTALLER_HEADING_UPDATESITEID="ID" COM_INSTALLER_INSTALL_BUTTON="Install" -COM_INSTALLER_INSTALL_CHECKSUM_CORRECT="File Checksum OK" -COM_INSTALLER_INSTALL_CHECKSUM_NOT_FOUND="There were no checksums provided in the package." -COM_INSTALLER_INSTALL_CHECKSUM_WRONG="File Checksum Failed" COM_INSTALLER_INSTALL_DIRECTORY="Install Folder" COM_INSTALLER_INSTALL_ERROR="Error installing %s" COM_INSTALLER_INSTALL_FROM_DIRECTORY="Install from Folder" diff --git a/libraries/src/Installer/InstallerHelper.php b/libraries/src/Installer/InstallerHelper.php index c692487fd1c06..cc8d9ade5974e 100644 --- a/libraries/src/Installer/InstallerHelper.php +++ b/libraries/src/Installer/InstallerHelper.php @@ -25,30 +25,6 @@ */ abstract class InstallerHelper { - /** - * Hash not validated identifier. - * - * @var integer - * @since __DEPLOY_VERSION__ - */ - const HASH_NOT_VALIDATED = 0; - - /** - * Hash validated identifier. - * - * @var integer - * @since __DEPLOY_VERSION__ - */ - const HASH_VALIDATED = 1; - - /** - * Hash not provided identifier. - * - * @var integer - * @since __DEPLOY_VERSION__ - */ - const HASH_NOT_PROVIDED = 2; - /** * Downloads a package * @@ -357,46 +333,4 @@ public static function splitSql($query) return $db->splitSql($query); } - - /** - * Return the result of the checksum of a package with the SHA256/SHA384/SHA512 tags in the update server manifest - * - * @param string $packagefile Location of the package to be installed - * @param Installer $updateServerManifest Update Server manifest - * - * @return integer one if the hashes match, zero if hashes doesn't match, two if hashes not found - * - * @since __DEPLOY_VERSION__ - */ - public static function isChecksumValid($packagefile, $updateServerManifest) - { - $hashes = array("sha256", "sha384", "sha512"); - $hashOnFile = false; - - $update = new \JUpdate; - $update->loadFromXml($updateServerManifest); - - foreach ($hashes as $hash) - { - if ($update->get($hash, false)) - { - $hash_package = hash_file($hash, $packagefile); - $hash_remote = $update->$hash->_data; - - $hashOnFile = true; - - if ($hash_package !== $hash_remote) - { - return self::HASH_NOT_VALIDATED; - } - } - } - - if ($hashOnFile) - { - return self::HASH_VALIDATED; - } - - return self::HASH_NOT_PROVIDED; - } } From d3856deec77c31d0c9a548d0f6111749a326c00c Mon Sep 17 00:00:00 2001 From: Thomas Hunziker <werbemails@bakual.ch> Date: Fri, 9 Mar 2018 22:34:56 +0100 Subject: [PATCH 136/255] Update spanish installation language (#19878) --- installation/language/es-ES/es-ES.ini | 82 ++++++++++++++------------- installation/language/es-ES/es-ES.xml | 4 +- 2 files changed, 44 insertions(+), 42 deletions(-) diff --git a/installation/language/es-ES/es-ES.ini b/installation/language/es-ES/es-ES.ini index b7e98146f0005..b7055ddaddeb0 100644 --- a/installation/language/es-ES/es-ES.ini +++ b/installation/language/es-ES/es-ES.ini @@ -19,9 +19,9 @@ INSTL_WARNJSON="Para que se pueda instalar Joomla! su instalacción de PHP neces ;Preinstall view INSTL_PRECHECK_TITLE="Comprobaciones previas" -INSTL_PRECHECK_DESC="Si alguno de estos elementos no está soportado (marcado como un <strong class="_QQ_"label label-important"_QQ_">No</strong>), por favor, emprenda las acciones necesarias para corregirlo. No podrá instalar Joomla! hasta que se cumplan con los siguientes requisitos." +INSTL_PRECHECK_DESC="Si alguno de estos elementos no está soportado (marcado como un <strong class=\"label label-important\">No</strong>), por favor, emprenda las acciones necesarias para corregirlo. No podrá instalar Joomla! hasta que se cumplan con los siguientes requisitos." INSTL_PRECHECK_RECOMMENDED_SETTINGS_TITLE="Configuraciones recomendadas:" -INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="Esta configuración es la recomendada para PHP, y su objetivo es el de asegurar una compatibilidad completa con Joomla!<br />Sin embargo, Joomla! aún podrá seguir funcionado aunque sus valores actuales no coincidan con los recomendados." +INSTL_PRECHECK_RECOMMENDED_SETTINGS_DESC="Esta configuración es la recomendada para PHP para asegurar una compatibilidad completa con Joomla!<br />Sin embargo, Joomla! aún podrá seguir funcionado aunque sus valores actuales no coincidan con los recomendados." INSTL_PRECHECK_DIRECTIVE="Directiva" INSTL_PRECHECK_RECOMMENDED="Recomendado" INSTL_PRECHECK_ACTUAL="Actual" @@ -31,6 +31,9 @@ INSTL_DATABASE="Configuración de la base de datos" INSTL_DATABASE_ERROR_POSTGRESQL_QUERY="La consulta de la base de datos PostgreSQL ha fallado." INSTL_DATABASE_HOST_DESC="Normalmente es "localhost" o el nombre proporcionado por su hospedaje." INSTL_DATABASE_HOST_LABEL="Hospedaje" +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="No fuimos capaces de crear el archivo. Por favor, cree manualmente un archivo llamado "%1$s" y súbalo a la carpeta "%2$s" de su sitio Joomla." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="Para conformar que es el propietario de este sitio web, por favor, elimine el archivo llamado "%1$s" que hemos creado en la carpeta "%2$s" de su sitio Joomla." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_GENERAL_MESSAGE="Está intentando usar un hospedaje para la base de datos que no está en su servidor local. Por razones de seguridad, debe verificar la propiedad de su cuenta de alojamiento web. <a href=\"%s\"> Por favor, lea la documentación </a> para obtener más información." INSTL_DATABASE_NAME_DESC="En algunos hospedajes solo se permite el nombre específico de una base de datos por sitio. En esos casos, si le interesa instalar más de un sitio, puede usar el prefijo de las tablas para distinguir entre los sitios de Joomla! que usen la misma base de datos." INSTL_DATABASE_NAME_LABEL="Base de datos" INSTL_DATABASE_NO_SCHEMA="No existe el esquema de la base de datos para este tipo de base de datos." @@ -38,7 +41,7 @@ INSTL_DATABASE_OLD_PROCESS_DESC=""Respaldar" o "Eliminar" cu INSTL_DATABASE_OLD_PROCESS_LABEL="Proceso para una base de datos antigua" INSTL_DATABASE_PASSWORD_DESC="Por cuestiones de seguridad, es primordial usar una contraseña para la cuenta de su base de datos." INSTL_DATABASE_PASSWORD_LABEL="Contraseña" -INSTL_DATABASE_PREFIX_DESC="Cree un prefijo para la base de datos o use el generado aleatoriamente. <strong>Lo óptimo es que sea de cuatro o cinco caracteres de largo y que contenga solo caracteres alfanuméricos, y DEBE acabar con un guión bajo. Asegúrese de que el prefijo elegido no esté siendo usado por otras tablas</strong>." +INSTL_DATABASE_PREFIX_DESC="Cree un prefijo para la base de datos o use el generado aleatoriamente. <strong>Lo óptimo es que sea de cuatro o cinco caracteres de largo y que tenga solo caracteres alfanuméricos, y DEBE acabar con un guión bajo. Asegúrese de que el prefijo elegido no esté siendo usado por otras tablas</strong>." INSTL_DATABASE_PREFIX_LABEL="Prefijo de las tablas" INSTL_DATABASE_PREFIX_MSG="El prefijo de la base de datos debe empezar con una letra, seguido opcionalmente de caracteres alfanuméricos, y un guión bajo" INSTL_DATABASE_TYPE_DESC="Probablemente sea "mysqli"" @@ -50,14 +53,14 @@ INSTL_DATABASE_USER_LABEL="Usuario" ;FTP view INSTL_AUTOFIND_FTP_PATH="Detectar la ruta del FTP automáticamente" INSTL_FTP="Configuración del FTP" -INSTL_FTP_DESC="<p>Sobre algunos servidores, puede que para completar la instalación de Joomla! usted necesite proporcionar las credenciales de acceso al FTP. Si tiene problemas completando la instalación sin usar la capa FTP, compruebe que si debido al entorno de configuración de su hospedaje, esto será necesario. </p><p>Por cuestiones de seguridad, es mejor crear una cuenta FTP con acceso permitido solo al directorio raíz de Joomla! y no a todo el servidor. Quien le sirve el hospedaje puede asistirle en esto.</p><p><b>Nota:</b> Si está instalando Joomla! sobre un sistema operativo Windows, la capa FTP <strong>no</strong> es necesaria.</p>" +INSTL_FTP_DESC="<p>Sobre algunos servidores, puede que para completar la instalación de Joomla! usted necesite proporcionar las credenciales de acceso al FTP. Si tiene problemas completando la instalación sin usar la capa FTP, compruebe que si debido al entorno de configuración de su hospedaje, esto será necesario. </p><p>Por cuestiones de seguridad, es mejor crear una cuenta FTP con acceso permitido solo al directorio raíz de Joomla! y no a todo el servidor. Quien le sirve el hospedaje puede ayudarle en esto.</p><p><b>Nota:</b> Si está instalando Joomla! sobre un sistema operativo Windows, la capa FTP <strong>no</strong> es necesaria.</p>" INSTL_FTP_ENABLE_LABEL="Habilitar la capa FTP" INSTL_FTP_HOST_LABEL="Hospedaje del FTP" INSTL_FTP_PASSWORD_LABEL="Contraseña del FTP" INSTL_FTP_PORT_LABEL="Puerto del FTP" INSTL_FTP_ROOT_LABEL="Ruta raíz del FTP" INSTL_FTP_SAVE_LABEL="Guardar la contraseña del FTP" -INSTL_FTP_TITLE="Configuración del FTP (<strong class="_QQ_"red"_QQ_">Opcional - La mayoría de usuarios pueden saltarse este paso - Pulse 'Siguiente' para saltárselo</strong>)" +INSTL_FTP_TITLE="Configuración del FTP (<strong class=\"red\">Opcional - La mayoría de usuarios pueden saltarse este paso - Pulse 'Siguiente' para saltárselo</strong>)" INSTL_FTP_USER_LABEL="Usuario del FTP" INSTL_VERIFY_FTP_SETTINGS="Verificar la configuración del FTP" INSTL_FTP_SETTINGS_CORRECT="Configuración correcta" @@ -66,17 +69,17 @@ INSTL_FTP_PASSWORD_DESC="¡Advertencia! Es recomendable dejar esto en blanco e i ;Site View INSTL_SITE="Configuración principal" -INSTL_ADMIN_EMAIL_LABEL="El correo electrónico del administrador" +INSTL_ADMIN_EMAIL_LABEL="El correo electrónico" INSTL_ADMIN_EMAIL_DESC="Introduzca una dirección de correo electrónico. Debe ser la dirección de correo electrónico del súper administrador del sitio." -INSTL_ADMIN_PASSWORD_LABEL="Contraseña del administrador" +INSTL_ADMIN_PASSWORD_LABEL="Contraseña" INSTL_ADMIN_PASSWORD_DESC="Asigne la contraseña de la cuenta del súper administrador y confírmela en el campo de más abajo." -INSTL_ADMIN_PASSWORD2_LABEL="Confirmar la contraseña del administrador" -INSTL_ADMIN_USER_LABEL="Nombre de usuario del administrador" +INSTL_ADMIN_PASSWORD2_LABEL="Confirmar la contraseña" +INSTL_ADMIN_USER_LABEL="Nombre de usuario" INSTL_ADMIN_USER_DESC="Asigna el nombre de usuario para su cuenta de súper administrador." INSTL_SITE_NAME_LABEL="Nombre del sitio" INSTL_SITE_NAME_DESC="Introduzca el nombre de su sitio Joomla!" INSTL_SITE_METADESC_LABEL="Descripción" -INSTL_SITE_METADESC_TITLE_LABEL="Introduzca la descripción general de todo el sitio, la cual será usada por los motores de búsqueda. Generalmente, un máximo de 20 palabras suele ser lo óptimo." +INSTL_SITE_METADESC_TITLE_LABEL="Introduzca la descripción general de todo el sitio, la cual será usada por los motores de búsqueda. Generalmente, un máximo de 20 palabras suele ser lo mejor." INSTL_SITE_OFFLINE_LABEL="Sitio fuera de línea" INSTL_SITE_OFFLINE_TITLE_LABEL="Poner fuera de línea el acceso a la zona pública del sitio cuando se complete la instalación. Si ahora no es necesario, recuerde que siempre que lo desee podrá poner el sitio fuera de línea desde la configuración global." INSTL_SITE_INSTALL_SAMPLE_LABEL="Instalar los datos de ejemplo" @@ -87,12 +90,13 @@ INSTL_SAMPLE_BROCHURE_SET="Datos de ejemplo tipo folleto en inglés (GB)" INSTL_SAMPLE_DATA_SET="Datos de ejemplo predeteminados en inglés (GB)" INSTL_SAMPLE_LEARN_SET=" Datos de ejemplo: Learn Joomla English (GB)" INSTL_SAMPLE_TESTING_SET=" Datos de ejemplo: Test English (GB)" -INSTL_SITE_INSTALL_SAMPLE_NONE_DESC="Instala Joomla solo con un menú y un formulario de acceso, sin ningún contenido." +INSTL_SITE_INSTALL_SAMPLE_NONE_DESC="Instala Joomla con un menú y un formulario de acceso, sin ningún contenido." INSTL_SAMPLE_BLOG_SET_DESC="Instala Joomla con algunos artículos y módulos relacionados con sitios tipo blog como el de 'Temas antiguos', 'Blog en el rollo' 'Temas más leídos'." INSTL_SAMPLE_BROCHURE_SET_DESC="Instala Joomla con algunas páginas (un menú con las páginas 'Inicio', 'Sobre nosotros', 'Noticias de actualidad', 'Contáctenos') y algunos módulos como el de 'Buscar', 'Personalizado' y 'Datos de acceso'." INSTL_SAMPLE_DATA_SET_DESC="Instala Joomla con una página (un menú con un enlace) y módulos como el de 'Últimos artículos' y 'Datos de acceso'." INSTL_SAMPLE_LEARN_SET_DESC="Instala Joomla con artículos de ejemplo que describen cómo funciona Joomla." INSTL_SAMPLE_TESTING_SET_DESC="Instala Joomla con todos los elementos de menú posibles para ayudar a testear Joomla." +INSTL_SUPER_USER_TITLE="Detalle de la cuenta de súper usuario" ;Summary view INSTL_FINALISATION="Finalización" @@ -118,20 +122,14 @@ INSTL_EMAIL_NOT_SENT="No se ha podido enviar el correo electrónico." ;Complete view INSTL_COMPLETE_ADMINISTRATION_LOGIN_DETAILS="Detalles de acceso a la administración" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="El directorio de instalación ('installation') ya ha sido eliminado." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_DELETE="No se ha podido eliminar el directorio de instalación ('installation'). Por favor, elimínelo manualmente." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_FOLDER_REMOVED="La carpeta de instalación ('installation') ha sido eliminada correctamente" +INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="El directorio "%s" ya ha sido eliminado." +INSTL_COMPLETE_ERROR_FOLDER_DELETE="No se ha podido eliminar el directorio "%s". Por favor, elimínelo manualmente." +INSTL_COMPLETE_FOLDER_REMOVED="La carpeta "%s" ha sido eliminada correctamente" INSTL_COMPLETE_LANGUAGE_1="Joomla! en su propio idioma o creación de un sitio multiidioma básico" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_LANGUAGE_DESC="Antes de borrar la carpeta de instalación ('installation') puede instalar más idiomas. Si desea añadir más idiomas, seleccione el siguiente botón." +INSTL_COMPLETE_LANGUAGE_DESC="Antes de borrar la carpeta "%s" puede instalar más idiomas. Si desea añadir más idiomas, seleccione el siguiente botón." INSTL_COMPLETE_LANGUAGE_DESC2="Nota: necesitará conexión a internet para que Joomla pueda descargar e instalar los nuevos idiomas. <br/>Algunas configuraciones del servidor no permiten que Joomla pueda instalar los idiomas. Si este fuera su caso, no se preocupe, los podrá instalar después desde la administración del CMS." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_FOLDER="Eliminar carpeta de instalación ('installation') " -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_INSTALLATION="POR FAVOR, ACUÉRDESE DE ELIMINAR COMPLETAMENTE EL DIRECTORIO DE INSTALACIÓN.<br />No podrá continuar usando Joomla! con normalidad hasta que la carpeta de instalación ('installation') sea eliminada. Es una característica de seguridad de Joomla!" +INSTL_COMPLETE_REMOVE_FOLDER="Eliminar carpeta "%s"" +INSTL_COMPLETE_REMOVE_INSTALLATION="POR FAVOR, ACUÉRDESE DE ELIMINAR COMPLETAMENTE EL DIRECTORIO DE INSTALACIÓN.<br />No podrá continuar usando Joomla! con normalidad hasta que la carpeta "%s" sea eliminada. Es una característica de seguridad de Joomla!" INSTL_COMPLETE_TITLE="¡Felicidades! Ahora Joomla! ya está instalado." INSTL_COMPLETE_INSTALL_LANGUAGES="Pasos extra: Instalar idiomas" @@ -160,8 +158,8 @@ INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_SELECT="Seleccionar" INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_LANGUAGE="Idioma" INSTL_DEFAULTLANGUAGE_COLUMN_HEADER_TAG="Etiqueta" INSTL_DEFAULTLANGUAGE_COULD_NOT_ADD_ASSOCIATIONS="Joomla no fue capaz de crear automáticamente las asociaciones del idioma." -INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CONTENT_LANGUAGE="Joomla no ha podido crear automáticamente el idioma del contenido %s" -INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU="Joomla no ha podido crear automáticamente el menú para el idioma %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CONTENT_LANGUAGE="Joomla no ha podido crear automáticamente el idioma del contenido %s." +INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU="Joomla no ha podido crear automáticamente el menú para el idioma %s." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla no ha podido crear automáticamente el elemento de menú de inicio para el idioma %s." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla no ha podido crear automáticamente el módulo de menú para el idioma %s." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla no ha podido crear automáticamente la categoría para el idioma del contenido %s." @@ -207,9 +205,9 @@ INSTL_DATABASE_INVALID_SQLSRV_VERSION="Necesita de SQL Server 2008 R2 (10.50.160 INSTL_DATABASE_INVALID_SQLZURE_VERSION="Necesita de SQL Server 2008 R2 (10.50.1600.1) o superior para poder continuar con la instalación. Su versión es la: %s" INSTL_DATABASE_INVALID_TYPE="Por favor, seleccione el tipo de base de datos" INSTL_DATABASE_NAME_TOO_LONG="El nombre de a base de datos de MySQL debe ser como máximo de 64 caracteres." -INSTL_DATABASE_INVALID_NAME="Las versiones de MySQL anteriores a la 5.1.6 no pueden contener períodos u otros caracteres "_QQ_"especiales"_QQ_" en el nombre. Su versión es la: %s" +INSTL_DATABASE_INVALID_NAME="Las versiones de MySQL anteriores a la 5.1.6 no pueden contener períodos u otros caracteres \"especiales\" en el nombre. Su versión es la: %s" INSTL_DATABASE_NAME_INVALID_SPACES="Los nombres de las bases de datos y de las tablas de MySQL no pueden empezar o acabar con espacios." -INSTL_DATABASE_NAME_INVALID_CHAR="Ningún identificador de MySQL puede contener un valor NULL ASCII(0x00)." +INSTL_DATABASE_NAME_INVALID_CHAR="Ningún identificador de MySQL puede tener un valor NULL ASCII(0x00)." INSTL_DATABASE_FILE_DOES_NOT_EXIST="El archivo %s no existe" ;controllers @@ -226,18 +224,18 @@ INSTL_STD_OFFLINE_MSG="Este sitio está cerrado por tareas de mantenimiento.<br ;FTP model INSTL_FTP_INVALIDROOT="La carpeta FTP especificada no es la carpeta raíz de Joomla!" INSTL_FTP_NOCONNECT="No se puede conectar con el servidor FTP" -INSTL_FTP_NODELE="La función "_QQ_"DELE"_QQ_" ha fallado." +INSTL_FTP_NODELE="La función \"DELE\" ha fallado." INSTL_FTP_NODIRECTORYLISTING="No se puede recibir la lista de carpetas desde el servidor FTP." -INSTL_FTP_NOLIST="La función "_QQ_"LIST"_QQ_" ha fallado." +INSTL_FTP_NOLIST="La función \"LIST\" ha fallado." INSTL_FTP_NOLOGIN="No se puede acceder al servidor FTP." -INSTL_FTP_NOMKD="La función "_QQ_"MKD"_QQ_" ha fallado." -INSTL_FTP_NONLST="La función "_QQ_"NLST"_QQ_" ha fallado." -INSTL_FTP_NOPWD="La función "_QQ_"PWD"_QQ_" ha fallado." -INSTL_FTP_NORETR="La función "_QQ_"RETR"_QQ_" ha fallado." -INSTL_FTP_NORMD="La función "_QQ_"RMD"_QQ_" ha fallado." +INSTL_FTP_NOMKD="La función \"MKD\" ha fallado." +INSTL_FTP_NONLST="La función \"NLST\" ha fallado." +INSTL_FTP_NOPWD="La función \"PWD\" ha fallado." +INSTL_FTP_NORETR="La función \"RETR\" ha fallado." +INSTL_FTP_NORMD="La función \"RMD\" ha fallado." INSTL_FTP_NOROOT="No se puede acceder a la carpeta FTP especificada." -INSTL_FTP_NOSTOR="La función "_QQ_"STOR"_QQ_" ha fallado." -INSTL_FTP_NOSYST="La función "_QQ_"SYST"_QQ_" ha fallado." +INSTL_FTP_NOSTOR="La función \"STOR\" ha fallado." +INSTL_FTP_NOSYST="La función \"SYST\" ha fallado." INSTL_FTP_UNABLE_DETECT_ROOT_FOLDER="No se puede detectar automáticamente la carpeta raíz del FTP." ;others @@ -253,10 +251,8 @@ INSTL_MAGIC_QUOTES_GPC="Comillas mágicas GPC desactivadas" INSTL_MAGIC_QUOTES_RUNTIME="Comillas mágicas en tiempo de ejecución" INSTL_MB_LANGUAGE_IS_DEFAULT="Mbstring language predeterminado" INSTL_MB_STRING_OVERLOAD_OFF="Mbstring overload desactivado" -INSTL_MCRYPT_SUPPORT_AVAILABLE="Soporte Mcrypt" INSTL_NOTICEMBLANGNOTDEFAULT="La función de PHP 'mbstring language' no está configurada en neutral. Esto se puede cambiar localmente, introduciendo en su archivo <code>.htaccess</code> la instrucción <strong>php_value mbstring.language neutral</strong>." INSTL_NOTICEMBSTRINGOVERLOAD="La función de PHP 'mbstring function overload' está habilitada. Esto se puede deshabilitar localmente, introduciendo en su archivo <code>.htaccess</code> la instrucción <strong>php_value mbstring.func_overload 0</strong>" -INSTL_NOTICEMCRYPTNOTAVAILABLE="¡Advertencia! La extensión de PHP 'mcrypt' debe estar instalada y habilitada. Sin esto, algunas de las características de Joomla no estarán disponibles." INSTL_NOTICEYOUCANSTILLINSTALL="<br />Aún puede continuar con la instalación, porque los datos del archivo de configuración se podrán ver al final del proceso de instalación. Una vez que lo pueda ver, tendrá que subir manualmente ese código que se ha generado. Cuando aparezca, seleccione en el área de texto todo el código y luego péguelo en un nuevo archivo de texto. El nombre de este archivo debe ser 'configuration.php', luego súbalo al directorio raíz de su sitio." INSTL_OUTPUT_BUFFERING="Área de intercambio ('buffer') de salida" INSTL_PARSE_INI_FILE_AVAILABLE="Soporte para análisis INI" @@ -281,7 +277,7 @@ JGLOBAL_LANGUAGE_VERSION_NOT_PLATFORM="El paquete del idioma no coincide con est JGLOBAL_SELECT_AN_OPTION="Seleccione una opción" JGLOBAL_SELECT_NO_RESULTS_MATCH="Sin resultado que coincidan con la búsqueda" JGLOBAL_SELECT_SOME_OPTIONS="Seleccione algunas opciones" -JINVALID_TOKEN="La solicitud más reciente ha sido denegada porque contiene un 'token' inválido de seguridad. Por favor, actualice la página e inténtelo de nuevo." +JINVALID_TOKEN="La solicitud más reciente ha sido denegada porque tenía un 'token' inválido de seguridad. Por favor, actualice la página e inténtelo de nuevo." JNEXT="Siguiente" JNO="No" JNOTICE="Nota" @@ -302,6 +298,10 @@ JLIB_FILESYSTEM_ERROR_PATH_IS_NOT_A_FOLDER_FILES="JFolder: :files: La ruta no es JLIB_FORM_FIELD_INVALID="Campo inválido: " JLIB_FORM_VALIDATE_FIELD_INVALID="Campo inválido: %s" JLIB_FORM_VALIDATE_FIELD_REQUIRED="Campo obligatorio: %s" +JLIB_INSTALLER_ABORT="Abortando la instalación del idioma: %s" +JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Instalación del paquete: Fallo creando la carpeta: %s." +JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paquete %1$s: Hubo un error instalando una extensión: %2$s" +JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paquete %s: ¡No había archivos a instalar!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fallo al copiar el archivo file %1$s a %2$s." JLIB_INSTALLER_NOT_ERROR="Si el error está relacionado con la instalación de archivos del idioma del editor TinyMCE, no tendrá ningún efecto en la instalación del idioma o idiomas. Algunos paquetes del idioma anteriores a Joomla! 3.2.0 podrían estar intentando instalar los archivo del idioma del editor por separado. Como ahora esos archivos del editor se incluyen desde el núcleo de Joomla, no es necesario que sean instalados." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: No se puede conectar con la base de datos<br />joomla.library: %1$s - %2$s" @@ -337,11 +337,13 @@ WARNING="Advertencia" JLIB_JS_AJAX_ERROR_CONNECTION_ABORT="Se ha producido una interrupción en la conexión mientras se recuperaban los datos de JSON." JLIB_JS_AJAX_ERROR_NO_CONTENT="No se ha devuelto contenido." JLIB_JS_AJAX_ERROR_OTHER="Se ha producido un error mientras se recuperaban los datos de JSON: Código de estado HTTP %s." -JLIB_JS_AJAX_ERROR_PARSE="Se ha producido un error de análisis mientras se recuperaban estos datos de JSON:<br/><code style="_QQ_"color:inherit;white-space:pre-wrap;padding:0;margin:0;border:0;background:inherit;"_QQ_">%s</code>" +JLIB_JS_AJAX_ERROR_PARSE="Se ha producido un error de análisis mientras se recuperaban estos datos de JSON:<br/><code style=\"color:inherit;white-space:pre-wrap;padding:0;margin:0;border:0;background:inherit;\">%s</code>" JLIB_JS_AJAX_ERROR_TIMEOUT="Se ha producido una desconexión por falta de tiempo mientras se recuperaban los datos de JSON." [New Strings] +INSTL_MCRYPT_SUPPORT_AVAILABLE="Soporte Mcrypt" +INSTL_NOTICEMCRYPTNOTAVAILABLE="¡Advertencia! La extensión de PHP 'mcrypt' debe estar instalada y habilitada. Sin esto, algunas de las características de Joomla no estarán disponibles." INSTL_SAMPLE_BLOG_ES_SET="Datos de ejemplo tipo blog en español (ES)." INSTL_SAMPLE_BROCHURE_ES_SET="Datos de ejemplo tipo folleto en español (ES)." INSTL_SAMPLE_DATA_ES_SET="Datos de ejemplo predeterminados en español (ES)." diff --git a/installation/language/es-ES/es-ES.xml b/installation/language/es-ES/es-ES.xml index 9a644ce55b767..49209c48298e1 100644 --- a/installation/language/es-ES/es-ES.xml +++ b/installation/language/es-ES/es-ES.xml @@ -3,8 +3,8 @@ version="3.6" client="installation"> <name>Spanish (ES)</name> - <version>3.6.3</version> - <creationDate>2016-09-23</creationDate> + <version>3.8.6</version> + <creationDate>2018-03-13</creationDate> <author>Spanish Translation Team</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> From b4ff7d8fcd9fcd8ad0e627484015c95fd110bbe1 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Mon, 12 Mar 2018 12:06:41 +0100 Subject: [PATCH 137/255] implement check provided by @ggppdk (#19791) --- administrator/components/com_admin/models/sysinfo.php | 4 +--- installation/model/setup.php | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index 6b606e63db373..b08decc9be32a 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -239,8 +239,6 @@ public function &getPhpSettings() return $this->php_settings; } - $outputBuffering = ini_get('output_buffering'); - $this->php_settings = array( 'safe_mode' => ini_get('safe_mode') == '1', 'display_errors' => ini_get('display_errors') == '1', @@ -248,7 +246,7 @@ public function &getPhpSettings() 'file_uploads' => ini_get('file_uploads') == '1', 'magic_quotes_gpc' => ini_get('magic_quotes_gpc') == '1', 'register_globals' => ini_get('register_globals') == '1', - 'output_buffering' => ($outputBuffering === 'On') ? true : is_numeric($outputBuffering), + 'output_buffering' => (int) ini_get('output_buffering') !== 0, 'open_basedir' => ini_get('open_basedir'), 'session.save_path' => ini_get('session.save_path'), 'session.auto_start' => ini_get('session.auto_start'), diff --git a/installation/model/setup.php b/installation/model/setup.php index f4690c6982cca..adfd24a6c967a 100644 --- a/installation/model/setup.php +++ b/installation/model/setup.php @@ -372,10 +372,9 @@ public function getPhpSettings() $settings[] = $setting; // Check for output buffering. - $outputBuffering = ini_get('output_buffering'); $setting = new stdClass; $setting->label = JText::_('INSTL_OUTPUT_BUFFERING'); - $setting->state = ($outputBuffering === 'On') ? true : is_numeric($outputBuffering); + $setting->state = (int) ini_get('output_buffering') !== 0; $setting->recommended = false; $settings[] = $setting; From 8b27680d84201c03dbca80e45684265d856795c5 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Mon, 12 Mar 2018 15:24:44 -0700 Subject: [PATCH 138/255] Fix undefined index: password_clear (#19892) --- plugins/system/remember/remember.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/remember/remember.php b/plugins/system/remember/remember.php index 6dc8a53a06377..ec5dc22ae4024 100644 --- a/plugins/system/remember/remember.php +++ b/plugins/system/remember/remember.php @@ -116,7 +116,7 @@ public function onUserBeforeSave($user, $isnew, $data) } // Irrelevant, because password was not changed by user - if ($data['password_clear'] == '') + if (empty($data['password_clear'])) { return true; } From cd8d6500e0e0ee99bf899736ffa7f8c22074f0cb Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Mon, 12 Mar 2018 06:21:00 -0500 Subject: [PATCH 139/255] Prepare 3.8.6 release --- administrator/components/com_users/models/notes.php | 6 +++--- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 4 ++-- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 10 +++++----- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/administrator/components/com_users/models/notes.php b/administrator/components/com_users/models/notes.php index 9ab4a281d8f1f..4bb9b247912f4 100644 --- a/administrator/components/com_users/models/notes.php +++ b/administrator/components/com_users/models/notes.php @@ -112,10 +112,10 @@ protected function getListQuery() $query->where('(a.state IN (0, 1))'); } - // Filter by a single or group of categories. - $categoryId = $this->getState('filter.category_id'); + // Filter by a single category. + $categoryId = (int) $this->getState('filter.category_id'); - if ($categoryId && is_scalar($categoryId)) + if ($categoryId) { $query->where('a.catid = ' . $categoryId); } diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 16337fc201b0e..1aa2b6519e569 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> <version>3.8.6</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index ec66a9cd59e7e..5a22007c6e40f 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.6</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 0c5ab2c1b1cbe..53411b7308b98 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,8 +6,8 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.6-dev</version> - <creationDate>February 2018</creationDate> + <version>3.8.6</version> + <creationDate>March 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> <scriptfile>administrator/components/com_admin/script.php</scriptfile> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 4a175d3b4f0ba..44de35dc9b5c8 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -3,7 +3,7 @@ <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> <version>3.8.6.1</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 4e5bda1f5120e..07ef75ab72e6d 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,7 +4,7 @@ client="installation"> <name>English (United Kingdom)</name> <version>3.8.6</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 85726c91a7290..255868a68af91 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="site"> <name>English (en-GB)</name> <version>3.8.6</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 39cef6920c122..5cccaf67af4a0 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.6</version> - <creationDate>February 2018</creationDate> + <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 7aa62ceaf1055..5f10df0dd7fd2 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = ''; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '6-dev'; + const DEV_LEVEL = '6'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Stable'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '28-February-2018'; + const RELDATE = '13-March-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:42'; + const RELTIME = '14:00'; /** * Release timezone. From cfcf3da19f8f57a842e93385760763c03d25552b Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 13 Mar 2018 08:36:23 -0500 Subject: [PATCH 140/255] Reset for development --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 2 +- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 8 ++++---- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 1aa2b6519e569..ce15674694266 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> - <version>3.8.6</version> + <version>3.8.7</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 5a22007c6e40f..4fe5c259a623a 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="administrator" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.6</version> + <version>3.8.7</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 53411b7308b98..32906edc88712 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.6</version> + <version>3.8.7-dev</version> <creationDate>March 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 44de35dc9b5c8..a06dd1bd1ed24 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -2,7 +2,7 @@ <extension type="package" version="3.8" method="upgrade"> <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> - <version>3.8.6.1</version> + <version>3.8.7.1</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 07ef75ab72e6d..ed11d1b041699 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -3,7 +3,7 @@ version="3.8" client="installation"> <name>English (United Kingdom)</name> - <version>3.8.6</version> + <version>3.8.7</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 255868a68af91..f1f388801d86e 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="site"> <name>English (en-GB)</name> - <version>3.8.6</version> + <version>3.8.7</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 5cccaf67af4a0..01bcda355d312 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="site" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.6</version> + <version>3.8.7</version> <creationDate>March 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 5f10df0dd7fd2..4feacd331f22a 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -49,7 +49,7 @@ final class Version * @var integer * @since 3.8.0 */ - const PATCH_VERSION = 6; + const PATCH_VERSION = 7; /** * Extra release version info. @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = ''; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '6'; + const DEV_LEVEL = '7-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Stable'; + const DEV_STATUS = 'Development'; /** * Build number. From 23d2b434492aa89e7060ae60d7286906a648a7a9 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Wed, 14 Mar 2018 01:21:58 -0600 Subject: [PATCH 141/255] Fix appveyor builds and bump driver dll version (#19805) * bump driver dll version and add php 7.2 * remove php 7.2 until drivers are available * Use powershell 'Invoke-WebRequest' Workaround When you use appveyor command-line utility to download, its user-agent is empty, Some sites do not allow empty user-agents to download. Use powershell 'Invoke-WebRequest' Workaround until appveyor fixes their command-line utility to have a user agent --- .appveyor.yml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index fde466dcb7c5b..60cee9472f7bf 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -39,17 +39,26 @@ install: - ps: >- If ($env:PHP -eq "1") { If ($env:php_ver_target -eq "5.6") { - appveyor-retry appveyor DownloadFile https://cdn.joomla.org/ci/php-sqlsrv.zip + $source = "https://cdn.joomla.org/ci/php-sqlsrv.zip" + $destination = "c:\tools\php\php-sqlsrv.zip" + Invoke-WebRequest $source -OutFile $destination + #appveyor-retry appveyor DownloadFile https://cdn.joomla.org/ci/php-sqlsrv.zip 7z x -y php-sqlsrv.zip > $null copy SQLSRV\php_sqlsrv_56_nts.dll ext\php_sqlsrv_nts.dll copy SQLSRV\php_pdo_sqlsrv_56_nts.dll ext\php_pdo_sqlsrv_nts.dll Remove-Item C:\tools\php\* -include .zip } Else { - $DLLVersion = "4.1.6.1" + $DLLVersion = "4.3.0" cd c:\tools\php\ext - appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip + $source = "http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip" + $destination = "c:\tools\php\ext\php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip" + Invoke-WebRequest $source -OutFile $destination + #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip 7z x -y php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null - appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip + $source = "http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip" + $destination = "c:\tools\php\ext\php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip" + Invoke-WebRequest $source -OutFile $destination + #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip 7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null Remove-Item c:\tools\php\ext* -include .zip cd c:\tools\php}} @@ -83,7 +92,10 @@ install: If ($env:PHP -eq "1") { If ($env:php_ver_target -eq "5.6") {$wincache = "1.3.7.12"} Else {$wincache = "2.0.0.8"} cd c:\tools\php\ext - appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip + $source = "http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip" + $destination = "c:\tools\php\ext\php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip" + Invoke-WebRequest $source -OutFile $destination + #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip 7z x -y php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip > $null Remove-Item C:\tools\php\ext* -include .zip cd c:\tools\php} From 22364fb2faf7370ae07143ef6ba66dddf8106e51 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Thu, 15 Mar 2018 12:00:13 -0500 Subject: [PATCH 142/255] Don't have a metadataManager class property to avoid circular dependency problem when instantiating multiple applications (#19912) --- libraries/src/Application/CMSApplication.php | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/libraries/src/Application/CMSApplication.php b/libraries/src/Application/CMSApplication.php index 1ac7d8800fa5f..8ee5682aa1ba4 100644 --- a/libraries/src/Application/CMSApplication.php +++ b/libraries/src/Application/CMSApplication.php @@ -63,14 +63,6 @@ class CMSApplication extends WebApplication */ protected $_messageQueue = array(); - /** - * The session metadata manager - * - * @var MetadataManager - * @since 3.8.6 - */ - protected $metadataManager = null; - /** * The name of the application. * @@ -115,8 +107,6 @@ public function __construct(Input $input = null, Registry $config = null, \JAppl { parent::__construct($input, $config, $client); - $this->metadataManager = new MetadataManager($this, \JFactory::getDbo()); - // Load and set the dispatcher $this->loadDispatcher(); @@ -158,7 +148,8 @@ public function __construct(Input $input = null, Registry $config = null, \JAppl */ public function checkSession() { - $this->metadataManager->createRecordIfNonExisting(\JFactory::getSession(), \JFactory::getUser()); + $metadataManager = new MetadataManager($this, \JFactory::getDbo()); + $metadataManager->createRecordIfNonExisting(\JFactory::getSession(), \JFactory::getUser()); } /** From ef5f3a4ecf6d1133d07361a8d0013bd9938e93e8 Mon Sep 17 00:00:00 2001 From: Phil Taylor <phil@phil-taylor.com> Date: Thu, 15 Mar 2018 17:56:48 +0000 Subject: [PATCH 143/255] typo (#19910) typo --- plugins/extension/joomla/joomla.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/extension/joomla/joomla.php b/plugins/extension/joomla/joomla.php index c385cadc690b5..a83db6803ba93 100644 --- a/plugins/extension/joomla/joomla.php +++ b/plugins/extension/joomla/joomla.php @@ -76,7 +76,7 @@ private function addUpdateSite($name, $type, $location, $enabled) } } - // Check if it has an update site id (creation might have faileD) + // Check if it has an update site id (creation might have failed) if ($update_site_id) { // Look for an update site entry that exists From 3ca677be574d67e3b5fda141269e869601da3ccd Mon Sep 17 00:00:00 2001 From: akritianand <anand.akriti@gmail.com> Date: Sat, 17 Mar 2018 20:40:08 +0530 Subject: [PATCH 144/255] Clear button in article publish date (#17809) * For clear button issue * Update calendar.js * Update module.php * Remove commented line --- .../components/com_modules/models/module.php | 2 +- media/system/js/fields/calendar.js | 8 +- media/system/js/fields/calendar.min.js | 113 +----------------- 3 files changed, 5 insertions(+), 118 deletions(-) diff --git a/administrator/components/com_modules/models/module.php b/administrator/components/com_modules/models/module.php index 11610126d5763..fc10db5df869a 100644 --- a/administrator/components/com_modules/models/module.php +++ b/administrator/components/com_modules/models/module.php @@ -926,7 +926,7 @@ public function save($data) if ($data['title'] == $orig_table->title) { - $data['title'] .= ' ' . JText::_('JGLOBAL_COPY'); + $data['title'] = StringHelper::increment($data['title']); } } diff --git a/media/system/js/fields/calendar.js b/media/system/js/fields/calendar.js index e81f8a8e4eaee..8fead10b4ed07 100644 --- a/media/system/js/fields/calendar.js +++ b/media/system/js/fields/calendar.js @@ -783,11 +783,10 @@ row = createElement("div", this.wrapper); row.className = "buttons-wrapper btn-group"; - this._nav_save = hh(JoomlaCalLocale.save, '', 100, 'button', '', 'js-btn btn btn-clear', {"type": "button", "data-action": "clear"}); + this._nav_clear = hh(JoomlaCalLocale.clear, '', 100, 'button', '', 'js-btn btn btn-clear', {"type": "button", "data-action": "clear"}); - if (!this.inputField.hasAttribute('required')) { - var savea = row.querySelector('[data-action="clear"]'); - savea.addEventListener("click", function (e) { + var cleara = row.querySelector('[data-action="clear"]'); + cleara.addEventListener("click", function (e) { e.preventDefault(); var days = self.table.querySelectorAll('td'); for (var i = 0; i < days.length; i++) { @@ -800,7 +799,6 @@ self.inputField.setAttribute('value', ''); self.inputField.value = ''; }); - } if (this.params.showsTodayBtn) { this._nav_now = hh(JoomlaCalLocale.today, '', 0, 'button', '', 'js-btn btn btn-today', {"type": "button", "data-action": "today"}); diff --git a/media/system/js/fields/calendar.min.js b/media/system/js/fields/calendar.min.js index 97bae8dcc0171..5c8f71b0039f4 100644 --- a/media/system/js/fields/calendar.min.js +++ b/media/system/js/fields/calendar.min.js @@ -1,112 +1 @@ -!(function(window,document){'use strict';Date.convertNumbers=function(str){var str=str.toString();if(Object.prototype.toString.call(JoomlaCalLocale.localLangNumbers)==='[object Array]'){for(var i=0;i<JoomlaCalLocale.localLangNumbers.length;i++){str=str.replace(new RegExp(i,'g'),JoomlaCalLocale.localLangNumbers[i])}} -return str};Date.toEnglish=function(str){str=this.toString();var nums=[0,1,2,3,4,5,6,7,8,9];for(var i=0;i<10;i++){str=str.replace(new RegExp(nums[i],'g'),i)} -return str};var JoomlaCalendar=function(element){if(!element){throw new Error("Calendar setup failed:\n No valid element found, Please check your code")} -if(typeof Date.parseFieldDate!=='function'){throw new Error("Calendar setup failed:\n No valid date helper, Please check your code")} -if(element._joomlaCalendar){throw new Error('JoomlaCalendar instance already exists for the element')} -element._joomlaCalendar=this;this.writable=!0;this.hidden=!0;this.params={};this.element=element;this.inputField=element.getElementsByTagName('input')[0];this.button=element.getElementsByTagName('button')[0];if(!this.inputField){throw new Error("Calendar setup failed:\n No valid input found, Please check your code")} -this.params={debug:!1,clicked:!1,element:{style:{display:"none"}},writable:!0};var self=this,btn=this.button,instanceParams={inputField:this.inputField,dateType:JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:'gregorian',direction:(document.dir!==undefined)?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir"),firstDayOfWeek:btn.getAttribute("data-firstday")?parseInt(btn.getAttribute("data-firstday")):0,dateFormat:"%Y-%m-%d %H:%M:%S",weekend:JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6],minYear:JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900,maxYear:JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100,minYearTmp:btn.getAttribute("data-min-year"),maxYearTmp:btn.getAttribute("data-max-year"),weekendTmp:btn.getAttribute("data-weekend"),time24:!0,showsOthers:(parseInt(btn.getAttribute("data-show-others"))===1)?!0:!1,showsTime:!0,weekNumbers:(parseInt(btn.getAttribute("data-week-numbers"))===1)?!0:!1,showsTodayBtn:!0,compressedHeader:(parseInt(btn.getAttribute("data-only-months-nav"))===1)?!0:!1,};if(btn.getAttribute("data-dayformat")){instanceParams.dateFormat=btn.getAttribute("data-dayformat")?btn.getAttribute("data-dayformat"):"%Y-%m-%d %H:%M:%S"} -if(btn.getAttribute("data-time-24")){instanceParams.time24=parseInt(btn.getAttribute("data-time-24"))===24?!0:!1} -if(btn.getAttribute("data-show-time")){instanceParams.showsTime=parseInt(btn.getAttribute("data-show-time"))===1?!0:!1} -if(btn.getAttribute("data-today-btn")){instanceParams.showsTodayBtn=parseInt(btn.getAttribute("data-today-btn"))===1?!0:!1} -for(var param in instanceParams){this.params[param]=instanceParams[param]} -if(isInt(self.params.minYearTmp)){self.params.minYear=getBoundary(parseInt(self.params.minYearTmp),self.params.dateType)} -if(isInt(self.params.maxYearTmp)){self.params.maxYear=getBoundary(parseInt(self.params.maxYearTmp),self.params.dateType)} -if(self.params.weekendTmp!=="undefined"){self.params.weekend=self.params.weekendTmp.split(',').map(function(item){return parseInt(item,10)})} -this._dayMouseDown=function(event){return self._handleDayMouseDown(event)};this._calKeyEvent=function(event){return self._handleCalKeyEvent(event)};this._documentClick=function(event){return self._handleDocumentClick(event)};this.checkInputs();if(this.inputField.getAttribute('readonly')){return} -this._create();this._bindEvents()};JoomlaCalendar.prototype.checkInputs=function(){var inputAltValueDate=Date.parseFieldDate(this.inputField.getAttribute('data-alt-value'),this.params.dateFormat,'gregorian');if(this.inputField.value!==''){this.date=inputAltValueDate;this.inputField.value=inputAltValueDate.print(this.params.dateFormat,this.params.dateType,!0)}else{this.date=new Date()}};JoomlaCalendar.prototype.recreate=function(){var element=this.element,el=element.querySelector('.js-calendar');if(el){element._joomlaCalendar=null;el.parentNode.removeChild(el);new JoomlaCalendar(element)}};JoomlaCalendar.prototype.updateTime=function(hours,mins,secs){var self=this,date=self.date;var d=self.date.getLocalDate(self.params.dateType),m=self.date.getLocalMonth(self.params.dateType),y=self.date.getLocalFullYear(self.params.dateType),ampm=this.inputField.parentNode.parentNode.querySelectorAll('.time-ampm')[0];if(!self.params.time24){if(/pm/i.test(ampm.value)&&hours<12){hours=parseInt(hours)+12}else if(/am/i.test(ampm.value)&&hours==12){hours=0}} -date.setHours(hours);date.setMinutes(parseInt(mins,10));date.setSeconds(date.getSeconds());date.setLocalFullYear(self.params.dateType,y);date.setLocalMonth(self.params.dateType,m);date.setLocalDate(self.params.dateType,d);self.dateClicked=!1;this.callHandler()};JoomlaCalendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this.date=date;this.processCalendar(this.params.firstDayOfWeek,date)}};JoomlaCalendar.prototype.moveCursorBy=function(step){var date=new Date(this.date);date.setDate(date.getDate()-step);this.setDate(date)};JoomlaCalendar.prototype.resetSelected=function(element){var options=element.options;var i=options.length;while(i--){var current=options[i];if(current.selected){current.selected=!1}}};JoomlaCalendar.prototype.callHandler=function(){this.inputField.setAttribute('data-alt-value',this.date.print(this.params.dateFormat,'gregorian',!1));if(this.inputField.getAttribute('data-alt-value')&&this.inputField.getAttribute('data-alt-value')!=='0000-00-00 00:00:00'){this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0);if(this.params.dateType!=='gregorian'){this.inputField.setAttribute('data-local-value',this.date.print(this.params.dateFormat,this.params.dateType,!0))}} -this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0);if(typeof this.inputField.onchange=="function"){this.inputField.onchange()} -if(this.dateClicked&&typeof this.params.onUpdate==="function"){this.params.onUpdate(this)} -if(this.dateClicked){this.close()}else{this.processCalendar()}};JoomlaCalendar.prototype.close=function(){this.hide()};JoomlaCalendar.prototype.show=function(){if(navigator.appName.indexOf("Internet Explorer")!==-1){var badBrowser=(navigator.appVersion.indexOf("MSIE 9")===-1&&navigator.appVersion.indexOf("MSIE 1")===-1);if(badBrowser){if(window.jQuery&&jQuery().chosen){var selItems=this.element.getElementsByTagName('select');for(var i=0;i<selItems.length;i++){jQuery(selItems[i]).chosen('destroy')}}}} -this.checkInputs();this.inputField.focus();this.dropdownElement.style.display="block";this.hidden=!1;document.addEventListener("keydown",this._calKeyEvent,!0);document.addEventListener("keypress",this._calKeyEvent,!0);document.addEventListener("mousedown",this._documentClick,!0);var containerTmp=this.element.querySelector('.js-calendar');if((window.innerHeight+window.scrollY)<containerTmp.getBoundingClientRect().bottom+20){containerTmp.style.marginTop=-(containerTmp.getBoundingClientRect().height+this.inputField.getBoundingClientRect().height)+"px"} -this.processCalendar()};JoomlaCalendar.prototype.hide=function(){document.removeEventListener("keydown",this._calKeyEvent,!0);document.removeEventListener("keypress",this._calKeyEvent,!0);document.removeEventListener("mousedown",this._documentClick,!0);this.dropdownElement.style.display="none";this.hidden=!0};JoomlaCalendar.prototype._handleDocumentClick=function(ev){var el=ev.target;if(el!==null&&!el.classList.contains('time')){for(;el!==null&&el!==this.element;el=el.parentNode);} -if(el===null){document.activeElement.blur();this.hide();return stopCalEvent(ev)}};JoomlaCalendar.prototype._handleDayMouseDown=function(ev){var self=this,el=ev.currentTarget,target=ev.target||ev.srcElement;if(target&&target.hasAttribute('data-action')){return} -if(el.nodeName!=='TD'){var testel=el.getParent('TD');if(testel.nodeName==='TD'){el=testel}else{el=el.getParent('TD');if(el.classList.contains('js-calendar')){el=el.getElementsByTagName('table')[0]}}}else{if(!(target.classList.contains('js-btn'))&&!el.classList.contains('day')&&!el.classList.contains('title')){return}} -if(!el||el.disabled){return!1} -if(typeof el.navtype==="undefined"||el.navtype!==300){if(el.navtype===50){el._current=el.innerHTML} -if(target===el||target.parentNode===el){self.cellClick(el,ev)} -var mon=null;if(typeof el.month!=="undefined"){mon=el} -if(typeof el.parentNode.month!=="undefined"){mon=el.parentNode} -var date=null;if(mon){date=new Date(self.date);if(mon.month!==date.getLocalMonth(self.params.dateType)){date.setLocalMonth(self.params.dateType,mon.month);self.setDate(date);self.dateClicked=!1;this.callHandler()}}else{var year=null;if(typeof el.year!=="undefined"){year=target} -if(typeof el.parentNode.year!=="undefined"){year=target.parentNode} -if(year){date=new Date(self.date);if(year.year!==date.getLocalFullYear(self.params.dateType)){date.setFullYear(self.params.dateType,year.year);self.setDate(date);self.dateClicked=!1;this.callHandler()}}}} -return stopCalEvent(ev)};JoomlaCalendar.prototype.cellClick=function(el,ev){var self=this,closing=!1,newdate=!1,date=null;if(typeof el.navtype==="undefined"){if(self.currentDateEl){el.classList.add("selected");self.currentDateEl=el.caldate;closing=(self.currentDateEl===el.caldate);if(!closing){self.currentDateEl=el.caldate}} -self.date.setLocalDateOnly('gregorian',el.caldate);var other_month=!(self.dateClicked=!el.otherMonth);if(self.currentDateEl){newdate=!el.disabled} -if(other_month){this.processCalendar()}}else{date=new Date(self.date);self.dateClicked=!1;var year=date.getOtherFullYear(self.params.dateType),mon=date.getLocalMonth(self.params.dateType);switch(el.navtype){case 400:break;case-2:if(!self.params.compressedHeader){if(year>self.params.minYear){date.setOtherFullYear(self.params.dateType,year-1)}} -break;case-1:var day=date.getLocalDate(self.params.dateType);if(mon>0){var max=date.getLocalMonthDays(self.params.dateType,mon-1);if(day>max){date.setLocalDate(self.params.dateType,max)} -date.setLocalMonth(self.params.dateType,mon-1)}else if(year-->self.params.minYear){date.setOtherFullYear(self.params.dateType,year);var max=date.getLocalMonthDays(self.params.dateType,11);if(day>max){date.setLocalDate(self.params.dateType,max)} -date.setLocalMonth(self.params.dateType,11)} -break;case 1:var day=date.getLocalDate(self.params.dateType);if(mon<11){var max=date.getLocalMonthDays(self.params.dateType,mon+1);if(day>max){date.setLocalDate(self.params.dateType,max)} -date.setLocalMonth(self.params.dateType,mon+1)}else if(year<self.params.maxYear){date.setOtherFullYear(self.params.dateType,year+1);var max=date.getLocalMonthDays(self.params.dateType,0);if(day>max){date.setLocalDate(self.params.dateType,max)} -date.setLocalMonth(self.params.dateType,0)} -break;case 2:if(!self.params.compressedHeader) -if(year<self.params.maxYear){date.setOtherFullYear(self.params.dateType,year+1)} -break;case 0:break} -if(!date.equalsTo(self.date)){this.setDate(date);newdate=!0}else if(el.navtype===0){newdate=closing=!0}} -if(newdate){if(self.params.showsTime){this.dateClicked=!1} -ev&&this.callHandler()} -el.classList.remove("hilite");if(closing&&!self.params.showsTime){self.dateClicked=!1;ev&&this.close()}};JoomlaCalendar.prototype._handleCalKeyEvent=function(ev){var self=this,K=ev.keyCode;if(ev.target===this.inputField&&(K===13||K===9)){this.close()} -if(self.params.direction==='rtl'){if(K===37){K=39}else if(K===39){K=37}} -if(K===32){if(ev.shiftKey){ev.preventDefault();this.cellClick(self._nav_now,ev);self.close()}} -if(K===27){this.close()} -if(K===38){this.moveCursorBy(7)} -if(K===40){this.moveCursorBy(-7)} -if(K===37){this.moveCursorBy(1)} -if(K===39){this.moveCursorBy(-1)} -if(ev.target===this.inputField&&!(K>48||K<57||K===186||K===189||K===190||K===32)){return stopCalEvent(ev)}};JoomlaCalendar.prototype._create=function(){var self=this,parent=this.element,table=createElement("table"),div=createElement("div");this.table=table;table.className='table';table.cellSpacing=0;table.cellPadding=0;table.style.marginBottom=0;this.dropdownElement=div;parent.appendChild(div);if(this.params.direction){div.style.direction=this.params.direction} -div.className='js-calendar';div.style.position="absolute";div.style.boxShadow="0px 0px 70px 0px rgba(0,0,0,0.67)";div.style.minWidth=this.inputField.width;div.style.padding='0';div.style.display="none";div.style.left="auto";div.style.top="auto";div.style.zIndex=1060;div.style.borderRadius="20px";this.wrapper=createElement('div');this.wrapper.className='calendar-container';div.appendChild(this.wrapper);this.wrapper.appendChild(table);var thead=createElement("thead",table);thead.className='calendar-header';var cell=null,row=null,cal=this,hh=function(text,cs,navtype,node,styles,classes,attributes){node=node?node:"td";styles=styles?styles:{};cell=createElement(node,row);if(cs){classes=classes?'class="'+classes+'"':'';cell.colSpan=cs} -for(var key in styles){cell.style[key]=styles[key]} -for(var key in attributes){cell.setAttribute(key,attributes[key])} -if(navtype!==0&&Math.abs(navtype)<=2){cell.className+=" nav"} -if(cs){cell.addEventListener("mousedown",self._dayMouseDown,!0)} -cell.calendar=cal;cell.navtype=navtype;if(navtype!==0&&Math.abs(navtype)<=2){cell.innerHTML="<a "+classes+" style='display:inline;padding:2px 6px;cursor:pointer;text-decoration:none;' unselectable='on'>"+text+"</a>"}else{cell.innerHTML=cs?"<div unselectable='on'"+classes+">"+text+"</div>":text;if(!cs&&classes){cell.className=classes}} -return cell};if(this.params.compressedHeader===!1){row=createElement("tr",thead);row.className="calendar-head-row";this._nav_py=hh("‹",1,-2,'',{"text-align":"center","font-size":"18px","line-height":"18px"},'js-btn btn-prev-year');this.title=hh('<div style="text-align:center;font-size:18px"><span></span></div>',this.params.weekNumbers?6:5,300);this.title.className="title";this._nav_ny=hh(" ›",1,2,'',{"text-align":"center","font-size":"18px","line-height":"18px"},'js-btn btn-next-year')} -row=createElement("tr",thead);row.className="calendar-head-row";this._nav_pm=hh("‹",1,-1,'',{"text-align":"center","font-size":"2em","line-height":"1em"},'js-btn btn-prev-month');this._nav_month=hh('<div style="text-align:center;font-size:1.2em"><span></span></div>',this.params.weekNumbers?6:5,888,'td',{'textAlign':'center'});this._nav_month.className="title";this._nav_nm=hh(" ›",1,1,'',{"text-align":"center","font-size":"2em","line-height":"1em"},'js-btn btn-next-month');row=createElement("tr",thead);row.className=self.params.weekNumbers?"daynames wk":"daynames";if(this.params.weekNumbers){cell=createElement("td",row);cell.className="day-name wn";cell.innerHTML=JoomlaCalLocale.wk} -for(var i=7;i>0;--i){cell=createElement("td",row);if(!i){cell.calendar=self}} -this.firstdayname=(this.params.weekNumbers)?row.firstChild.nextSibling:row.firstChild;var fdow=this.params.firstDayOfWeek,cell=this.firstdayname,weekend=JoomlaCalLocale.weekend;for(var i=0;i<7;++i){var realday=(i+fdow)%7;cell.classList.add("day-name");this.params.weekNumbers?cell.classList.add('day-name-week'):'';if(i){cell.calendar=self;cell.fdow=realday} -if(weekend.indexOf(weekend)!==-1){cell.classList.add("weekend")} -cell.innerHTML=JoomlaCalLocale.shortDays[(i+fdow)%7];cell=cell.nextSibling} -var tbody=createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=createElement("tr",tbody);if(this.params.weekNumbers){cell=createElement("td",row)} -for(var j=7;j>0;--j){cell=createElement("td",row);cell.calendar=this;cell.addEventListener("mousedown",this._dayMouseDown,!0)}} -if(this.params.showsTime){row=createElement("tr",tbody);row.className="time";cell=createElement("td",row);cell.className="time time-title";cell.colSpan=1;cell.style.verticalAlign='middle';cell.innerHTML=" ";var cell1=createElement("td",row);cell1.className="time hours-select";cell1.colSpan=2;var cell2=createElement("td",row);cell2.className="time minutes-select";cell2.colSpan=2;(function(){function makeTimePart(className,selected,range_start,range_end,cellTml){var part=createElement("select",cellTml),num;part.calendar=self;part.className=className;part.setAttribute('data-chosen',!0);part.style.width='100%';part.navtype=50;part._range=[];for(var i=range_start;i<=range_end;++i){var txt,selAttr='';if(i===selected){selAttr=!0} -if(i<10&&range_end>=10){num='0'+i;txt=Date.convertNumbers('0')+Date.convertNumbers(i)}else{num=''+i;txt=''+Date.convertNumbers(i)} -part.options.add(new Option(txt,num,selAttr,selAttr))} -return part} -var hrs=self.date.getHours(),mins=self.date.getMinutes(),t12=!self.params.time24,pm=(self.date.getHours()>12);if(t12&&pm){hrs-=12} -var H=makeTimePart("time time-hours",hrs,t12?1:0,t12?12:23,cell1),M=makeTimePart("time time-minutes",mins,0,59,cell2),AP=null;cell=createElement("td",row);cell.className="time ampm-select";cell.colSpan=self.params.weekNumbers?1:2;if(t12){var selAttr=!0,altDate=Date.parseFieldDate(self.inputField.getAttribute('data-alt-value'),self.params.dateFormat,'gregorian');pm=(altDate.getHours()>=12);var part=createElement("select",cell);part.className="time-ampm";part.style.width='100%';part.options.add(new Option(JoomlaCalLocale.PM,"pm",pm?selAttr:'',pm?selAttr:''));part.options.add(new Option(JoomlaCalLocale.AM,"am",pm?'':selAttr,pm?'':selAttr));AP=part;AP.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}else{cell.innerHTML=" ";cell.colSpan=self.params.weekNumbers?3:2} -H.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1);M.addEventListener("change",function(event){self.updateTime(event.target.parentNode.parentNode.childNodes[1].childNodes[0].value,event.target.parentNode.parentNode.childNodes[2].childNodes[0].value,event.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)})()} -row=createElement("div",this.wrapper);row.className="buttons-wrapper btn-group";this._nav_save=hh(JoomlaCalLocale.save,'',100,'button','','js-btn btn btn-clear',{"type":"button","data-action":"clear"});if(!this.inputField.hasAttribute('required')){var savea=row.querySelector('[data-action="clear"]');savea.addEventListener("click",function(e){e.preventDefault();var days=self.table.querySelectorAll('td');for(var i=0;i<days.length;i++){if(days[i].classList.contains('selected')){days[i].classList.remove('selected');break}} -self.inputField.setAttribute('data-alt-value',"0000-00-00 00:00:00");self.inputField.setAttribute('value','');self.inputField.value=''})} -if(this.params.showsTodayBtn){this._nav_now=hh(JoomlaCalLocale.today,'',0,'button','','js-btn btn btn-today',{"type":"button","data-action":"today"});var todaya=this.wrapper.querySelector('[data-action="today"]');todaya.addEventListener('click',function(e){e.preventDefault();self.date.setLocalDateOnly('gregorian',new Date());self.dateClicked=!0;self.callHandler();self.close()})} -this._nav_exit=hh(JoomlaCalLocale.exit,'',999,'button','','js-btn btn btn-exit',{"type":"button","data-action":"exit"});var exita=this.wrapper.querySelector('[data-action="exit"]');exita.addEventListener('click',function(e){e.preventDefault();if(!self.dateClicked){if(self.inputField.value){if(self.params.dateType!=='gregorian'){self.inputField.setAttribute('data-local-value',self.inputField.value)} -if(typeof self.dateClicked==='undefined'){self.inputField.setAttribute('data-alt-value',Date.parseFieldDate(self.inputField.value,self.params.dateFormat,self.params.dateType).print(self.params.dateFormat,'gregorian',!1))}else{self.inputField.setAttribute('data-alt-value',self.date.print(self.params.dateFormat,'gregorian',!1))}}else{self.inputField.setAttribute('data-alt-value','0000-00-00 00:00:00')} -self.date=Date.parseFieldDate(self.inputField.getAttribute('data-alt-value'),self.params.dateFormat,self.params.dateType)} -self.close()});this.processCalendar()};JoomlaCalendar.prototype.processCalendar=function(){this.table.style.visibility="hidden";var firstDayOfWeek=this.params.firstDayOfWeek,date=this.date,today=new Date(),TY=today.getLocalFullYear(this.params.dateType),TM=today.getLocalMonth(this.params.dateType),TD=today.getLocalDate(this.params.dateType),year=date.getOtherFullYear(this.params.dateType),hrs=date.getHours(),mins=date.getMinutes(),secs=date.getSeconds(),t12=!this.params.time24;if(year<this.params.minYear){year=this.params.minYear;date.getOtherFullYear(this.params.dateType,year)}else if(year>this.params.maxYear){year=this.params.maxYear;date.getOtherFullYear(this.params.dateType,year)} -this.params.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getLocalMonth(this.params.dateType);var mday=date.getLocalDate(this.params.dateType);date.setLocalDate(this.params.dateType,1);var day1=(date.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;if(day1<0){day1+=7} -date.setLocalDate(this.params.dateType,-day1);date.setLocalDate(this.params.dateType,date.getLocalDate(this.params.dateType)+1);var row=this.tbody.firstChild,ar_days=this.ar_days=new Array(),weekend=JoomlaCalLocale.weekend,monthDays=parseInt(date.getLocalWeekDays(this.params.dateType));for(var i=0;i<monthDays;++i,row=row.nextSibling){var cell=row.firstChild;if(this.params.weekNumbers){cell.className="day wn";cell.innerHTML=date.getLocalWeekNumber(this.params.dateType);cell=cell.nextSibling} -row.className=this.params.weekNumbers?"daysrow wk":"daysrow";var hasdays=!1,iday,dpos=ar_days[i]=[],totalDays=monthDays+1;for(var j=0;j<totalDays;++j,cell=cell.nextSibling,date.setLocalDate(this.params.dateType,iday+1)){cell.className="day";cell.style.textAlign='center';iday=date.getLocalDate(this.params.dateType);var wday=date.getLocalDay(this.params.dateType);cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getLocalMonth(this.params.dateType)===month);if(!current_month){if(this.params.showsOthers){cell.className+=" disabled othermonth ";cell.otherMonth=!0}else{cell.className+=" emptycell";cell.innerHTML=" ";cell.disabled=!0;continue}}else{cell.otherMonth=!1;hasdays=!0;cell.style.cursor="pointer"} -cell.disabled=!1;cell.innerHTML=this.params.debug?iday:Date.convertNumbers(iday);if(!cell.disabled){cell.caldate=new Date(date);if(current_month&&iday===mday){cell.className+=" selected";this.currentDateEl=cell} -if(date.getLocalFullYear(this.params.dateType)===TY&&date.getLocalMonth(this.params.dateType)===TM&&iday===TD){cell.className+=" today"} -if(weekend.indexOf(wday)!==-1) -cell.className+=" weekend"}} -if(!(hasdays||this.params.showsOthers)){row.style.display='none';row.className="emptyrow"}else{row.style.display=''}} -if(this.params.showsTime){if(hrs>12&&t12){hrs-=12} -hrs=(hrs<10)?"0"+hrs:hrs;mins=(mins<10)?"0"+mins:mins;var hoursEl=this.table.querySelector('.time-hours'),minsEl=this.table.querySelector('.time-minutes');this.resetSelected(hoursEl);if(!this.params.time24) -{hoursEl.value=(hrs=="00")?"12":hrs} -else{hoursEl.value=hrs} -this.resetSelected(minsEl);minsEl.value=mins;if(!this.params.time24) -{var dateAlt=new Date(this.inputField.getAttribute('data-alt-value')),ampmEl=this.table.querySelector('.time-ampm'),hrsAlt=dateAlt.getHours();if(hrsAlt>12){this.resetSelected(ampmEl);ampmEl.value='pm'}}} -if(!this.params.compressedHeader){this._nav_month.getElementsByTagName('span')[0].innerHTML=this.params.debug?month+' '+JoomlaCalLocale.months[month]:JoomlaCalLocale.months[month];this.title.getElementsByTagName('span')[0].innerHTML=this.params.debug?year+' '+Date.convertNumbers(year.toString()):Date.convertNumbers(year.toString())}else{var tmpYear=Date.convertNumbers(year.toString());this._nav_month.getElementsByTagName('span')[0].innerHTML=!this.params.monthBefore?JoomlaCalLocale.months[month]+' - '+tmpYear:tmpYear+' - '+JoomlaCalLocale.months[month]} -this.table.style.visibility="visible"};JoomlaCalendar.prototype._bindEvents=function(){var self=this;this.inputField.addEventListener('blur',function(event){var calObj=JoomlaCalendar.getCalObject(this)._joomlaCalendar;if(calObj.dropdownElement.style.display==='block'){event.preventDefault();return} -if(calObj){if(calObj.inputField.value){if(typeof calObj.params.dateClicked==='undefined'){calObj.inputField.setAttribute('data-local-value',calObj.inputField.value);if(calObj.params.dateType!=='gregorian'){var ndate,date=Date.parseFieldDate(calObj.inputField.value,calObj.params.dateFormat,calObj.params.dateType);ndate=Date.localCalToGregorian(date.getFullYear(),date.getMonth(),date.getDate());date.setFullYear(ndate[0]);date.setMonth(ndate[1]);date.setDate(ndate[2]);calObj.inputField.setAttribute('data-alt-value',date.print(calObj.params.dateFormat,'gregorian',!1))}else{calObj.inputField.setAttribute('data-alt-value',Date.parseFieldDate(calObj.inputField.value,calObj.params.dateFormat,calObj.params.dateType).print(calObj.params.dateFormat,'gregorian',!1))}}else{calObj.inputField.setAttribute('data-alt-value',calObj.date.print(calObj.params.dateFormat,'gregorian',!1))}}else{calObj.inputField.setAttribute('data-alt-value','0000-00-00 00:00:00')} -calObj.date=Date.parseFieldDate(calObj.inputField.getAttribute('data-alt-value'),calObj.params.dateFormat,calObj.params.dateType)} -self.close()},!0);this.button.addEventListener('click',function(){self.show()},!1)};var stopCalEvent=function(ev){ev||(ev=window.event);ev.preventDefault();ev.stopPropagation();return!1};var createElement=function(type,parent){var el=null;el=document.createElement(type);if(typeof parent!=="undefined"){parent.appendChild(el)}return el};var isInt=function(input){return!isNaN(input)&&(function(x){return(x|0)===x})(parseFloat(input))};var getBoundary=function(input,type){var date=new Date();var y=date.getLocalFullYear(type);return y+input};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt){var len=this.length>>>0,from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0){from+=len} -for(;from<len;from++){if(from in this&&this[from]===elt){return from}} -return-1}} -JoomlaCalendar.getCalObject=function(element){if(!element){return!1} -while(element.parentNode){element=element.parentNode;if(element.classList.contains('field-calendar')){return element}} -return!1};JoomlaCalendar.prototype.setAltValue=function(){var input=this.inputField;if(input.getAttribute('disabled'))return;input.value=input.getAttribute('data-alt-value')?input.getAttribute('data-alt-value'):''};JoomlaCalendar.onSubmit=function(){Joomla=window.Joomla||{};if(!Joomla.calendarProcessed){Joomla.calendarProcessed=!0;var elements=document.querySelectorAll(".field-calendar");for(var i=0;i<elements.length;i++){var element=elements[i],instance=element._joomlaCalendar;if(instance){instance.setAltValue()}}}};JoomlaCalendar.init=function(element,container){window.JoomlaCalLocale=window.JoomlaCalLocale?JoomlaCalLocale:{};JoomlaCalLocale.today=JoomlaCalLocale.today?JoomlaCalLocale.today:'today';JoomlaCalLocale.weekend=JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6];JoomlaCalLocale.localLangNumbers=JoomlaCalLocale.localLangNumbers?JoomlaCalLocale.localLangNumbers:[0,1,2,3,4,5,6,7,8,9];JoomlaCalLocale.wk=JoomlaCalLocale.wk?JoomlaCalLocale.wk:'wk';JoomlaCalLocale.AM=JoomlaCalLocale.AM?JoomlaCalLocale.AM:'AM';JoomlaCalLocale.PM=JoomlaCalLocale.PM?JoomlaCalLocale.PM:'PM';JoomlaCalLocale.am=JoomlaCalLocale.am?JoomlaCalLocale.am:'am';JoomlaCalLocale.pm=JoomlaCalLocale.pm?JoomlaCalLocale.pm:'pm';JoomlaCalLocale.dateType=JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:'gregorian';JoomlaCalLocale.time=JoomlaCalLocale.time?JoomlaCalLocale.time:'time';JoomlaCalLocale.days=JoomlaCalLocale.days?JoomlaCalLocale.days:'["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]';JoomlaCalLocale.shortDays=JoomlaCalLocale.shortDays?JoomlaCalLocale.shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"];JoomlaCalLocale.months=JoomlaCalLocale.months?JoomlaCalLocale.months:["January","February","March","April","May","June","July","August","September","October","November","December"];JoomlaCalLocale.shortMonths=JoomlaCalLocale.shortMonths?JoomlaCalLocale.shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];JoomlaCalLocale.minYear=JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900;JoomlaCalLocale.maxYear=JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100;JoomlaCalLocale.exit=JoomlaCalLocale.exit?JoomlaCalLocale.exit:'Cancel';JoomlaCalLocale.clear=JoomlaCalLocale.clear?JoomlaCalLocale.clear:'Clear';var instance=element._joomlaCalendar;if(!instance){new JoomlaCalendar(element)}else{instance.recreate()} -if(element&&element.getElementsByTagName('input')[0]&&element.getElementsByTagName('input')[0].form&&!element.getElementsByTagName('input')[0].disabled){element.getElementsByTagName('input')[0].form.addEventListener('submit',JoomlaCalendar.onSubmit)}};window.JoomlaCalendar=JoomlaCalendar;document.addEventListener("DOMContentLoaded",function(){var elements,i;elements=document.querySelectorAll(".field-calendar");for(i=0;i<elements.length;i++){JoomlaCalendar.init(elements[i])} -window.jQuery&&jQuery(document).on("subform-row-add",function(event,row){elements=row.querySelectorAll(".field-calendar");for(i=0;i<elements.length;i++){JoomlaCalendar.init(elements[i])}});window.Calendar={};Calendar.setup=function(obj){if(obj.inputField&&document.getElementById(obj.inputField)){var element=document.getElementById(obj.inputField),cal=element.parentNode.querySelectorAll('button')[0];for(var property in obj){if(obj.hasOwnProperty(property)){switch(property){case 'ifFormat':if(cal)cal.setAttribute('data-dayformat',obj.ifFormat);break;case 'firstDay':if(cal)cal.setAttribute('data-firstday',parseInt(obj.firstDay));break;case 'weekNumbers':if(cal)cal.setAttribute('data-week-numbers',(obj.weekNumbers==="true"||obj.weekNumbers===!0)?'1':'0');break;case 'showOthers':if(cal)cal.setAttribute('data-show-others',(obj.showOthers==="true"||obj.showOthers===!0)?'1':'0');break;case 'showsTime':if(cal)cal.setAttribute('data-show-time',(obj.showsTime==="true"||obj.showsTime===!0)?'1':'0');break;case 'timeFormat':if(cal)cal.setAttribute('data-time-24',parseInt(obj.timeFormat));break;case 'displayArea':case 'inputField':case 'button':case 'eventName':case 'daFormat':case 'disableFunc':case 'dateStatusFunc':case 'dateTooltipFunc':case 'dateText':case 'align':case 'range':case 'flat':case 'flatCallback':case 'onSelect':case 'onClose':case 'onUpdate':case 'date':case 'electric':case 'step':case 'position':case 'cache':case 'multiple':break}}} -JoomlaCalendar.init(element.parentNode.parentNode)} -return null}})})(window,document) \ No newline at end of file +!function(e,a){"use strict";Date.convertNumbers=function(e){e=e.toString();if("[object Array]"===Object.prototype.toString.call(JoomlaCalLocale.localLangNumbers))for(var a=0;a<JoomlaCalLocale.localLangNumbers.length;a++)e=e.replace(new RegExp(a,"g"),JoomlaCalLocale.localLangNumbers[a]);return e},Date.toEnglish=function(e){e=this.toString();for(var a=[0,1,2,3,4,5,6,7,8,9],t=0;t<10;t++)e=e.replace(new RegExp(a[t],"g"),t);return e};var t=function(e){if(!e)throw new Error("Calendar setup failed:\n No valid element found, Please check your code");if("function"!=typeof Date.parseFieldDate)throw new Error("Calendar setup failed:\n No valid date helper, Please check your code");if(e._joomlaCalendar)throw new Error("JoomlaCalendar instance already exists for the element");if(e._joomlaCalendar=this,this.writable=!0,this.hidden=!0,this.params={},this.element=e,this.inputField=e.getElementsByTagName("input")[0],this.button=e.getElementsByTagName("button")[0],!this.inputField)throw new Error("Calendar setup failed:\n No valid input found, Please check your code");this.params={debug:!1,clicked:!1,element:{style:{display:"none"}},writable:!0};var t=this,r=this.button,s={inputField:this.inputField,dateType:JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:"gregorian",direction:void 0!==a.dir?a.dir:a.getElementsByTagName("html")[0].getAttribute("dir"),firstDayOfWeek:r.getAttribute("data-firstday")?parseInt(r.getAttribute("data-firstday")):0,dateFormat:"%Y-%m-%d %H:%M:%S",weekend:JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6],minYear:JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900,maxYear:JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100,minYearTmp:r.getAttribute("data-min-year"),maxYearTmp:r.getAttribute("data-max-year"),weekendTmp:r.getAttribute("data-weekend"),time24:!0,showsOthers:1===parseInt(r.getAttribute("data-show-others")),showsTime:!0,weekNumbers:1===parseInt(r.getAttribute("data-week-numbers")),showsTodayBtn:!0,compressedHeader:1===parseInt(r.getAttribute("data-only-months-nav"))};for(var i in r.getAttribute("data-dayformat")&&(s.dateFormat=r.getAttribute("data-dayformat")?r.getAttribute("data-dayformat"):"%Y-%m-%d %H:%M:%S"),r.getAttribute("data-time-24")&&(s.time24=24===parseInt(r.getAttribute("data-time-24"))),r.getAttribute("data-show-time")&&(s.showsTime=1===parseInt(r.getAttribute("data-show-time"))),r.getAttribute("data-today-btn")&&(s.showsTodayBtn=1===parseInt(r.getAttribute("data-today-btn"))),s)this.params[i]=s[i];l(t.params.minYearTmp)&&(t.params.minYear=o(parseInt(t.params.minYearTmp),t.params.dateType)),l(t.params.maxYearTmp)&&(t.params.maxYear=o(parseInt(t.params.maxYearTmp),t.params.dateType)),"undefined"!==t.params.weekendTmp&&(t.params.weekend=t.params.weekendTmp.split(",").map(function(e){return parseInt(e,10)})),this._dayMouseDown=function(e){return t._handleDayMouseDown(e)},this._calKeyEvent=function(e){return t._handleCalKeyEvent(e)},this._documentClick=function(e){return t._handleDocumentClick(e)},this.checkInputs(),this.inputField.getAttribute("readonly")||(this._create(),this._bindEvents())};t.prototype.checkInputs=function(){var e=Date.parseFieldDate(this.inputField.getAttribute("data-alt-value"),this.params.dateFormat,"gregorian");""!==this.inputField.value?(this.date=e,this.inputField.value=e.print(this.params.dateFormat,this.params.dateType,!0)):this.date=new Date},t.prototype.recreate=function(){var e=this.element,a=e.querySelector(".js-calendar");a&&(e._joomlaCalendar=null,a.parentNode.removeChild(a),new t(e))},t.prototype.updateTime=function(e,a,t){var r=this,s=r.date,l=r.date.getLocalDate(r.params.dateType),o=r.date.getLocalMonth(r.params.dateType),i=r.date.getLocalFullYear(r.params.dateType),n=this.inputField.parentNode.parentNode.querySelectorAll(".time-ampm")[0];r.params.time24||(/pm/i.test(n.value)&&e<12?e=parseInt(e)+12:/am/i.test(n.value)&&12===e&&(e=0)),s.setHours(e),s.setMinutes(parseInt(a,10)),s.setSeconds(s.getSeconds()),s.setLocalFullYear(r.params.dateType,i),s.setLocalMonth(r.params.dateType,o),s.setLocalDate(r.params.dateType,l),r.dateClicked=!1,this.callHandler()},t.prototype.setDate=function(e){e.equalsTo(this.date)||(this.date=e,this.processCalendar(this.params.firstDayOfWeek,e))},t.prototype.moveCursorBy=function(e){var a=new Date(this.date);a.setDate(a.getDate()-e),this.setDate(a)},t.prototype.resetSelected=function(e){for(var a=e.options,t=a.length;t--;){var r=a[t];r.selected&&(r.selected=!1)}},t.prototype.callHandler=function(){this.inputField.setAttribute("data-alt-value",this.date.print(this.params.dateFormat,"gregorian",!1)),this.inputField.getAttribute("data-alt-value")&&"0000-00-00 00:00:00"!==this.inputField.getAttribute("data-alt-value")&&(this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0),"gregorian"!==this.params.dateType&&this.inputField.setAttribute("data-local-value",this.date.print(this.params.dateFormat,this.params.dateType,!0))),this.inputField.value=this.date.print(this.params.dateFormat,this.params.dateType,!0),"function"==typeof this.inputField.onchange&&this.inputField.onchange(),this.dateClicked&&"function"==typeof this.params.onUpdate&&this.params.onUpdate(this),this.dateClicked?this.close():this.processCalendar()},t.prototype.close=function(){a.activeElement.blur(),this.hide()},t.prototype.show=function(){if(-1!==navigator.appName.indexOf("Internet Explorer")&&(-1===navigator.appVersion.indexOf("MSIE 9")&&-1===navigator.appVersion.indexOf("MSIE 1")&&e.jQuery&&jQuery().chosen))for(var t=this.element.getElementsByTagName("select"),r=0;r<t.length;r++)jQuery(t[r]).chosen("destroy");this.checkInputs(),this.inputField.focus(),this.dropdownElement.style.display="block",this.hidden=!1,a.addEventListener("keydown",this._calKeyEvent,!0),a.addEventListener("keypress",this._calKeyEvent,!0),a.addEventListener("mousedown",this._documentClick,!0);var s=this.element.querySelector(".js-calendar");e.innerHeight+e.scrollY<s.getBoundingClientRect().bottom+20&&(s.style.marginTop=-(s.getBoundingClientRect().height+this.inputField.getBoundingClientRect().height)+"px"),this.processCalendar()},t.prototype.hide=function(){a.removeEventListener("keydown",this._calKeyEvent,!0),a.removeEventListener("keypress",this._calKeyEvent,!0),a.removeEventListener("mousedown",this._documentClick,!0),this.dropdownElement.style.display="none",this.hidden=!0},t.prototype._handleDocumentClick=function(e){var t=e.target;if(null!==t&&!t.classList.contains("time"))for(;null!==t&&t!==this.element;t=t.parentNode);if(null===t)return a.activeElement.blur(),this.hide(),r(e)},t.prototype._handleDayMouseDown=function(e){var a=this,t=e.currentTarget,s=e.target||e.srcElement;if(!s||!s.hasAttribute("data-action")){if("TD"!==t.nodeName){var l=t.getParent("TD");"TD"===l.nodeName?t=l:(t=t.getParent("TD")).classList.contains("js-calendar")&&(t=t.getElementsByTagName("table")[0])}else if(!s.classList.contains("js-btn")&&!t.classList.contains("day")&&!t.classList.contains("title"))return;if(!t||t.disabled)return!1;if(void 0===t.navtype||300!==t.navtype){50===t.navtype&&(t._current=t.innerHTML),s!==t&&s.parentNode!==t||a.cellClick(t,e);var o=null;void 0!==t.month&&(o=t),void 0!==t.parentNode.month&&(o=t.parentNode);var i=null;if(o)i=new Date(a.date),o.month!==i.getLocalMonth(a.params.dateType)&&(i.setLocalMonth(a.params.dateType,o.month),a.setDate(i),a.dateClicked=!1,this.callHandler());else{var n=null;void 0!==t.year&&(n=s),void 0!==t.parentNode.year&&(n=s.parentNode),n&&(i=new Date(a.date),n.year!==i.getLocalFullYear(a.params.dateType)&&(i.setFullYear(a.params.dateType,n.year),a.setDate(i),a.dateClicked=!1,this.callHandler()))}}return r(e)}},t.prototype.cellClick=function(e,a){var t=this,r=!1,s=!1,l=null;if(void 0===e.navtype){t.currentDateEl&&(e.classList.add("selected"),t.currentDateEl=e.caldate,(r=t.currentDateEl===e.caldate)||(t.currentDateEl=e.caldate)),t.date.setLocalDateOnly("gregorian",e.caldate);var o=!(t.dateClicked=!e.otherMonth);t.currentDateEl&&(s=!e.disabled),o&&this.processCalendar()}else{l=new Date(t.date),t.dateClicked=!1;var i=l.getOtherFullYear(t.params.dateType),n=l.getLocalMonth(t.params.dateType);switch(e.navtype){case 400:break;case-2:t.params.compressedHeader||i>t.params.minYear&&l.setOtherFullYear(t.params.dateType,i-1);break;case-1:var d=l.getLocalDate(t.params.dateType);if(n>0)d>(m=l.getLocalMonthDays(t.params.dateType,n-1))&&l.setLocalDate(t.params.dateType,m),l.setLocalMonth(t.params.dateType,n-1);else if(i-- >t.params.minYear){l.setOtherFullYear(t.params.dateType,i),d>(m=l.getLocalMonthDays(t.params.dateType,11))&&l.setLocalDate(t.params.dateType,m),l.setLocalMonth(t.params.dateType,11)}break;case 1:d=l.getLocalDate(t.params.dateType);if(n<11)d>(m=l.getLocalMonthDays(t.params.dateType,n+1))&&l.setLocalDate(t.params.dateType,m),l.setLocalMonth(t.params.dateType,n+1);else if(i<t.params.maxYear){var m;l.setOtherFullYear(t.params.dateType,i+1),d>(m=l.getLocalMonthDays(t.params.dateType,0))&&l.setLocalDate(t.params.dateType,m),l.setLocalMonth(t.params.dateType,0)}break;case 2:t.params.compressedHeader||i<t.params.maxYear&&l.setOtherFullYear(t.params.dateType,i+1)}l.equalsTo(t.date)?0===e.navtype&&(s=r=!0):(this.setDate(l),s=!0)}s&&(t.params.showsTime&&(this.dateClicked=!1),a&&this.callHandler()),e.classList.remove("hilite"),r&&!t.params.showsTime&&(t.dateClicked=!1,a&&this.close())},t.prototype._handleCalKeyEvent=function(e){var a=e.keyCode;if(e.target!==this.inputField||13!==a&&9!==a||this.close(),"rtl"===this.params.direction&&(37===a?a=39:39===a&&(a=37)),32===a&&e.shiftKey&&(e.preventDefault(),this.cellClick(this._nav_now,e),this.close()),27===a&&this.close(),38===a&&this.moveCursorBy(7),40===a&&this.moveCursorBy(-7),37===a&&this.moveCursorBy(1),39===a&&this.moveCursorBy(-1),e.target===this.inputField&&!(a>48||a<57||186===a||189===a||190===a||32===a))return r(e)},t.prototype._create=function(){var e=this,a=this.element,t=s("table"),r=s("div");this.table=t,t.className="table",t.cellSpacing=0,t.cellPadding=0,t.style.marginBottom=0,this.dropdownElement=r,a.appendChild(r),this.params.direction&&(r.style.direction=this.params.direction),r.className="js-calendar",r.style.position="absolute",r.style.boxShadow="0px 0px 70px 0px rgba(0,0,0,0.67)",r.style.minWidth=this.inputField.width,r.style.padding="0",r.style.display="none",r.style.left="auto",r.style.top="auto",r.style.zIndex=1060,r.style.borderRadius="20px",this.wrapper=s("div"),this.wrapper.className="calendar-container",r.appendChild(this.wrapper),this.wrapper.appendChild(t);var l=s("thead",t);l.className="calendar-header";var o=null,i=null,n=this,d=function(a,t,r,l,d,m,p){for(var c in d=d||{},o=s(l=l||"td",i),t&&(m=m?'class="'+m+'"':"",o.colSpan=t),d)o.style[c]=d[c];for(var c in p)o.setAttribute(c,p[c]);return 0!==r&&Math.abs(r)<=2&&(o.className+=" nav"),t&&o.addEventListener("mousedown",e._dayMouseDown,!0),o.calendar=n,o.navtype=r,0!==r&&Math.abs(r)<=2?o.innerHTML="<a "+m+" style='display:inline;padding:2px 6px;cursor:pointer;text-decoration:none;' unselectable='on'>"+a+"</a>":(o.innerHTML=t?"<div unselectable='on'"+m+">"+a+"</div>":a,!t&&m&&(o.className=m)),o};!1===this.params.compressedHeader&&((i=s("tr",l)).className="calendar-head-row",this._nav_py=d("‹",1,-2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-prev-year"),this.title=d('<div style="text-align:center;font-size:18px"><span></span></div>',this.params.weekNumbers?6:5,300),this.title.className="title",this._nav_ny=d(" ›",1,2,"",{"text-align":"center","font-size":"18px","line-height":"18px"},"js-btn btn-next-year")),(i=s("tr",l)).className="calendar-head-row",this._nav_pm=d("‹",1,-1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-prev-month"),this._nav_month=d('<div style="text-align:center;font-size:1.2em"><span></span></div>',this.params.weekNumbers?6:5,888,"td",{textAlign:"center"}),this._nav_month.className="title",this._nav_nm=d(" ›",1,1,"",{"text-align":"center","font-size":"2em","line-height":"1em"},"js-btn btn-next-month"),(i=s("tr",l)).className=e.params.weekNumbers?"daynames wk":"daynames",this.params.weekNumbers&&((o=s("td",i)).className="day-name wn",o.innerHTML=JoomlaCalLocale.wk);for(var m=7;m>0;--m)o=s("td",i),m||(o.calendar=e);this.firstdayname=this.params.weekNumbers?i.firstChild.nextSibling:i.firstChild;var p=this.params.firstDayOfWeek,c=(o=this.firstdayname,JoomlaCalLocale.weekend);for(m=0;m<7;++m){var u=(m+p)%7;o.classList.add("day-name"),this.params.weekNumbers&&o.classList.add("day-name-week"),m&&(o.calendar=e,o.fdow=u),-1!==c.indexOf(c)&&o.classList.add("weekend"),o.innerHTML=JoomlaCalLocale.shortDays[(m+p)%7],o=o.nextSibling}var h=s("tbody",t);for(this.tbody=h,m=6;m>0;--m){i=s("tr",h),this.params.weekNumbers&&(o=s("td",i));for(var y=7;y>0;--y)(o=s("td",i)).calendar=this,o.addEventListener("mousedown",this._dayMouseDown,!0)}if(this.params.showsTime){(i=s("tr",h)).className="time",(o=s("td",i)).className="time time-title",o.colSpan=1,o.style.verticalAlign="middle",o.innerHTML=" ";var v=s("td",i);v.className="time hours-select",v.colSpan=2;var g=s("td",i);g.className="time minutes-select",g.colSpan=2,function(){function a(a,t,r,l,o){var i,n=s("select",o);n.calendar=e,n.className=a,n.setAttribute("data-chosen",!0),n.style.width="100%",n.navtype=50,n._range=[];for(var d=r;d<=l;++d){var m,p="";d===t&&(p=!0),d<10&&l>=10?(i="0"+d,m=Date.convertNumbers("0")+Date.convertNumbers(d)):(i=""+d,m=""+Date.convertNumbers(d)),n.options.add(new Option(m,i,p,p))}return n}var t=e.date.getHours(),r=e.date.getMinutes(),l=!e.params.time24,n=e.date.getHours()>12;l&&n&&(t-=12);var d=a("time time-hours",t,l?1:0,l?12:23,v),m=a("time time-minutes",r,0,59,g);if((o=s("td",i)).className="time ampm-select",o.colSpan=e.params.weekNumbers?1:2,l){n=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,"gregorian").getHours()>12;var p=s("select",o);p.className="time-ampm",p.style.width="100%",p.options.add(new Option(JoomlaCalLocale.PM,"pm",!!n||"",!!n||"")),p.options.add(new Option(JoomlaCalLocale.AM,"am",!n||"",!n||"")),p.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}else o.innerHTML=" ",o.colSpan=e.params.weekNumbers?3:2;d.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1),m.addEventListener("change",function(a){e.updateTime(a.target.parentNode.parentNode.childNodes[1].childNodes[0].value,a.target.parentNode.parentNode.childNodes[2].childNodes[0].value,a.target.parentNode.parentNode.childNodes[3].childNodes[0].value)},!1)}()}((i=s("div",this.wrapper)).className="buttons-wrapper btn-group",this._nav_clear=d(JoomlaCalLocale.clear,"",100,"button","","js-btn btn btn-clear",{type:"button","data-action":"clear"}),i.querySelector('[data-action="clear"]').addEventListener("click",function(a){a.preventDefault();for(var t=e.table.querySelectorAll("td"),r=0;r<t.length;r++)if(t[r].classList.contains("selected")){t[r].classList.remove("selected");break}e.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00"),e.inputField.setAttribute("value",""),e.inputField.value=""}),this.params.showsTodayBtn)&&(this._nav_now=d(JoomlaCalLocale.today,"",0,"button","","js-btn btn btn-today",{type:"button","data-action":"today"}),this.wrapper.querySelector('[data-action="today"]').addEventListener("click",function(a){a.preventDefault(),e.date.setLocalDateOnly("gregorian",new Date),e.dateClicked=!0,e.callHandler(),e.close()}));this._nav_exit=d(JoomlaCalLocale.exit,"",999,"button","","js-btn btn btn-exit",{type:"button","data-action":"exit"}),this.wrapper.querySelector('[data-action="exit"]').addEventListener("click",function(a){a.preventDefault(),e.dateClicked||(e.inputField.value?("gregorian"!==e.params.dateType&&e.inputField.setAttribute("data-local-value",e.inputField.value),void 0===e.dateClicked?e.inputField.setAttribute("data-alt-value",Date.parseFieldDate(e.inputField.value,e.params.dateFormat,e.params.dateType).print(e.params.dateFormat,"gregorian",!1)):e.inputField.setAttribute("data-alt-value",e.date.print(e.params.dateFormat,"gregorian",!1))):e.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00"),e.date=Date.parseFieldDate(e.inputField.getAttribute("data-alt-value"),e.params.dateFormat,e.params.dateType)),e.close()}),this.processCalendar()},t.prototype.processCalendar=function(){this.table.style.visibility="hidden";var e=this.params.firstDayOfWeek,a=this.date,t=new Date,r=t.getLocalFullYear(this.params.dateType),s=t.getLocalMonth(this.params.dateType),l=t.getLocalDate(this.params.dateType),o=a.getOtherFullYear(this.params.dateType),i=a.getHours(),n=a.getMinutes(),d=(a.getSeconds(),!this.params.time24);o<this.params.minYear?(o=this.params.minYear,a.getOtherFullYear(this.params.dateType,o)):o>this.params.maxYear&&(o=this.params.maxYear,a.getOtherFullYear(this.params.dateType,o)),this.params.firstDayOfWeek=e,this.date=new Date(a);var m=a.getLocalMonth(this.params.dateType),p=a.getLocalDate(this.params.dateType);a.setLocalDate(this.params.dateType,1);var c=(a.getLocalDay(this.params.dateType)-this.params.firstDayOfWeek)%7;c<0&&(c+=7),a.setLocalDate(this.params.dateType,-c),a.setLocalDate(this.params.dateType,a.getLocalDate(this.params.dateType)+1);for(var u=this.tbody.firstChild,h=this.ar_days=new Array,y=JoomlaCalLocale.weekend,v=parseInt(a.getLocalWeekDays(this.params.dateType)),g=0;g<v;++g,u=u.nextSibling){var b=u.firstChild;this.params.weekNumbers&&(b.className="day wn",b.innerHTML=a.getLocalWeekNumber(this.params.dateType),b=b.nextSibling),u.className=this.params.weekNumbers?"daysrow wk":"daysrow";for(var f,L=!1,C=h[g]=[],w=v+1,T=0;T<w;++T,b=b.nextSibling,a.setLocalDate(this.params.dateType,f+1)){b.className="day",b.style.textAlign="center",f=a.getLocalDate(this.params.dateType);var N=a.getLocalDay(this.params.dateType);b.pos=g<<4|T,C[T]=b;var D=a.getLocalMonth(this.params.dateType)===m;if(D)b.otherMonth=!1,L=!0,b.style.cursor="pointer";else{if(!this.params.showsOthers){b.className+=" emptycell",b.innerHTML=" ",b.disabled=!0;continue}b.className+=" disabled othermonth ",b.otherMonth=!0}b.disabled=!1,b.innerHTML=this.params.debug?f:Date.convertNumbers(f),b.disabled||(b.caldate=new Date(a),D&&f===p&&(b.className+=" selected",this.currentDateEl=b),a.getLocalFullYear(this.params.dateType)===r&&a.getLocalMonth(this.params.dateType)===s&&f===l&&(b.className+=" today"),-1!==y.indexOf(N)&&(b.className+=" weekend"))}L||this.params.showsOthers?u.style.display="":(u.style.display="none",u.className="emptyrow")}if(this.params.showsTime){i>12&&d&&(i-=12),i=i<10?"0"+i:i,n=n<10?"0"+n:n;var F=this.table.querySelector(".time-hours"),k=this.table.querySelector(".time-minutes");if(this.resetSelected(F),F.value=i,this.resetSelected(k),k.value=n,!this.params.time24){var J=new Date(this.inputField.getAttribute("data-alt-value")),A=this.table.querySelector(".time-ampm");J.getHours()>12&&(this.resetSelected(A),A.value="pm")}}if(this.params.compressedHeader){var M=Date.convertNumbers(o.toString());this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.monthBefore?M+" - "+JoomlaCalLocale.months[m]:JoomlaCalLocale.months[m]+" - "+M}else this._nav_month.getElementsByTagName("span")[0].innerHTML=this.params.debug?m+" "+JoomlaCalLocale.months[m]:JoomlaCalLocale.months[m],this.title.getElementsByTagName("span")[0].innerHTML=this.params.debug?o+" "+Date.convertNumbers(o.toString()):Date.convertNumbers(o.toString());this.table.style.visibility="visible"},t.prototype._bindEvents=function(){var e=this;this.inputField.addEventListener("blur",function(a){var r=t.getCalObject(this)._joomlaCalendar;if("block"!==r.dropdownElement.style.display){if(r){if(r.inputField.value)if(void 0===r.params.dateClicked)if(r.inputField.setAttribute("data-local-value",r.inputField.value),"gregorian"!==r.params.dateType){var s,l=Date.parseFieldDate(r.inputField.value,r.params.dateFormat,r.params.dateType);s=Date.localCalToGregorian(l.getFullYear(),l.getMonth(),l.getDate()),l.setFullYear(s[0]),l.setMonth(s[1]),l.setDate(s[2]),r.inputField.setAttribute("data-alt-value",l.print(r.params.dateFormat,"gregorian",!1))}else r.inputField.setAttribute("data-alt-value",Date.parseFieldDate(r.inputField.value,r.params.dateFormat,r.params.dateType).print(r.params.dateFormat,"gregorian",!1));else r.inputField.setAttribute("data-alt-value",r.date.print(r.params.dateFormat,"gregorian",!1));else r.inputField.setAttribute("data-alt-value","0000-00-00 00:00:00");r.date=Date.parseFieldDate(r.inputField.getAttribute("data-alt-value"),r.params.dateFormat,r.params.dateType)}e.close()}else a.preventDefault()},!0),this.button.addEventListener("click",function(){e.show()},!1)};var r=function(a){return a||(a=e.event),a.preventDefault(),a.stopPropagation(),!1},s=function(e,t){var r;return r=a.createElement(e),void 0!==t&&t.appendChild(r),r},l=function(e){return!isNaN(e)&&(0|(a=parseFloat(e)))===a;var a},o=function(e,a){return(new Date).getLocalFullYear(a)+e};Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var a=this.length>>>0,t=Number(arguments[1])||0;for((t=t<0?Math.ceil(t):Math.floor(t))<0&&(t+=a);t<a;t++)if(t in this&&this[t]===e)return t;return-1}),t.getCalObject=function(e){if(!e)return!1;for(;e.parentNode;)if((e=e.parentNode).classList.contains("field-calendar"))return e;return!1},t.prototype.setAltValue=function(){var e=this.inputField;e.getAttribute("disabled")||(e.value=e.getAttribute("data-alt-value")?e.getAttribute("data-alt-value"):"")},t.onSubmit=function(){if(Joomla=e.Joomla||{},!Joomla.calendarProcessed){Joomla.calendarProcessed=!0;for(var t=a.querySelectorAll(".field-calendar"),r=0;r<t.length;r++){var s=t[r]._joomlaCalendar;s&&s.setAltValue()}}},t.init=function(a,r){e.JoomlaCalLocale=e.JoomlaCalLocale?JoomlaCalLocale:{},JoomlaCalLocale.today=JoomlaCalLocale.today?JoomlaCalLocale.today:"today",JoomlaCalLocale.weekend=JoomlaCalLocale.weekend?JoomlaCalLocale.weekend:[0,6],JoomlaCalLocale.localLangNumbers=JoomlaCalLocale.localLangNumbers?JoomlaCalLocale.localLangNumbers:[0,1,2,3,4,5,6,7,8,9],JoomlaCalLocale.wk=JoomlaCalLocale.wk?JoomlaCalLocale.wk:"wk",JoomlaCalLocale.AM=JoomlaCalLocale.AM?JoomlaCalLocale.AM:"AM",JoomlaCalLocale.PM=JoomlaCalLocale.PM?JoomlaCalLocale.PM:"PM",JoomlaCalLocale.am=JoomlaCalLocale.am?JoomlaCalLocale.am:"am",JoomlaCalLocale.pm=JoomlaCalLocale.pm?JoomlaCalLocale.pm:"pm",JoomlaCalLocale.dateType=JoomlaCalLocale.dateType?JoomlaCalLocale.dateType:"gregorian",JoomlaCalLocale.time=JoomlaCalLocale.time?JoomlaCalLocale.time:"time",JoomlaCalLocale.days=JoomlaCalLocale.days?JoomlaCalLocale.days:'["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]',JoomlaCalLocale.shortDays=JoomlaCalLocale.shortDays?JoomlaCalLocale.shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],JoomlaCalLocale.months=JoomlaCalLocale.months?JoomlaCalLocale.months:["January","February","March","April","May","June","July","August","September","October","November","December"],JoomlaCalLocale.shortMonths=JoomlaCalLocale.shortMonths?JoomlaCalLocale.shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],JoomlaCalLocale.minYear=JoomlaCalLocale.minYear?JoomlaCalLocale.minYear:1900,JoomlaCalLocale.maxYear=JoomlaCalLocale.maxYear?JoomlaCalLocale.maxYear:2100,JoomlaCalLocale.exit=JoomlaCalLocale.exit?JoomlaCalLocale.exit:"Cancel",JoomlaCalLocale.clear=JoomlaCalLocale.clear?JoomlaCalLocale.clear:"Clear";var s=a._joomlaCalendar;s?s.recreate():new t(a),a&&a.getElementsByTagName("input")[0]&&a.getElementsByTagName("input")[0].form&&!a.getElementsByTagName("input")[0].disabled&&a.getElementsByTagName("input")[0].form.addEventListener("submit",t.onSubmit)},e.JoomlaCalendar=t,a.addEventListener("DOMContentLoaded",function(){var r,s;for(r=a.querySelectorAll(".field-calendar"),s=0;s<r.length;s++)t.init(r[s]);e.jQuery&&jQuery(a).on("subform-row-add",function(e,a){for(r=a.querySelectorAll(".field-calendar"),s=0;s<r.length;s++)t.init(r[s])}),e.Calendar={},Calendar.setup=function(e){if(e.inputField&&a.getElementById(e.inputField)){var r=a.getElementById(e.inputField),s=r.parentNode.querySelectorAll("button")[0];for(var l in e)if(e.hasOwnProperty(l))switch(l){case"ifFormat":s&&s.setAttribute("data-dayformat",e.ifFormat);break;case"firstDay":s&&s.setAttribute("data-firstday",parseInt(e.firstDay));break;case"weekNumbers":s&&s.setAttribute("data-week-numbers","true"===e.weekNumbers||!0===e.weekNumbers?"1":"0");break;case"showOthers":s&&s.setAttribute("data-show-others","true"===e.showOthers||!0===e.showOthers?"1":"0");break;case"showsTime":s&&s.setAttribute("data-show-time","true"===e.showsTime||!0===e.showsTime?"1":"0");break;case"timeFormat":s&&s.setAttribute("data-time-24",parseInt(e.timeFormat))}t.init(r.parentNode.parentNode)}return null}})}(window,document); \ No newline at end of file From 23addf971d0670f082c3075329831b168b26ea6d Mon Sep 17 00:00:00 2001 From: Peter Martin <github@pe7er.com> Date: Sat, 17 Mar 2018 15:12:58 +0000 Subject: [PATCH 145/255] [com_templates] Rewrote hardcoded SQL to query object (#17921) * rewrote hardcoded SQL to query object * correction in SQL for home field is declared as char/varchar * correction in SQL for home field is declared as char/varchar + ->q() * Break where clauses up --- .../components/com_templates/models/style.php | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/administrator/components/com_templates/models/style.php b/administrator/components/com_templates/models/style.php index fb06bfaede2da..ff12a70470f49 100644 --- a/administrator/components/com_templates/models/style.php +++ b/administrator/components/com_templates/models/style.php @@ -626,20 +626,20 @@ public function setHome($id = 0) } // Reset the home fields for the client_id. - $db->setQuery( - 'UPDATE #__template_styles' . - ' SET home = \'0\'' . - ' WHERE client_id = ' . (int) $style->client_id . - ' AND home = \'1\'' - ); + $query = $db->getQuery(true) + ->update('#__template_styles') + ->set('home = ' . $db->q('0')) + ->where('client_id = ' . (int) $style->client_id) + ->where('home = ' . $db->q('1')); + $db->setQuery($query); $db->execute(); // Set the new home style. - $db->setQuery( - 'UPDATE #__template_styles' . - ' SET home = \'1\'' . - ' WHERE id = ' . (int) $id - ); + $query = $db->getQuery(true) + ->update('#__template_styles') + ->set('home = ' . $db->q('1')) + ->where('id = ' . (int) $id); + $db->setQuery($query); $db->execute(); // Clean the cache. @@ -669,11 +669,11 @@ public function unsetHome($id = 0) } // Lookup the client_id. - $db->setQuery( - 'SELECT client_id, home' . - ' FROM #__template_styles' . - ' WHERE id = ' . (int) $id - ); + $query = $db->getQuery(true) + ->select('client_id, home') + ->from('#__template_styles') + ->where('id = ' . (int) $id); + $db->setQuery($query); $style = $db->loadObject(); if (!is_numeric($style->client_id)) @@ -686,11 +686,11 @@ public function unsetHome($id = 0) } // Set the new home style. - $db->setQuery( - 'UPDATE #__template_styles' . - ' SET home = \'0\'' . - ' WHERE id = ' . (int) $id - ); + $query = $db->getQuery(true) + ->update('#__template_styles') + ->set('home = ' . $db->q('0')) + ->where('id = ' . (int) $id); + $db->setQuery($query); $db->execute(); // Clean the cache. From 8d74c6dcc9aa104846c17597a56958f34307d0e0 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Sat, 17 Mar 2018 08:13:34 -0700 Subject: [PATCH 146/255] Fix Help URLs and update to Help38 (#19181) * Fix Help URLs * Update to Help38 --- installation/sql/mysql/sample_learn.sql | 80 +++++++++---------- installation/sql/mysql/sample_testing.sql | 80 +++++++++---------- installation/sql/postgresql/sample_learn.sql | 80 +++++++++---------- .../sql/postgresql/sample_testing.sql | 80 +++++++++---------- installation/sql/sqlazure/sample_learn.sql | 80 +++++++++---------- installation/sql/sqlazure/sample_testing.sql | 80 +++++++++---------- tests/unit/stubs/database/jos_content.csv | 66 +++++++-------- tests/unit/stubs/database/jos_ucm_content.csv | 66 +++++++-------- 8 files changed, 306 insertions(+), 306 deletions(-) diff --git a/installation/sql/mysql/sample_learn.sql b/installation/sql/mysql/sample_learn.sql index 92f7febca397f..e79a40cb39298 100644 --- a/installation/sql/mysql/sample_learn.sql +++ b/installation/sql/mysql/sample_learn.sql @@ -218,9 +218,9 @@ INSERT INTO `#__categories` (`id`, `asset_id`, `parent_id`, `lft`, `rgt`, `level (20, 45, 19, 11, 36, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p>Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:33:59', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p>Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:34:18', 0, '*', 1), -(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), -(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), -(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), +(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), +(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), +(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), (26, 51, 14, 38, 47, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '0000-00-00 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 39, 40, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":"images\\/sampledata\\/parks\\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 41, 46, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 11:05:37', 0, 'en-GB', 1), @@ -287,73 +287,73 @@ INSERT INTO `#__contact_details` (`id`, `name`, `alias`, `con_position`, `addres -- INSERT INTO `#__content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`) VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p></p>', '', 1, 26, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 11:04:30', 123, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 1, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 3, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 1, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 2, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="http://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 10, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p>There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:39:17', 123, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 8, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (23, 121, 'Happy Orange Orchard', 'happy-orange-orchard', '<p>At our orchard we grow the world''s best oranges as well as other citrus fruit such as lemons and grapefruit. Our family has been tending this orchard for generations.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (24, 122, 'Joomla!', 'joomla', '<p>Congratulations! You have a Joomla site! Joomla makes it easy to build a website just the way you want it and keep it simple to update and maintain.</p><p>Joomla is a flexible and powerful platform, whether you are building a small site for yourself or a huge site with hundreds of thousands of visitors. Joomla is open source, which means you can make it work just the way you want it to.</p><p>The content in this installation of Joomla has been designed to give you an in depth tour of Joomla''s features.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 12:19:00', 123, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 3 continues development of the Joomla Platform and CMS as a powerful and flexible way to bring your vision of the web to reality. With the new administrator interface and adoption of Twitter Bootstrap, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.3.10 and above makes Joomla lighter and faster than ever.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:14:30', 123, 0, '0000-00-00 00:00:00', '2011-01-09 16:41:13', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 5, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/How_do_you_modify_a_template%3F">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 3, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 8, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! user, this Joomla site will seem very familiar but also very different. The biggest change is the new administrator interface and the adoption of responsive design. Hundreds of other improvements have been made.</p><p></p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:12:10', 123, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 6, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:20:45', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:27:39', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:42:36', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:20:45', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:27:39', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:42:36', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); -- -- Dumping data for table `#__content_frontpage` diff --git a/installation/sql/mysql/sample_testing.sql b/installation/sql/mysql/sample_testing.sql index 77cb9fb9e3ad1..028ea65df4cfe 100644 --- a/installation/sql/mysql/sample_testing.sql +++ b/installation/sql/mysql/sample_testing.sql @@ -222,9 +222,9 @@ INSERT INTO `#__categories` (`id`, `asset_id`, `parent_id`, `lft`, `rgt`, `level (20, 45, 19, 11, 38, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-component.png" border="0" alt="Component Image" />Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-module.png" border="0" alt="Media Image" />Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), -(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), -(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), -(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), +(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), +(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), +(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, '*', 1), (26, 51, 14, 40, 49, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '0000-00-00 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 41, 42, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"category_layout":"","image":"images\\/sampledata\\/parks\\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 43, 48, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" /></p><p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '0000-00-00 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '0000-00-00 00:00:00', 0, 'en-GB', 1), @@ -292,25 +292,25 @@ INSERT INTO `#__contact_details` (`id`, `name`, `alias`, `con_position`, `addres -- INSERT INTO `#__content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`) VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" alt="Cradle Park Banner" /></p><p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p> </p>', '', 1, 26, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="https://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-help_header.png" border="0" /> There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 8, '', '', 1, 0, '', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), @@ -318,49 +318,49 @@ INSERT INTO `#__content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `full (24, 122, 'Joomla! Testing', 'joomla', '<p>Thanks for helping us to test Joomla!</p><p>We''re getting ready for the release of Joomla and we appreciate you helping us find and fix problems as we work.</p><p>If you haven''t done testing before here are some tips.</p><ul><li>Don''t delete the installation folder when you finish installing! While we''re working we turn that security feature off to make it easier to test.</li><li>Go to global configuration and set Error Reporting to Development (that''s on the server tab) and enable both debugging and language debugging (those are on the system tab). Don''t worry when you see ** around words --that means Joomla translation is doing its job.</li></ul><p>How to test</p><ul><li>First, do the things you normally do and see if you spot any problems.</li><li>Look at all of the front end views and record any problems</li><li>Look at all the back end views and report any problems</li><li>See more ideas below</li></ul><p>What to look for</p><ul><li>Any error messages that say things like Fatal Error or Strict or similar things that indicate that something is not working correctly.</li><li>Untranslated strings. You will know these because they look like this: ?STRING_HERE?</li><li>Problems of rendering--items not aligned correctly, missing or wrong images, pages that just don''t look right.</li><li>Unexpected behavior--anything that is working differently than it did in 2.5.</li></ul><p>Report problems</p><p>If you find a problem please report it to the <a href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. You will need to register for a github.com account if you don''t have one.</p><p>More Testing Ideas</p><ul><li>Pick one module or view and test all of the parameters.</li><li>Install an extension and see if anything breaks (report to the developer unless you are positive it is a core bug).</li><li>Turn on caching with different options</li><li>Try different session options</li><li>Install a language and test all the layouts.</li><li>Try different environments (like different servers which may have different version of PHP) or try you have IIS with MySQLi or SqlSrv. With millions of users Joomla needs to be ready for unusual environments.</li><li>Try with SEF URLS on or off and also with Apache rewrite on or off (if you are on Apache).</li><li>Try different combinations of browsers (Chrome, IE, FireFox, Opera to start) and operating systems (Mac, Windows, Linux).</li><li>Yes grammar and spelling errors are bugs too -- just keep in mind that we use British spelling.</li><li>Visit the <a href="https://issues.joomla.org/" target="_blank">Feature Tracker</a> and test a new feature.</li></ul><p>Testing changes</p><p>You can also help Joomla by testing bug fixes and new features. A useful tool is the <a href="https://github.com/joomla-extensions/patchtester/releases" target="_blank">patchtester component</a> which helps to simplify and automate the process. Report your feedback on the <span style="line-height: 1.3em;"> </span><a style="line-height: 1.3em;" href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. If you enjoy helping Joomla this way, you may want to join the <a href="https://docs.joomla.org/Special:MyLanguage/Bug_Squad" target="_blank">Joomla Bug Squad</a>.</p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 716, 'Joomla', '2013-10-15 14:57:20', 716, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":""}', 4, 2, '', '', 1, 73, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO `#__content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`) VALUES -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 2.5 continues development of the Joomla Framework and CMS as a powerful and flexible way to bring your vision of the web to reality. With the administrator now fully MVC, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.2.4 and above makes Joomla lighter and faster than ever. Languages files can now be overridden without having your changes lost during an upgrade. With the proper xml your users update extensions with a single click.</p><p>Access control lists are now incorporated using a new system developed for Joomla. The ACL system is designed with developers in mind, so it is easy to incorporate into your extensions. The new nested sets libraries allow you to incorporate infinitely deep categories but also to use nested sets in a variety of other ways.</p><p>A new forms library makes creating all kinds of user interaction simple. MooTools 1.3 provides a highly flexible javascript framework that is a major advance over MooTools 1.0.</p><p>New events throughout the core make integration of your plugins where you want them a snap.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p><p>Learn about:</p><ul><li><a href="https://docs.joomla.org/Special:MyLanguage/Joomla_3_FAQ#What_are_the_major_differences_between_Joomla.21_2.5_and_3.3F">Changes since 1.5</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/ACL_Tutorial_for_Joomla_1.6">Working with ACL</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JCategories">Working with nested categories</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JForm">Forms library</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Working_with_Mootools_1.3">Working with Mootools 1.3</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Layout_Overrides_in_Joomla_1.6">Using new features of the override system</a></li><li><a href="https://api.joomla.org/">Joomla! API</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JDatabaseQuery">Using JDatabaseQuery</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Events">New and updated events</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Xml-rpc_changes_in_Joomla!">Xmlrpc</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Extension_management">Installing and updating extensions</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Setting_up_your_workstation_for_Joomla!_development">Setting up your development environment</a></li><li><a href="https://github.com/joomla">The Joomla! Repository</a> </li></ul>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-09 16:41:13', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/Modifying_a_Joomla!_Template">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! 1.5 user, this Joomla site will seem very familiar. There are new templates and improved user interfaces, but most functionality is the same. The biggest changes are improved access control (ACL) and nested categories. This release of Joomla has strong continuity with Joomla! 1.7 while adding enhancements.</p>', '<p>The new user manager will let you manage who has access to what in your site. You can leave access groups exactly the way you had them in Joomla 1.5 or make them as complicated as you want. You can learn more about<a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Access_Control_List_Tutorial"> how access control works</a> in on the <a href="https://docs.joomla.org/">Joomla! Documentation site</a></p><p>In Joomla 1.5 and 1.0 content was organized into sections and categories. From 1.6 forward sections are gone, and you can create categories within categories, going as deep as you want. The sample data provides many examples of the use of nested categories.</p><p>All layouts have been redesigned to improve accessibility and flexibility. </p><p>Updating your site and extensions when needed is easier than ever thanks to installer improvements.</p><p> </p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO `#__content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`) VALUES -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2011-01-01 00:00:01', '0000-00-00 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:20:45', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:27:39', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:42:36', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:20:45', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:27:39', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '0000-00-00 00:00:00', 0, 0, '0000-00-00 00:00:00', '2012-01-17 03:42:36', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (71, 178, 'Similar Tags', 'similar-tags', '<p>The similar tags modules shows a list of items which have the same or a similar set of tags.</p><p>{loadmodule tags_similar,Similar Tags}</p>', '', 1, 64, '2013-10-31 00:14:17', 371, '', '2013-10-31 00:39:09', 371, 0, '0000-00-00 00:00:00', '2013-10-31 00:14:17', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 4, 0, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (72, 180, 'Popular Tags', 'popular-tags', '<p>The Popular Tags displays a list of the most commonly uses tags. It offers both a list and a tag cloud layout.</p><p>{loadmodule tags_popular,Popular Tags}</p>', '', 1, 64, '2013-10-31 00:43:46', 371, '', '2013-10-31 00:50:38', 371, 0, '0000-00-00 00:00:00', '2013-10-31 00:43:46', '0000-00-00 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 0, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); diff --git a/installation/sql/postgresql/sample_learn.sql b/installation/sql/postgresql/sample_learn.sql index 2c5eebc7c9e61..ca2376bf5a3f1 100644 --- a/installation/sql/postgresql/sample_learn.sql +++ b/installation/sql/postgresql/sample_learn.sql @@ -220,9 +220,9 @@ INSERT INTO "#__categories" ("id", "asset_id", "parent_id", "lft", "rgt", "level (20, 45, 19, 11, 36, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p>Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:33:59', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p>Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:34:18', 0, '*', 1), -(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), -(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), -(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), +(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), +(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), +(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), (26, 51, 14, 38, 47, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '1970-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 39, 40, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":"images\\/sampledata\\/parks\\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 41, 46, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 11:05:37', 0, 'en-GB', 1), @@ -293,73 +293,73 @@ SELECT setval('#__contact_details_id_seq', max(id)) FROM "#__contact_details"; -- INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p></p>', '', 1, 26, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 11:04:30', 123, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 1, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 3, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 1, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 2, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="http://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 10, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p>There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:39:17', 123, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 8, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (23, 121, 'Happy Orange Orchard', 'happy-orange-orchard', '<p>At our orchard we grow the world''s best oranges as well as other citrus fruit such as lemons and grapefruit. Our family has been tending this orchard for generations.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (24, 122, 'Joomla!', 'joomla', '<p>Congratulations! You have a Joomla site! Joomla makes it easy to build a website just the way you want it and keep it simple to update and maintain.</p><p>Joomla is a flexible and powerful platform, whether you are building a small site for yourself or a huge site with hundreds of thousands of visitors. Joomla is open source, which means you can make it work just the way you want it to.</p><p>The content in this installation of Joomla has been designed to give you an in depth tour of Joomla''s features.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 12:19:00', 123, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 3 continues development of the Joomla Platform and CMS as a powerful and flexible way to bring your vision of the web to reality. With the new administrator interface and adoption of Twitter Bootstrap, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.3.10 and above makes Joomla lighter and faster than ever.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:14:30', 123, 0, '1970-01-01 00:00:00', '2011-01-09 16:41:13', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 5, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/How_do_you_modify_a_template%3F">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 3, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 8, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! user, this Joomla site will seem very familiar but also very different. The biggest change is the new administrator interface and the adoption of responsive design. Hundreds of other improvements have been made.</p><p></p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:12:10', 123, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 6, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:20:45', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:27:39', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:42:36', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:20:45', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:27:39', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:42:36', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); SELECT setval('#__content_id_seq', max(id)) FROM "#__content"; diff --git a/installation/sql/postgresql/sample_testing.sql b/installation/sql/postgresql/sample_testing.sql index 5c1b591054e6e..b86a4aee3982c 100644 --- a/installation/sql/postgresql/sample_testing.sql +++ b/installation/sql/postgresql/sample_testing.sql @@ -224,9 +224,9 @@ INSERT INTO "#__categories" ("id", "asset_id", "parent_id", "lft", "rgt", "level (20, 45, 19, 11, 38, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-component.png" border="0" alt="Component Image" />Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-module.png" border="0" alt="Media Image" />Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), -(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), -(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), -(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), +(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), +(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), +(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, '*', 1), (26, 51, 14, 40, 49, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '1970-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 41, 42, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"category_layout":"","image":"images\\/sampledata\\/parks\\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 43, 48, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" /></p><p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '1970-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1970-01-01 00:00:00', 0, 'en-GB', 1), @@ -298,25 +298,25 @@ SELECT setval('#__contact_details_id_seq', max(id)) FROM "#__contact_details"; -- INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" alt="Cradle Park Banner" /></p><p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p> </p>', '', 1, 26, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="https://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-help_header.png" border="0" /> There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 8, '', '', 1, 0, '', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), @@ -324,49 +324,49 @@ INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "full (24, 122, 'Joomla! Testing', 'joomla', '<p>Thanks for helping us to test Joomla!</p><p>We''re getting ready for the release of Joomla and we appreciate you helping us find and fix problems as we work.</p><p>If you haven''t done testing before here are some tips.</p><ul><li>Don''t delete the installation folder when you finish installing! While we''re working we turn that security feature off to make it easier to test.</li><li>Go to global configuration and set Error Reporting to Development (that''s on the server tab) and enable both debugging and language debugging (those are on the system tab). Don''t worry when you see ** around words --that means Joomla translation is doing its job.</li></ul><p>How to test</p><ul><li>First, do the things you normally do and see if you spot any problems.</li><li>Look at all of the front end views and record any problems</li><li>Look at all the back end views and report any problems</li><li>See more ideas below</li></ul><p>What to look for</p><ul><li>Any error messages that say things like Fatal Error or Strict or similar things that indicate that something is not working correctly.</li><li>Untranslated strings. You will know these because they look like this: ?STRING_HERE?</li><li>Problems of rendering--items not aligned correctly, missing or wrong images, pages that just don''t look right.</li><li>Unexpected behavior--anything that is working differently than it did in 2.5.</li></ul><p>Report problems</p><p>If you find a problem please report it to the <a href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. You will need to register for a github.com account if you don''t have one.</p><p>More Testing Ideas</p><ul><li>Pick one module or view and test all of the parameters.</li><li>Install an extension and see if anything breaks (report to the developer unless you are positive it is a core bug).</li><li>Turn on caching with different options</li><li>Try different session options</li><li>Install a language and test all the layouts.</li><li>Try different environments (like different servers which may have different version of PHP) or try you have IIS with MySQLi or SqlSrv. With millions of users Joomla needs to be ready for unusual environments.</li><li>Try with SEF URLS on or off and also with Apache rewrite on or off (if you are on Apache).</li><li>Try different combinations of browsers (Chrome, IE, FireFox, Opera to start) and operating systems (Mac, Windows, Linux).</li><li>Yes grammar and spelling errors are bugs too -- just keep in mind that we use British spelling.</li><li>Visit the <a href="https://issues.joomla.org/" target="_blank">Feature Tracker</a> and test a new feature.</li></ul><p>Testing changes</p><p>You can also help Joomla by testing bug fixes and new features. A useful tool is the <a href="https://github.com/joomla-extensions/patchtester/releases" target="_blank">patchtester component</a> which helps to simplify and automate the process. Report your feedback on the <span style="line-height: 1.3em;"> </span><a style="line-height: 1.3em;" href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. If you enjoy helping Joomla this way, you may want to join the <a href="https://docs.joomla.org/Special:MyLanguage/Bug_Squad" target="_blank">Joomla Bug Squad</a>.</p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 716, 'Joomla', '2013-10-15 14:57:20', 716, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":""}', 4, 2, '', '', 1, 73, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 2.5 continues development of the Joomla Framework and CMS as a powerful and flexible way to bring your vision of the web to reality. With the administrator now fully MVC, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.2.4 and above makes Joomla lighter and faster than ever. Languages files can now be overridden without having your changes lost during an upgrade. With the proper xml your users update extensions with a single click.</p><p>Access control lists are now incorporated using a new system developed for Joomla. The ACL system is designed with developers in mind, so it is easy to incorporate into your extensions. The new nested sets libraries allow you to incorporate infinitely deep categories but also to use nested sets in a variety of other ways.</p><p>A new forms library makes creating all kinds of user interaction simple. MooTools 1.3 provides a highly flexible javascript framework that is a major advance over MooTools 1.0.</p><p>New events throughout the core make integration of your plugins where you want them a snap.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p><p>Learn about:</p><ul><li><a href="https://docs.joomla.org/Special:MyLanguage/Joomla_3_FAQ#What_are_the_major_differences_between_Joomla.21_2.5_and_3.3F">Changes since 1.5</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/ACL_Tutorial_for_Joomla_1.6">Working with ACL</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JCategories">Working with nested categories</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JForm">Forms library</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Working_with_Mootools_1.3">Working with Mootools 1.3</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Layout_Overrides_in_Joomla_1.6">Using new features of the override system</a></li><li><a href="https://api.joomla.org/">Joomla! API</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JDatabaseQuery">Using JDatabaseQuery</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Events">New and updated events</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Xml-rpc_changes_in_Joomla!">Xmlrpc</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Extension_management">Installing and updating extensions</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Setting_up_your_workstation_for_Joomla!_development">Setting up your development environment</a></li><li><a href="https://github.com/joomla">The Joomla! Repository</a> </li></ul>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-09 16:41:13', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/Modifying_a_Joomla!_Template">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! 1.5 user, this Joomla site will seem very familiar. There are new templates and improved user interfaces, but most functionality is the same. The biggest changes are improved access control (ACL) and nested categories. This release of Joomla has strong continuity with Joomla! 1.7 while adding enhancements.</p>', '<p>The new user manager will let you manage who has access to what in your site. You can leave access groups exactly the way you had them in Joomla 1.5 or make them as complicated as you want. You can learn more about<a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Access_Control_List_Tutorial"> how access control works</a> in on the <a href="https://docs.joomla.org/">Joomla! Documentation site</a></p><p>In Joomla 1.5 and 1.0 content was organized into sections and categories. From 1.6 forward sections are gone, and you can create categories within categories, going as deep as you want. The sample data provides many examples of the use of nested categories.</p><p>All layouts have been redesigned to improve accessibility and flexibility. </p><p>Updating your site and extensions when needed is easier than ever thanks to installer improvements.</p><p> </p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/animals\\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\\/\\/en.wikipedia.org\\/wiki\\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '{"image_intro":"images\\/sampledata\\/parks\\/landscape\\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/landscape\\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\\/\\/commons.wikimedia.org\\/wiki\\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2011-01-01 00:00:01', '1970-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:20:45', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:27:39', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:42:36', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:20:45', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:27:39', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1970-01-01 00:00:00', 0, 0, '1970-01-01 00:00:00', '2012-01-17 03:42:36', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (71, 178, 'Similar Tags', 'similar-tags', '<p>The similar tags modules shows a list of items which have the same or a similar set of tags.</p><p>{loadmodule tags_similar,Similar Tags}</p>', '', 1, 64, '2013-10-31 00:14:17', 371, '', '2013-10-31 00:39:09', 371, 0, '1970-01-01 00:00:00', '2013-10-31 00:14:17', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 4, 0, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (72, 180, 'Popular Tags', 'popular-tags', '<p>The Popular Tags displays a list of the most commonly uses tags. It offers both a list and a tag cloud layout.</p><p>{loadmodule tags_popular,Popular Tags}</p>', '', 1, 64, '2013-10-31 00:43:46', 371, '', '2013-10-31 00:50:38', 371, 0, '1970-01-01 00:00:00', '2013-10-31 00:43:46', '1970-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 0, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); diff --git a/installation/sql/sqlazure/sample_learn.sql b/installation/sql/sqlazure/sample_learn.sql index 563a950e451c6..7525cc3586ec8 100644 --- a/installation/sql/sqlazure/sample_learn.sql +++ b/installation/sql/sqlazure/sample_learn.sql @@ -228,9 +228,9 @@ INSERT INTO "#__categories" ("id", "asset_id", "parent_id", "lft", "rgt", "level (20, 45, 19, 11, 36, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p>Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:33:59', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p>Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:34:18', 0, '*', 1), -(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), -(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), -(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), +(23, 48, 20, 26, 31, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p>Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:13', 0, '*', 1), +(24, 49, 20, 32, 33, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p>Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.</p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:37:26', 0, '*', 1), +(25, 50, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p>Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 06:36:50', 0, '*', 1), (26, 51, 14, 38, 47, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '1900-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 39, 40, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":"images\/sampledata\/parks\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 41, 46, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 910, '2011-01-01 00:00:01', 123, '2012-09-25 11:05:37', 0, 'en-GB', 1), @@ -305,73 +305,73 @@ SET IDENTITY_INSERT "#__contact_details" OFF; SET IDENTITY_INSERT "#__content" ON; INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p></p>', '', 1, 26, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 11:04:30', 123, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 1, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 3, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 1, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 2, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="http://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 10, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p>There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:39:17', 123, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 8, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (23, 121, 'Happy Orange Orchard', 'happy-orange-orchard', '<p>At our orchard we grow the world''s best oranges as well as other citrus fruit such as lemons and grapefruit. Our family has been tending this orchard for generations.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (24, 122, 'Joomla!', 'joomla', '<p>Congratulations! You have a Joomla site! Joomla makes it easy to build a website just the way you want it and keep it simple to update and maintain.</p><p>Joomla is a flexible and powerful platform, whether you are building a small site for yourself or a huge site with hundreds of thousands of visitors. Joomla is open source, which means you can make it work just the way you want it to.</p><p>The content in this installation of Joomla has been designed to give you an in depth tour of Joomla''s features.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 12:19:00', 123, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial_for_Joomla_1.6"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 3 continues development of the Joomla Platform and CMS as a powerful and flexible way to bring your vision of the web to reality. With the new administrator interface and adoption of Twitter Bootstrap, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.3.10 and above makes Joomla lighter and faster than ever.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p>', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:14:30', 123, 0, '1900-01-01 00:00:00', '2011-01-09 16:41:13', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 5, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/How_do_you_modify_a_template%3F">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 14, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 3, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 8, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! user, this Joomla site will seem very familiar but also very different. The biggest change is the new administrator interface and the adoption of responsive design. Hundreds of other improvements have been made.</p><p></p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '2012-09-25 07:12:10', 123, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 3, 6, '', '', 1, 2, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:20:45', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:27:39', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:42:36', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:20:45', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:27:39', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 123, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:42:36', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); SET IDENTITY_INSERT "#__content" OFF; diff --git a/installation/sql/sqlazure/sample_testing.sql b/installation/sql/sqlazure/sample_testing.sql index c87ce07b24955..44307613b05bb 100644 --- a/installation/sql/sqlazure/sample_testing.sql +++ b/installation/sql/sqlazure/sample_testing.sql @@ -231,9 +231,9 @@ INSERT INTO "#__categories" ("id", "asset_id", "parent_id", "lft", "rgt", "level (20, 45, 19, 11, 38, 3, 'sample-data-articles/joomla/extensions', 'com_content', 'Extensions', 'extensions', '', '<p>The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The <a href="https://extensions.joomla.org/" style="color: #1b57b1; text-decoration: none; font-weight: normal;">Joomla! Extensions Directory</a> is the largest directory of Joomla extensions.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), (21, 46, 20, 12, 13, 4, 'sample-data-articles/joomla/extensions/components', 'com_content', 'Components', 'components', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-component.png" border="0" alt="Component Image" />Components are larger extensions that produce the major content for your site. Each component has one or more "views" that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), (22, 47, 20, 14, 25, 4, 'sample-data-articles/joomla/extensions/modules', 'com_content', 'Modules', 'modules', '', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-module.png" border="0" alt="Media Image" />Modules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), -(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), -(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), -(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), +(23, 48, 20, 26, 33, 4, 'sample-data-articles/joomla/extensions/templates', 'com_content', 'Templates', 'templates', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-themes.png" border="0" alt="Media Image" align="left" />Templates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Template_Manager_Templates">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), +(24, 49, 20, 34, 35, 4, 'sample-data-articles/joomla/extensions/languages', 'com_content', 'Languages', 'languages', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-language.png" border="0" alt="Languages Image" align="left" />Joomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Language_Manager_Installed">Help</a></p><p><a href="https://community.joomla.org/translations.html">Translation information</a></p><p>If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation. </p><p>Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.</p><p>If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow <a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial">the complete instructions</a> your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.</p><p>Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.</p><p>There are a number of extensions that can help you manage translations of content available in the<a href="https://extensions.joomla.org/"> Joomla! Extensions Directory</a>.</p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), +(25, 50, 20, 36, 37, 4, 'sample-data-articles/joomla/extensions/plugins', 'com_content', 'Plugins', 'plugins', '', '<p><img src="administrator/templates/hathor/images/header/icon-48-plugin.png" border="0" alt="Plugin Image" align="left" />Plugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":""}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, '*', 1), (26, 51, 14, 40, 49, 2, 'sample-data-articles/park-site', 'com_content', 'Park Site', 'park-site', '', '', 1, 0, '1900-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, 'en-GB', 1), (27, 52, 26, 41, 42, 3, 'sample-data-articles/park-site/park-blog', 'com_content', 'Park Blog', 'park-blog', '', '<p><span style="font-size: 12px;">Here is where I will blog all about the parks of Australia.</span></p><p><em>You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed. </em></p><p><em>To enhance your blog you may want to add extensions for <a href="https://extensions.joomla.org/extensions/contacts-and-feedback/articles-comments" style="color: #1b57b1; text-decoration: none; font-weight: normal;">comments</a>,<a href="https://extensions.joomla.org/category/social-web" style="color: #1b57b1; text-decoration: none; font-weight: normal;"> interacting with social network sites</a>, <a href="https://extensions.joomla.org/category/content-sharing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">tagging</a>, and <a href="https://extensions.joomla.org/category/marketing" style="color: #1b57b1; text-decoration: none; font-weight: normal;">keeping in contact with your readers</a>. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).</em></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"category_layout":"","image":"images\/sampledata\/parks\/banner_cradle.jpg"}', '', '', '{"author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, 'en-GB', 1), (28, 53, 26, 43, 48, 3, 'sample-data-articles/park-site/photo-gallery', 'com_content', 'Photo Gallery', 'photo-gallery', '', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" /></p><p>These are my photos from parks I have visited (I didn''t take them, they are all from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>).</p><p><em>This shows you how to make a simple image gallery using articles in com_content. </em></p><p><em>In each article put a thumbnail image before a "readmore" and the full size image after it. Set the article to Show Intro Text: Hide. </em></p>', 1, 0, '1900-01-01 00:00:00', 1, '{"target":"","image":""}', '', '', '{"page_title":"","author":"","robots":""}', 42, '2011-01-01 00:00:01', 0, '1900-01-01 00:00:00', 0, 'en-GB', 1), @@ -309,25 +309,25 @@ SET IDENTITY_INSERT "#__contact_details" OFF; SET IDENTITY_INSERT "#__content" ON; INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(1, 89, 'Administrator Components', 'administrator-components', '<p>All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are</p><ul><li>Media Manager</li><li>Extensions Manager</li><li>Menu Manager</li><li>Global Configuration</li><li>Banners</li><li>Redirect</li></ul><hr title="Media Manager" alt="Media Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><p> </p><h3>Media Manager</h3><p>The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Media_Manager">Help</a></p><hr title="Extensions Manager" alt="Extensions Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Extensions Manager</h3><p>The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Extension_Manager_Install">Help</a></p><hr title="Menu Manager" alt="Menu Manager" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Menu Manager</h3><p>The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Menus_Menu_Manager">Help</a></p><hr title="Global Configuration" alt="Global Configuration" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Global Configuration</h3><p>The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site metadata (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the metadata to match its content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Site_Global_Configuration">Help</a></p><hr title="Banners" alt="Banners" class="system-pagebreak" style="color: gray; border: 1px dashed gray;" /><h3>Banners</h3><p>The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Banners_Banners_Edit">Help</a></p><hr title="Redirect" class="system-pagebreak" /><h3><br />Redirect</h3><p>The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Redirect_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(2, 90, 'Archive Module', 'archive-module', '<p>This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Archive" title="Archive Module">Help</a></p><div class="sample-module">{loadmodule articles_archive,Archived Articles}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(3, 91, 'Article Categories Module', 'article-categories-module', '<p>This module displays a list of categories from one parent category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Categories" title="Categories Module">Help</a></p><div class="sample-module">{loadmodule articles_categories,Articles Categories}</div><p> </p>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(4, 92, 'Articles Category Module', 'articles-category-module', '<p>This module allows you to display the articles in a specific category. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Category">Help</a></p><div class="sample-module">{loadmodule articles_category,Articles Category}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', 'articles,content', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(5, 101, 'Authentication', 'authentication', '<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p><p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li></ul><p>Default off:</p><ul><li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li><li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (6, 102, 'Australian Parks ', 'australian-parks', '<p><img src="images/sampledata/parks/banner_cradle.jpg" border="0" alt="Cradle Park Banner" /></p><p>Welcome!</p><p>This is a basic site about the beautiful and fascinating parks of Australia.</p><p>On this site you can read all about my travels to different parks, see photos, and find links to park websites.</p><p><em>This sample site is an example of using the core of Joomla! to create a basic website, whether a "brochure site," a personal blog, or as a way to present information on a topic you are interested in.</em></p><p><em> Read more about the site in the About Parks module.</em></p><p> </p>', '', 1, 26, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), +(7, 103, 'Banner Module', 'banner-module', '<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Banners">Help</a>.</p><div class="sample-module">{loadmodule banners,Banners}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 6, '', '', 1, 0, '', 0, '*', ''), (8, 104, 'Beginners', 'beginners', '<p>If this is your first Joomla! site or your first website, you have come to the right place. Joomla will help you get your website up and running quickly and easily.</p><p>Start off using your site by logging in using the administrator account you created when you installed Joomla.</p>', '<p>Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you''re done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners'' Areas of the <a href="https://docs.joomla.org/Special:MyLanguage/Beginners">Joomla documentation</a> and <a href="https://forum.joomla.org/">support forums</a>.</p><p>You''ll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the <a href="https://showcase.joomla.org/">Joomla! Site Showcase</a> to see an amazing array of ways people use Joomla to tell their stories on the web.</p><p>The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the <a href="https://extensions.joomla.org/">Joomla! Extensions Directory</a> to see thousands of extensions that can do almost anything you could want on a website. Can''t find what you need? You may want to find a Joomla professional in the <a href="https://resources.joomla.org/">Joomla! Resource Directory</a>.</p><p>Want to learn more? Consider attending a <a href="https://community.joomla.org/events.html">Joomla! Day</a> or other event or joining a local <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Can''t find one near you? Start one yourself.</p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(9, 105, 'Contacts', 'contact', '<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Contacts_Contacts">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(10, 106, 'Content', 'content', '<p>The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Content_Article_Manager">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (11, 107, 'Cradle Mountain', 'cradle-mountain', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/250px_cradle_mountain_seen_from_barn_bluff.jpg","float_intro":"","image_intro_alt":"Cradle Mountain","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_cradle_mountain_seen_from_barn_bluff.jpg","float_fulltext":"none","image_fulltext_alt":"Cradle Mountain","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Rainforest,bluemountainsNSW.jpg Author: Alan J.W.C. License: GNU Free Documentation License v . 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(12, 110, 'Custom Module', 'custom-module', '<p>This module allows you to create your own Module using a WYSIWYG editor. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Custom" title="Custom Module">Help</a></p><div class="sample-module">{loadmodule custom,Custom}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (13, 111, 'Directions', 'directions', '<p>Here''s how to find our shop.</p><p>By car</p><p>Drive along Main Street to the intersection with First Avenue. Look for our sign.</p><p>By foot</p><p>From the center of town, walk north on Main Street until you see our sign.</p><p>By bus</p><p>Take the #73 Bus to the last stop. We are on the north east corner.</p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), -(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(14, 112, 'Editors', 'editors', '<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p><p>Default on:</p><ul><li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li><li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li><li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 5, '', '', 1, 0, '', 0, '*', ''), +(15, 113, 'Editors-xtd', 'editors-xtd', '<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p><p>Default on:</p><ul><li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li><li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li><li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li><li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li></ul><p>Default off:</p><ul><li>None</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(16, 114, 'Feed Display', 'feed-display', '<p>This module allows the displaying of a syndicated feed. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Feed_Display" title="Feed Display Module">Help</a></p><div class="sample-module">{loadmodule feed,Feed Display}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (17, 115, 'First Blog Post', 'first-blog-post', '<p><em>Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.</em></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.</p>', '<p>Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.</p><p>Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.</p><p>Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.</p><p>Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), (18, 116, 'Second Blog Post', 'second-blog-post', '<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>', '<p>Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.</p><p>Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.</p><p>Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.</p><p>Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.</p>', 1, 27, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(19, 117, 'Footer Module', 'footer-module', '<p>This module shows the Joomla! copyright information. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Footer" title="Footer Module">Help</a></p><div class="sample-module">{loadmodule footer,Footer}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (20, 118, 'Fruit Shop', 'fruit-shop', '<h2>Welcome to the Fruit Shop</h2><p>We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.</p><p><em>This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the</em><a href="https://extensions.joomla.org/"><em> Joomla! Extensions Directory</em></a>.</p><p><em>To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.</em></p>', '', 1, 29, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (21, 119, 'Getting Help', 'getting-help', '<p><img class="image-left" src="administrator/templates/hathor/images/header/icon-48-help_header.png" border="0" /> There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:</p><ul><li><a href="https://forum.joomla.org/">Support Forums</a></li><li><a href="https://docs.joomla.org/">Documentation</a></li><li><a href="https://resources.joomla.org/">Professionals</a></li><li><a href="http://astore.amazon.com/joomlabooks04f-20">Books</a></li></ul>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 8, '', '', 1, 0, '', 0, '*', ''), (22, 120, 'Getting Started', 'getting-started', '<p>It''s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. The Joomla! software brings together the template and the content to create web pages.</p><h3>Site and Administrator</h3><p>Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the "Site Administrator" link on the "This Site" menu or by adding /administrator to the end of you domain name.</p><p>Log in to the administrator using the username and password created during the installation of Joomla.</p><h3>Logging in</h3><p>To login to the front end of your site use the login form or the login menu link on the "This Site" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.</p><p>In managing your site, you will be able to create content that only logged-in users are able to see.</p><h3>Creating an article</h3><p>Once you are logged-in, a new menu will be visible. To create a new article, click on the "submit article" link on that menu.</p><p>The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.</p><div>You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).</div><h3>Learn more</h3><p>There is much more to learn about how to use Joomla! to create the website you envision. You can learn much more at the <a href="https://docs.joomla.org/">Joomla! documentation site</a> and on the<a href="https://forum.joomla.org/"> Joomla! forums</a>.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 9, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), @@ -335,49 +335,49 @@ INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "full (24, 122, 'Joomla! Testing', 'joomla', '<p>Thanks for helping us to test Joomla!</p><p>We''re getting ready for the release of Joomla and we appreciate you helping us find and fix problems as we work.</p><p>If you haven''t done testing before here are some tips.</p><ul><li>Don''t delete the installation folder when you finish installing! While we''re working we turn that security feature off to make it easier to test.</li><li>Go to global configuration and set Error Reporting to Development (that''s on the server tab) and enable both debugging and language debugging (those are on the system tab). Don''t worry when you see ** around words --that means Joomla translation is doing its job.</li></ul><p>How to test</p><ul><li>First, do the things you normally do and see if you spot any problems.</li><li>Look at all of the front end views and record any problems</li><li>Look at all the back end views and report any problems</li><li>See more ideas below</li></ul><p>What to look for</p><ul><li>Any error messages that say things like Fatal Error or Strict or similar things that indicate that something is not working correctly.</li><li>Untranslated strings. You will know these because they look like this: ?STRING_HERE?</li><li>Problems of rendering--items not aligned correctly, missing or wrong images, pages that just don''t look right.</li><li>Unexpected behavior--anything that is working differently than it did in 2.5.</li></ul><p>Report problems</p><p>If you find a problem please report it to the <a href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. You will need to register for a github.com account if you don''t have one.</p><p>More Testing Ideas</p><ul><li>Pick one module or view and test all of the parameters.</li><li>Install an extension and see if anything breaks (report to the developer unless you are positive it is a core bug).</li><li>Turn on caching with different options</li><li>Try different session options</li><li>Install a language and test all the layouts.</li><li>Try different environments (like different servers which may have different version of PHP) or try you have IIS with MySQLi or SqlSrv. With millions of users Joomla needs to be ready for unusual environments.</li><li>Try with SEF URLS on or off and also with Apache rewrite on or off (if you are on Apache).</li><li>Try different combinations of browsers (Chrome, IE, FireFox, Opera to start) and operating systems (Mac, Windows, Linux).</li><li>Yes grammar and spelling errors are bugs too -- just keep in mind that we use British spelling.</li><li>Visit the <a href="https://issues.joomla.org/" target="_blank">Feature Tracker</a> and test a new feature.</li></ul><p>Testing changes</p><p>You can also help Joomla by testing bug fixes and new features. A useful tool is the <a href="https://github.com/joomla-extensions/patchtester/releases" target="_blank">patchtester component</a> which helps to simplify and automate the process. Report your feedback on the <span style="line-height: 1.3em;"> </span><a style="line-height: 1.3em;" href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. If you enjoy helping Joomla this way, you may want to join the <a href="https://docs.joomla.org/Special:MyLanguage/Bug_Squad" target="_blank">Joomla Bug Squad</a>.</p><p></p>', '', 1, 19, '2011-01-01 00:00:01', 716, 'Joomla', '2013-10-15 14:57:20', 716, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":""}', 4, 2, '', '', 1, 73, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), (25, 123, 'Koala', 'koala', '<p> </p><p> </p><p> </p><p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/180px_koala_ag1.jpg","float_intro":"","image_intro_alt":"Koala Thumbnail","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_koala_ag1.jpg","float_fulltext":"","image_fulltext_alt":"Koala Climbing Tree","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Koala-ag1.jpg Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), -(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(26, 124, 'Language Switcher', 'language-switcher', '<p>The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.</p><p>This module displays a list of available Content Languages for switching between them.</p><p>When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.</p><p><strong>The language filter plugin must be enabled for this module to work properly.</strong></p><p><strong></strong> <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Language_Switcher" title="Language Switcher Module">Help</a></p><p>To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled "language switcher" and visit the fruit shop or park sample sites. Then follow<a href="https://docs.joomla.org/Special:MyLanguage/Language_Switcher_Tutorial"> the instructions in this tutorial</a>.</p>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(27, 125, 'Latest Articles Module', 'latest-articles-module', '<p>This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_News" title="Latest Articles">Help</a></p><div class="sample-module">{loadmodule articles_latest,Latest News}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(28, 126, 'Login Module', 'login-module', '<p>This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Login" title="Login">Help</a></p><div class="sample-module">{loadmodule login,login}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 2, '', '', 1, 0, '', 0, '*', ''), +(29, 127, 'Menu Module', 'menu-module', '<p>This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Menu">Help</a></p><div class="sample-module">{loadmodule mod_menu,Menu Example}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(30, 128, 'Most Read Content', 'most-read-content', '<p>This module shows a list of the currently published Articles which have the highest number of page views. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Most_Read" title="Most Read Content">Help</a></p><div class="sample-module">{loadmodule articles_popular,Articles Most Read}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(31, 129, 'News Flash', 'news-flash', '<p>Displays a set number of articles from a category based on date or random selection. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Newsflash" title="News Flash Module">Help</a></p><div class="sample-module">{loadmodule articles_news,News Flash}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (32, 130, 'Options', 'options', '<p>As you make your Joomla! site you will control the details of the display using <em>options</em> also referred to as <em>parameter</em><strong>s</strong>. Options control everything from whether the author''s name is displayed to who can view what to the number of items shown on a list.</p><p>Default options for each component are changed using the Options button on the component toolbar.</p><p>Options can also be set on an individual item, such as an article or contact and in menu links.</p><p>If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.</p><p> </p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 10, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (33, 131, 'Phyllopteryx', 'phyllopteryx', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/200px_phyllopteryx_taeniolatus1.jpg","float_intro":"","image_intro_alt":"Phyllopteryx","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_phyllopteryx_taeniolatus1.jpg","float_fulltext":"","image_fulltext_alt":"Phyllopteryx","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:Phyllopteryx_taeniolatus1.jpg Author: Richard Ling License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (34, 132, 'Pinnacles', 'pinnacles', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/120px_pinnacles_western_australia.jpg","float_intro":"","image_intro_alt":"Kings Canyon","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_pinnacles_western_australia.jpg","float_fulltext":"","image_fulltext_alt":"Kings Canyon","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Pinnacles_Western_Australia.jpg Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later."}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (35, 133, 'Professionals', 'professionals', '<p>Joomla! 2.5 continues development of the Joomla Framework and CMS as a powerful and flexible way to bring your vision of the web to reality. With the administrator now fully MVC, the ability to control its look and the management of extensions is now complete.</p>', '<p>Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.2.4 and above makes Joomla lighter and faster than ever. Languages files can now be overridden without having your changes lost during an upgrade. With the proper xml your users update extensions with a single click.</p><p>Access control lists are now incorporated using a new system developed for Joomla. The ACL system is designed with developers in mind, so it is easy to incorporate into your extensions. The new nested sets libraries allow you to incorporate infinitely deep categories but also to use nested sets in a variety of other ways.</p><p>A new forms library makes creating all kinds of user interaction simple. MooTools 1.3 provides a highly flexible javascript framework that is a major advance over MooTools 1.0.</p><p>New events throughout the core make integration of your plugins where you want them a snap.</p><p>The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.</p><p>Learn about:</p><ul><li><a href="https://docs.joomla.org/Special:MyLanguage/Joomla_3_FAQ#What_are_the_major_differences_between_Joomla.21_2.5_and_3.3F">Changes since 1.5</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/ACL_Tutorial_for_Joomla_1.6">Working with ACL</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JCategories">Working with nested categories</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JForm">Forms library</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Working_with_Mootools_1.3">Working with Mootools 1.3</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Layout_Overrides_in_Joomla_1.6">Using new features of the override system</a></li><li><a href="https://api.joomla.org/">Joomla! API</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/API16:JDatabaseQuery">Using JDatabaseQuery</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Events">New and updated events</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Xml-rpc_changes_in_Joomla!">Xmlrpc</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/What''s_new_in_Joomla_1.6#Extension_management">Installing and updating extensions</a></li><li><a href="https://docs.joomla.org/Special:MyLanguage/Setting_up_your_workstation_for_Joomla!_development">Setting up your development environment</a></li><li><a href="https://github.com/joomla">The Joomla! Repository</a> </li></ul>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-09 16:41:13', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(36, 134, 'Random Image Module', 'random-image-module', '<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p><div class="sample-module">{loadmodule random_image,Random Image}</div>', '', 1, 66, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(37, 135, 'Related Items Module', 'related-items-module', '<p>This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Articles_Related" title="Related Items Module">Help</a></p><div class="sample-module">{loadmodule related_items,Articles Related Items}</div>', '', 1, 64, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, 'modules, content', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (38, 136, 'Sample Sites', 'sample-sites', '<p>Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample "sites within a site" designed to help you get started with building your own site.</p><p>The first site is a simple site about <a href="index.php?Itemid=243">Australian Parks</a>. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.</p><p>The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a <a href="index.php?Itemid=429">Fruit Shop</a>.</p><p>In building either style site, or something completely different, you will probably want to add <a href="https://extensions.joomla.org/">extensions</a> and either create or purchase your own template. Many Joomla users start by modifying the <a href="https://docs.joomla.org/Special:MyLanguage/Modifying_a_Joomla!_Template">templates</a> that come with the core distribution so that they include special images and other design elements that relate to their site''s focus.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 11, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), -(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(39, 137, 'Search', 'search-component', '<p>Joomla! 2.5 offers two search options.</p><p>The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Search">Help</a></p><p>The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(40, 138, 'Search Module', 'search-module', '<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Search" title="Search">Help</a></p><div class="sample-module">{loadmodule search,Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 4, '', '', 1, 0, '', 0, '*', ''), +(41, 139, 'Search ', 'search-plugin', '<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p><p>Default On:</p><ul><li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li><li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li><li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li><li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li><li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (42, 140, 'Site Map', 'site-map', '<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>', '', 1, 14, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (43, 141, 'Spotted Quoll', 'spotted-quoll', '<p> </p><p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (44, 142, 'Statistics Module', 'statistics', '<p>This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.</p><div class="sample-module">{loadmodule mod_stats,Statistics}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(45, 143, 'Syndicate Module', 'syndicate-module', '<p>The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Syndication_Feeds" title="Synicate Module">Help</a></p><div class="sample-module">{loadposition syndicate,Syndicate}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(46, 144, 'System', 'system', '<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p><p>Default on:</p><ul><li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li><li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li><li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li></ul><p>Default off:</p><ul><li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li><li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li><li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (47, 145, 'The Joomla! Community', 'the-joomla-community', '<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p><p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (48, 146, 'The Joomla! Project', 'the-joomla-project', '<p>The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.</p><p>Our mission is to provide a flexible platform for digital publishing and collaboration.</p><p>The core values are:</p><ul><li>Freedom</li><li>Equality</li><li>Trust</li><li>Community</li><li>Collaboration</li><li>Usability</li></ul><p>In our vision, we see:</p><ul><li>People publishing and collaborating in their communities and around the world</li><li>Software that is free, secure, and high-quality</li><li>A community that is enjoyable and rewarding to participate in</li><li>People around the world using their preferred languages</li><li>A project that acts autonomously</li><li>A project that is socially responsible</li><li>A project dedicated to maintaining the trust of its users</li></ul><p>There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.</p><p>Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.</p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (49, 147, 'Typography', 'typography', '<h1>H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h1><h2>H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h2><h3>H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h3><h4>H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h4><h5>H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h5><h6>H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz</h6><p>P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.</p><ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item<br /> <ul><li>Item</li><li>Item</li><li>Item</li></ul></li></ul></li></ul><ol><li>tem</li><li>Item</li><li>Item<br /> <ol><li>Item</li><li>Item</li><li>Item<br /><ol><li>Item</li><li>Item</li><li>Item</li></ol></li></ol> </li></ol>', '', 1, 23, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (50, 148, 'Upgraders', 'upgraders', '<p>If you are an experienced Joomla! 1.5 user, this Joomla site will seem very familiar. There are new templates and improved user interfaces, but most functionality is the same. The biggest changes are improved access control (ACL) and nested categories. This release of Joomla has strong continuity with Joomla! 1.7 while adding enhancements.</p>', '<p>The new user manager will let you manage who has access to what in your site. You can leave access groups exactly the way you had them in Joomla 1.5 or make them as complicated as you want. You can learn more about<a href="https://docs.joomla.org/Special:MyLanguage/J2.5:Access_Control_List_Tutorial"> how access control works</a> in on the <a href="https://docs.joomla.org/">Joomla! Documentation site</a></p><p>In Joomla 1.5 and 1.0 content was organized into sections and categories. From 1.6 forward sections are gone, and you can create categories within categories, going as deep as you want. The sample data provides many examples of the use of nested categories.</p><p>All layouts have been redesigned to improve accessibility and flexibility. </p><p>Updating your site and extensions when needed is easier than ever thanks to installer improvements.</p><p> </p>', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 6, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 1, '*', ''), -(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(51, 149, 'User', 'user-plugins', '<p>Default on:</p><ul><li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li></ul><p>Default off:</p><p>Two new plugins are available but are disabled by default.</p><ul><li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li><li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(52, 150, 'Users', 'users-component', '<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Users_User_Manager">Help</a></p><p>Please note that some of the user views will not display if you are not logged-in to the site.</p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 5, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (53, 151, 'Using Joomla!', 'using-joomla', '<p>With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.</p><p>This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.</p><p><em>When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories. </em></p>', '', 1, 19, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 7, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); INSERT INTO "#__content" ("id", "asset_id", "title", "alias", "introtext", "fulltext", "state", "catid", "created", "created_by", "created_by_alias", "modified", "modified_by", "checked_out", "checked_out_time", "publish_up", "publish_down", "images", "urls", "attribs", "version", "ordering", "metakey", "metadesc", "access", "hits", "metadata", "featured", "language", "xreference") VALUES -(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(56, 154, 'Who''s Online', 'whos-online', '<p>The Who''s Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the website. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Who_Online" title="Who''s Online">Help</a></p><div class="sample-module">{loadmodule whosonline,Who''s Online}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), (57, 155, 'Wobbegone', 'wobbegone', '<p> </p>', '<p> </p>', 1, 72, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/animals\/180px_wobbegong.jpg","float_intro":"","image_intro_alt":"Wobbegon","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/animals\/800px_wobbegong.jpg","float_fulltext":"","image_fulltext_alt":"Wobbegon","image_fulltext_caption":"Source: https:\/\/en.wikipedia.org\/wiki\/File:Wobbegong.jpg Author: Richard Ling Rights: GNU Free Documentation License v 1.2 or later"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (58, 156, 'Wonderful Watermelon', 'wonderful-watermelon', '<p>Watermelon is a wonderful and healthy treat. We grow the world''s sweetest watermelon. We have the largest watermelon patch in our country.</p>', '', 1, 30, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), -(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), +(59, 157, 'Wrapper Module', 'wrapper-module', '<p>This module shows an iframe window to specified location. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Wrapper" title="Wrapper Module">Help</a></p><div class="sample-module">{loadmodule wrapper,Wrapper}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 1, '', '', 1, 0, '', 0, '*', ''), +(60, 158, 'News Feeds', 'news-feeds', '<p>News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You can use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Components_Newsfeeds_Feeds">Help</a></p>', '', 1, 21, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 4, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(61, 159, 'Breadcrumbs Module', 'breadcrumbs-module', '<p>Breadcrumbs provide a pathway for users to navigate through the site. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Breadcrumbs" title="Breacrumbs Module">Help</a></p><div class="sample-module">{loadmodule breadcrumbs,breadcrumbs}</div>', '', 1, 75, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(62, 160, 'Content', 'content-plugins', '<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p><p>Default on:</p><ul><li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li><li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li><li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li><li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li><li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 7, '', '', 1, 0, '', 0, '*', ''), (64, 162, 'Blue Mountain Rain Forest', 'blue-mountain-rain-forest', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/120px_rainforest_bluemountainsnsw.jpg","float_intro":"none","image_intro_alt":"Rain Forest Blue Mountains","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/727px_rainforest_bluemountainsnsw.jpg","float_fulltext":"","image_fulltext_alt":"Rain Forest Blue Mountains","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Rainforest,bluemountainsNSW.jpg Author: Adam J.W.C. License: GNU Free Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 2, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (65, 163, 'Ormiston Pound', 'ormiston-pound', '<p> </p>', '<p> </p>', 1, 73, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '{"image_intro":"images\/sampledata\/parks\/landscape\/180px_ormiston_pound.jpg","float_intro":"none","image_intro_alt":"Ormiston Pound","image_intro_caption":"","image_fulltext":"images\/sampledata\/parks\/landscape\/800px_ormiston_pound.jpg","float_fulltext":"","image_fulltext_alt":"Ormiston Pound","image_fulltext_caption":"Source: https:\/\/commons.wikimedia.org\/wiki\/File:Ormiston_Pound.JPG Author: License: GNU Free Public Documentation License"}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 3, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help31:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), +(66, 165, 'Latest Users Module', 'latest-users-module', '<p>This module displays the latest registered users. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Latest_Users">Help</a></p><div class="sample-module">{loadmodule users_latest,Users Latest}</div>', '', 1, 65, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"1","link_titles":"","show_intro":"","show_category":"1","link_category":"1","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 3, '', '', 1, 0, '', 0, '*', ''), (67, 168, 'What''s New in 1.5?', 'whats-new-in-15', '<p>This article deliberately archived as an example.</p><p>As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.</p><p style="margin-bottom: 0in;">In Joomla! 1.5, you''''ll notice:</p><ul><li>Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations</li><li>Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others</li><li>Extended integration of external applications through Web services</li><li>Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination</li><li>A more sustainable and flexible framework for Component and Extension developers</li><li>Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions</li></ul>', '', 2, 9, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2011-01-01 00:00:01', '1900-01-01 00:00:00', '', '', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:20:45', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:27:39', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), -(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help31:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:42:36', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(68, 170, 'Captcha', 'captcha', '<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p><p>Default on:</p><ul><li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">help</a></li></ul><p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:20:45', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 1, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(69, 171, 'Quick Icons', 'quick-icons', '<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p><p>Default on:</p><ul><li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a>.</li><li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Plugin_Manager_Edit">Help</a></li></ul>', '', 1, 25, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:27:39', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), +(70, 170, 'Smart Search', 'smart-search', '<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help38:Extensions_Module_Manager_Smart_Search">Help</a>.</p><div class="sample-module">{loadmodule finder,Smart Search}</div>', '', 1, 67, '2011-01-01 00:00:01', 42, 'Joomla', '1900-01-01 00:00:00', 0, 0, '1900-01-01 00:00:00', '2012-01-17 03:42:36', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 1, 0, '', '', 1, 0, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (71, 178, 'Similar Tags', 'similar-tags', '<p>The similar tags modules shows a list of items which have the same or a similar set of tags.</p><p>{loadmodule tags_similar,Similar Tags}</p>', '', 1, 64, '2013-10-31 00:14:17', 371, '', '2013-10-31 00:39:09', 371, 0, '1900-01-01 00:00:00', '2013-10-31 00:14:17', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 4, 0, '', '', 1, 5, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''), (72, 180, 'Popular Tags', 'popular-tags', '<p>The Popular Tags displays a list of the most commonly uses tags. It offers both a list and a tag cloud layout.</p><p>{loadmodule tags_popular,Popular Tags}</p>', '', 1, 64, '2013-10-31 00:43:46', 371, '', '2013-10-31 00:50:38', 371, 0, '1900-01-01 00:00:00', '2013-10-31 00:43:46', '1900-01-01 00:00:00', '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 2, 0, '', '', 1, 1, '{"robots":"","author":"","rights":"","xreference":""}', 0, '*', ''); diff --git a/tests/unit/stubs/database/jos_content.csv b/tests/unit/stubs/database/jos_content.csv index 5361ce9acf858..fe1b82335b27b 100644 --- a/tests/unit/stubs/database/jos_content.csv +++ b/tests/unit/stubs/database/jos_content.csv @@ -37,12 +37,12 @@ '5','101','Authentication','authentication','<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p> <p>Default on:</p> <ul> -<li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> +<li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> </ul> <p>Default off:</p> <ul> -<li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> -<li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li> +<li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> +<li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li> </ul>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','3',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', '6','102','Australian Parks ','australian-parks','<p>Welcome!</p> <p>This is a basic site about the beautiful and fascinating parks of Australia.</p> @@ -70,9 +70,9 @@ '14','112','Editors','editors','<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p> <p>Default on:</p> <ul> -<li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li> -<li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li> -<li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li> +<li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li> +<li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li> +<li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li> </ul> <p>Default off:</p> <ul> @@ -81,10 +81,10 @@ '15','113','Editors-xtd','editors-xtd','<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p> <p>Default on:</p> <ul> -<li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li> -<li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li> -<li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li> -<li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li> +<li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li> +<li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li> +<li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li> +<li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li> </ul> <p>Default off:</p> <ul> @@ -181,11 +181,11 @@ '41','139','Search ','search-plugin','<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p> <p>Default On:</p> <ul> -<li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li> -<li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li> -<li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li> -<li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li> -<li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li> +<li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li> +<li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li> +<li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li> +<li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li> +<li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li> </ul>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00',,,'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}','1','1',,,'1','0',,'0','*', '42','140','Site Map','site-map','<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>',,'1','14','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00',,,'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}','1','1',,,'1','3',,'0','*', '43','141','Spotted Quoll','spotted-quoll','<p> </p> @@ -199,15 +199,15 @@ '46','144','System','system','<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p> <p>Default on:</p> <ul> -<li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li> -<li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li> -<li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li> +<li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li> +<li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li> +<li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li> </ul> <p>Default off:</p> <ul> -<li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li> -<li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li> -<li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li> +<li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li> +<li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li> +<li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li> </ul>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','2',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', '47','145','The Joomla! Community','the-joomla-community','<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p> <p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/">forum</a> is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>',,'1','19','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','3',,,'1','1','{"robots":"","author":"","rights":"","xreference":""}','0','*', @@ -240,13 +240,13 @@ <p> </p>',,'1','19','2011-01-01 00:00:01','100','Joomla','2012-09-25 07:12:10','123','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":null,"urlatext":"","targeta":"","urlb":null,"urlbtext":"","targetb":"","urlc":null,"urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","info_block_position":"0","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','3','6',,,'1','2','{"robots":"","author":"","rights":"","xreference":""}','1','*', '51','149','User','user-plugins','<p>Default on:</p> <ul> -<li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li> +<li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li> </ul> <p>Default off:</p> <p>Two new plugins are available but are disabled by default.</p> <ul> -<li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li> -<li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li> +<li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li> +<li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li> </ul>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','4',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', '52','150','Users','users-component','<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Users_User_Manager">Help</a></p> <p>Please note that some of the user views will not display if you are not logged-in to the site.</p>',,'1','21','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00',,,'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":""}','1','5',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', @@ -270,11 +270,11 @@ '62','160','Content','content-plugins','<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p> <p>Default on:</p> <ul> -<li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li> -<li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li> -<li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li> -<li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li> -<li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li> +<li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li> +<li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li> +<li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li> +<li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li> +<li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li> </ul> ',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00',,,'{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_readmore":"","show_print_icon":"","show_email_icon":"","show_hits":"","page_title":"","alternative_readmore":"","layout":""}','1','7',,,'1','0',,'0','*', '64','162','Blue Mountain Rain Forest','blue-mountain-rain-forest','<p> </p> @@ -298,14 +298,14 @@ '68','170','Captcha','captcha','<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p> <p>Default on:</p> <ul> -<li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">help</a></li> +<li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">help</a></li> </ul> <p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2012-01-17 03:20:45','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','1',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', '69','171','Quick Icons','quick-icons','<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p> <p>Default on:</p> <ul> -<li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a>.</li> -<li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a></li> +<li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a>.</li> +<li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a></li> </ul>',,'1','25','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2012-01-17 03:27:39','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','0',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', -'70','170','Smart Search','smart-search','<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help25:Extensions_Module_Manager_Smart_Search">Help</a>.</p> +'70','170','Smart Search','smart-search','<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help25:Extensions_Module_Manager_Smart_Search">Help</a>.</p> <div class="sample-module">{loadmodule finder,Smart Search}</div>',,'1','67','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2012-01-17 03:42:36','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','0',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', diff --git a/tests/unit/stubs/database/jos_ucm_content.csv b/tests/unit/stubs/database/jos_ucm_content.csv index 1c2fa5d569b13..ce0a45fbce75d 100644 --- a/tests/unit/stubs/database/jos_ucm_content.csv +++ b/tests/unit/stubs/database/jos_ucm_content.csv @@ -43,12 +43,12 @@ '6','com_content.article','Authentication','authentication','<p>The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.</p> <p>Default on:</p> <ul> -<li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> +<li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> </ul> <p>Default off:</p> <ul> -<li>Gmail <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> -<li>LDAP <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li> +<li>Gmail <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_GMail">Help</a></li> +<li>LDAP <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Authentication_-_LDAP">Help</a></li> </ul>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','5','101',,,'0','1','3',,,'25',,'1' '7','com_content.article','Banner Module','banner-module','<p>The banner module is used to display the banners that are managed by the banners component in the site administrator. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Extensions_Module_Manager_Banners">Help</a>.</p> <div class="sample-module">{loadmodule banners,Banners}</div>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','7','103',,,'0','1','6',,,'66',,'1' @@ -62,7 +62,7 @@ '11','com_content.article','Captcha','captcha','<p>The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.</p> <p>Default on:</p> <ul> -<li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">help</a></li> +<li>ReCaptcha <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">help</a></li> </ul> <p>Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.</p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2012-01-17 03:20:45','0000-00-00 00:00:00','68','170',,,'0','1','1',,,'25',,'1' '12','com_content.article','Contacts','contact','<p>The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Components_Contacts_Contacts">Help</a></p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','9','105',,,'0','1','2',,,'21',,'1' @@ -70,11 +70,11 @@ '14','com_content.article','Content','content-plugins','<p>Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.</p> <p>Default on:</p> <ul> -<li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li> -<li>Load Module <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li> -<li>Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li> -<li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li> -<li>Vote <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li> +<li>Email Cloaking <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Email_Cloaking">Help</a></li> +<li>Load Module <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Load_Modules">Help</a></li> +<li>Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Pagebreak">Help</a></li> +<li>Page Navigation<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Page_Navigation"> Help</a></li> +<li>Vote <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Content_-_Vote">Help</a></li> </ul> ','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','62','160',,,'0','1','7',,,'25',,'1' '15','com_content.article','Cradle Mountain','cradle-mountain','<p> </p> @@ -85,9 +85,9 @@ '18','com_content.article','Editors','editors','<p>Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.</p> <p>Default on:</p> <ul> -<li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li> -<li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li> -<li>No Editor <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li> +<li>CodeMirror <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_CodeMirror">Help</a></li> +<li>TinyMCE<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_TinyMCE"> Help</a></li> +<li>No Editor <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Editor_-_None">Help</a></li> </ul> <p>Default off:</p> <ul> @@ -96,10 +96,10 @@ '19','com_content.article','Editors-xtd','editors-xtd','<p>These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.</p> <p>Default on:</p> <ul> -<li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li> -<li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li> -<li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li> -<li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li> +<li>Editor Button: Image<a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Image"> Help</a></li> +<li>Editor Button: Readmore <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Readmore">Help</a></li> +<li>Editor Button: Page Break <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Pagebreak">Help</a></li> +<li>Editor Button: Article <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Button_-_Article">Help</a></li> </ul> <p>Default off:</p> <ul> @@ -182,8 +182,8 @@ '42','com_content.article','Quick Icons','quick-icons','<p> The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.</p> <p>Default on:</p> <ul> -<li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a>.</li> -<li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a></li> +<li>Quick icon - Joomla! extensions updates notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a>.</li> +<li>Quick icon - Joomla! update notification <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit">Help</a></li> </ul>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2012-01-17 03:27:39','0000-00-00 00:00:00','69','171',,,'0','1','0',,,'25',,'1' '43','com_content.article','Random Image Module','random-image-module','<p>This module displays a random image from your chosen image directory. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Extensions_Module_Manager_Random_Image" title="Random Image Module">Help</a></p> <div class="sample-module">{loadmodule random_image,Random Image}</div>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','36','134',,,'0','1','4',,,'66',,'1' @@ -199,17 +199,17 @@ '47','com_content.article','Search ','search-plugin','<p>The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.</p> <p>Default On:</p> <ul> -<li>Content <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li> -<li>Contacts <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li> -<li>Weblinks <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li> -<li>News Feeds <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li> -<li>Categories <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li> +<li>Content <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Content">Help</a></li> +<li>Contacts <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Contacts">Help</a></li> +<li>Weblinks <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Weblinks">Help</a></li> +<li>News Feeds <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Newsfeeds">Help</a></li> +<li>Categories <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#Search_-_Categories">Help</a></li> </ul>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','41','139',,,'0','1','1',,,'25',,'1' '48','com_content.article','Search Module','search-module','<p>This module will display a search box. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Extensions_Module_Manager_Search" title="Search">Help</a></p> <div class="sample-module">{loadmodule search,Search}</div>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','40','138',,,'0','1','4',,,'67',,'1' '49','com_content.article','Second Blog Post','second-blog-post','<p><em>Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.</em></p><p>Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.</p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','18','116',,,'2','1','1',,,'27',,'1' '50','com_content.article','Site Map','site-map','<p>{loadposition sitemapload}</p><p><em>By putting all of your content into nested categories you can give users and search engines access to everything using a menu.</em></p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','42','140',,,'3','1','1',,,'14',,'1' -'51','com_content.article','Smart Search','smart-search','<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help25:Extensions_Module_Manager_Smart_Search">Help</a>.</p> +'51','com_content.article','Smart Search','smart-search','<p>This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. <a href="https://help.joomla.org/proxy/index.php?keyref=Help25:Extensions_Module_Manager_Smart_Search">Help</a>.</p> <div class="sample-module">{loadmodule finder,Smart Search}</div>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2012-01-17 03:42:36','0000-00-00 00:00:00','70','170',,,'0','1','0',,,'67',,'1' '52','com_content.article','Spotted Quoll','spotted-quoll','<p> </p> <p> </p> @@ -221,15 +221,15 @@ '55','com_content.article','System','system','<p>System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.</p> <p>Default on:</p> <ul> -<li>Remember me <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li> -<li>SEF <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li> -<li>Debug <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li> +<li>Remember me <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Remember_Me">Help</a></li> +<li>SEF <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_SEF">Help</a></li> +<li>Debug <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Debug">Help</a></li> </ul> <p>Default off:</p> <ul> -<li>Cache <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li> -<li>Log <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li> -<li>Redirect <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li> +<li>Cache <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Cache">Help</a></li> +<li>Log <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Log">Help</a></li> +<li>Redirect <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#System_-_Redirect">Help</a></li> </ul>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','46','144',,,'0','1','2',,,'25',,'1' '56','com_content.article','The Joomla! Community','the-joomla-community','<p>Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.</p> <p>People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the <a href="https://www.joomla.org/">Joomla.org</a> family of websites (the<a href="https://forum.joomla.org/"> forum </a>is a great place to start). Come to a <a href="https://community.joomla.org/events.html">Joomla! event</a>. Join or start a <a href="https://community.joomla.org/user-groups.html">Joomla! Users Group</a>. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.</p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','47','145',,,'1','1','3',,,'19',,'1' @@ -262,13 +262,13 @@ <p> </p>','1',,'0','1',,'1',,'0',,'2011-01-01 00:00:01','0','2012-09-25 07:12:10','*','2011-01-01 00:00:01','0000-00-00 00:00:00','50','148',,,'2','3','6',,,'19',,'1' '60','com_content.article','User','user-plugins','<p>Default on:</p> <ul> -<li>Joomla <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li> +<li>Joomla <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Joomla.21">Help</a></li> </ul> <p>Default off:</p> <p>Two new plugins are available but are disabled by default.</p> <ul> -<li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li> -<li>Profile <a href="https://help.joomla.org/proxy/index.php?amp;keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li> +<li>Contact Creator <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Contact_Creator">Help</a><br />Creates a new linked contact record for each new user created.</li> +<li>Profile <a href="https://help.joomla.org/proxy/index.php?keyref=Help17:Extensions_Plugin_Manager_Edit#User_-_Profile">Help</a><br />This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.</li> </ul>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','51','149',,,'0','1','4',,,'25',,'1' '61','com_content.article','Users','users-component','<p>The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. <a href="https://help.joomla.org/proxy/index.php?keyref=Help16:Users_User_Manager">Help</a></p> <p>Please note that some of the user views will not display if you are not logged-in to the site.</p>','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','52','150',,,'0','1','5',,,'21',,'1' From be070184e705e367577bcbcc65e099a24cdf7a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Demis=20Palma=20=E3=83=84?= <demis.palma@gmail.com> Date: Sat, 17 Mar 2018 15:14:29 +0000 Subject: [PATCH 147/255] Fixed trig on change event (#19538) --- templates/beez3/javascript/template.js | 3 ++- templates/protostar/js/template.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/beez3/javascript/template.js b/templates/beez3/javascript/template.js index 53954d9e2849b..f362ac78f46a7 100644 --- a/templates/beez3/javascript/template.js +++ b/templates/beez3/javascript/template.js @@ -10,7 +10,7 @@ { $(document).ready(function() { - $('*[rel=tooltip]').tooltip() + $('*[rel=tooltip]').tooltip(); // Turn radios into btn-group $('.radio.btn-group label').addClass('btn'); @@ -30,6 +30,7 @@ label.addClass('active btn-success'); } input.prop('checked', true); + input.trigger('change'); } }); $(".btn-group input[checked=checked]").each(function() diff --git a/templates/protostar/js/template.js b/templates/protostar/js/template.js index 70fdc58af8fec..8968a6b72e894 100644 --- a/templates/protostar/js/template.js +++ b/templates/protostar/js/template.js @@ -10,7 +10,7 @@ { $(document).ready(function() { - $('*[rel=tooltip]').tooltip() + $('*[rel=tooltip]').tooltip(); // Turn radios into btn-group $('.radio.btn-group label').addClass('btn'); From 30cb4d697586f8dc75415e1308b5d58c07f99ef8 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sat, 17 Mar 2018 16:15:37 +0100 Subject: [PATCH 148/255] [com_content] - fix link when layout and association (#19681) --- components/com_content/helpers/route.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/com_content/helpers/route.php b/components/com_content/helpers/route.php index d8e2077184eb3..822d59dc54634 100644 --- a/components/com_content/helpers/route.php +++ b/components/com_content/helpers/route.php @@ -78,6 +78,14 @@ public static function getCategoryRoute($catid, $language = 0) { $link .= '&lang=' . $language; } + + $jinput = JFactory::getApplication()->input; + $layout = $jinput->get('layout'); + + if ($layout !== '') + { + $link .= '&layout=' . $layout; + } } return $link; From 9d927c17d708f26c03d2478e8e0e2a1c7aaf7e99 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 17 Mar 2018 15:16:30 +0000 Subject: [PATCH 149/255] Date format localise (#19690) * Add new date format LC6 * LC6 * commit 2 --- .../components/com_banners/views/tracks/tmpl/default.php | 2 +- .../components/com_contenthistory/models/compare.php | 4 ++-- .../components/com_contenthistory/models/preview.php | 4 ++-- .../com_contenthistory/views/history/tmpl/modal.php | 2 +- .../components/com_messages/views/message/tmpl/default.php | 2 +- administrator/components/com_users/views/notes/tmpl/modal.php | 2 +- .../components/com_users/views/users/tmpl/default.php | 4 ++-- administrator/language/en-GB/en-GB.ini | 1 + .../templates/hathor/html/com_banners/tracks/default.php | 2 +- .../hathor/html/com_contenthistory/history/modal.php | 2 +- .../templates/hathor/html/com_users/users/default.php | 4 ++-- components/com_users/views/profile/tmpl/default_core.php | 4 ++-- language/en-GB/en-GB.ini | 1 + 13 files changed, 18 insertions(+), 16 deletions(-) diff --git a/administrator/components/com_banners/views/tracks/tmpl/default.php b/administrator/components/com_banners/views/tracks/tmpl/default.php index 5d2d96235fff2..a41d327614272 100644 --- a/administrator/components/com_banners/views/tracks/tmpl/default.php +++ b/administrator/components/com_banners/views/tracks/tmpl/default.php @@ -76,7 +76,7 @@ <?php echo $item->count; ?> </td> <td class="hidden-phone"> - <?php echo JHtml::_('date', $item->track_date, JText::_('DATE_FORMAT_LC4') . ' H:i'); ?> + <?php echo JHtml::_('date', $item->track_date, JText::_('DATE_FORMAT_LC5')); ?> </td> </tr> <?php endforeach; ?> diff --git a/administrator/components/com_contenthistory/models/compare.php b/administrator/components/com_contenthistory/models/compare.php index 679d2cd7df5f0..8221ec7e861f4 100644 --- a/administrator/components/com_contenthistory/models/compare.php +++ b/administrator/components/com_contenthistory/models/compare.php @@ -76,7 +76,7 @@ public function getItems() $object->version_note = $table->version_note; // Let's use custom calendars when present - $object->save_date = JHtml::_('date', $table->save_date, 'Y-m-d H:i:s'); + $object->save_date = JHtml::_('date', $table->save_date, JText::_('DATE_FORMAT_LC6')); $dateProperties = array ( 'modified_time', @@ -92,7 +92,7 @@ public function getItems() { if (array_key_exists($dateProperty, $object->data) && $object->data->$dateProperty->value != '0000-00-00 00:00:00') { - $object->data->$dateProperty->value = JHtml::_('date', $object->data->$dateProperty->value, 'Y-m-d H:i:s'); + $object->data->$dateProperty->value = JHtml::_('date', $object->data->$dateProperty->value, JText::_('DATE_FORMAT_LC6')); } } diff --git a/administrator/components/com_contenthistory/models/preview.php b/administrator/components/com_contenthistory/models/preview.php index a7cf8d1b011e5..267aafa53a459 100644 --- a/administrator/components/com_contenthistory/models/preview.php +++ b/administrator/components/com_contenthistory/models/preview.php @@ -68,7 +68,7 @@ public function getItem() $result->data = ContenthistoryHelper::prepareData($table); // Let's use custom calendars when present - $result->save_date = JHtml::_('date', $table->save_date, 'Y-m-d H:i:s'); + $result->save_date = JHtml::_('date', $table->save_date, JText::_('DATE_FORMAT_LC6')); $dateProperties = array ( 'modified_time', @@ -84,7 +84,7 @@ public function getItem() { if (array_key_exists($dateProperty, $result->data) && $result->data->$dateProperty->value != '0000-00-00 00:00:00') { - $result->data->$dateProperty->value = JHtml::_('date', $result->data->$dateProperty->value, 'Y-m-d H:i:s'); + $result->data->$dateProperty->value = JHtml::_('date', $result->data->$dateProperty->value, JText::_('DATE_FORMAT_LC6')); } } diff --git a/administrator/components/com_contenthistory/views/history/tmpl/modal.php b/administrator/components/com_contenthistory/views/history/tmpl/modal.php index 8f49b1a70bbc6..4dc45a3c1fec2 100644 --- a/administrator/components/com_contenthistory/views/history/tmpl/modal.php +++ b/administrator/components/com_contenthistory/views/history/tmpl/modal.php @@ -147,7 +147,7 @@ <td> <a class="save-date" onclick="window.open(this.href,'win2','width=800,height=600,resizable=yes,scrollbars=yes'); return false;" href="<?php echo JRoute::_('index.php?option=com_contenthistory&view=preview&layout=preview&tmpl=component&' . JSession::getFormToken() . '=1&version_id=' . $item->version_id); ?>"> - <?php echo JHtml::_('date', $item->save_date, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->save_date, JText::_('DATE_FORMAT_LC6')); ?> </a> <?php if ($item->sha1_hash == $hash) : ?> <span class="icon-featured" aria-hidden="true"><span class="element-invisible"><?php echo JText::_('JFEATURED'); ?></span></span>  diff --git a/administrator/components/com_messages/views/message/tmpl/default.php b/administrator/components/com_messages/views/message/tmpl/default.php index a77e332083c91..6b3a8065ce640 100644 --- a/administrator/components/com_messages/views/message/tmpl/default.php +++ b/administrator/components/com_messages/views/message/tmpl/default.php @@ -27,7 +27,7 @@ <?php echo JText::_('COM_MESSAGES_FIELD_DATE_TIME_LABEL'); ?> </div> <div class="controls"> - <?php echo JHtml::_('date', $this->item->date_time); ?> + <?php echo JHtml::_('date', $this->item->date_time, JText::_('DATE_FORMAT_LC2')); ?> </div> </div> <div class="control-group"> diff --git a/administrator/components/com_users/views/notes/tmpl/modal.php b/administrator/components/com_users/views/notes/tmpl/modal.php index 83eb1de0e9330..b810c3ed9da4b 100644 --- a/administrator/components/com_users/views/notes/tmpl/modal.php +++ b/administrator/components/com_users/views/notes/tmpl/modal.php @@ -28,7 +28,7 @@ </div> <div class="fltlft utitle"> - <?php echo JHtml::_('date', $item->created_time, 'D d M Y H:i'); ?> + <?php echo JHtml::_('date', $item->created_time, JText::_('DATE_FORMAT_LC2')); ?> </div> <?php $category_image = $item->cparams->get('image'); ?> diff --git a/administrator/components/com_users/views/users/tmpl/default.php b/administrator/components/com_users/views/users/tmpl/default.php index 56a930ec56631..8662c067d4a11 100644 --- a/administrator/components/com_users/views/users/tmpl/default.php +++ b/administrator/components/com_users/views/users/tmpl/default.php @@ -150,13 +150,13 @@ </td> <td class="hidden-phone hidden-tablet"> <?php if ($item->lastvisitDate != $this->db->getNullDate()) : ?> - <?php echo JHtml::_('date', $item->lastvisitDate, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->lastvisitDate, JText::_('DATE_FORMAT_LC6')); ?> <?php else : ?> <?php echo JText::_('JNEVER'); ?> <?php endif; ?> </td> <td class="hidden-phone hidden-tablet"> - <?php echo JHtml::_('date', $item->registerDate, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->registerDate, JText::_('DATE_FORMAT_LC6')); ?> </td> <td class="hidden-phone"> <?php echo (int) $item->id; ?> diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index 1278d2707f9e3..b4078de2faa2d 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -963,6 +963,7 @@ DATE_FORMAT_LC2="l, d F Y H:i" DATE_FORMAT_LC3="d F Y" DATE_FORMAT_LC4="Y-m-d" DATE_FORMAT_LC5="Y-m-d H:i" +DATE_FORMAT_LC6="Y-m-d H:i:s" DATE_FORMAT_JS1="y-m-d" DATE_FORMAT_CALENDAR_DATE="%Y-%m-%d" DATE_FORMAT_CALENDAR_DATETIME="%Y-%m-%d %H:%M:%S" diff --git a/administrator/templates/hathor/html/com_banners/tracks/default.php b/administrator/templates/hathor/html/com_banners/tracks/default.php index e131f137ecf53..9d6c035fa92e2 100644 --- a/administrator/templates/hathor/html/com_banners/tracks/default.php +++ b/administrator/templates/hathor/html/com_banners/tracks/default.php @@ -113,7 +113,7 @@ <?php echo $item->count;?> </td> <td> - <?php echo JHtml::_('date', $item->track_date, JText::_('DATE_FORMAT_LC4').' H:i');?> + <?php echo JHtml::_('date', $item->track_date, JText::_('DATE_FORMAT_LC5'));?> </td> </tr> <?php endforeach; ?> diff --git a/administrator/templates/hathor/html/com_contenthistory/history/modal.php b/administrator/templates/hathor/html/com_contenthistory/history/modal.php index 164ba8664cbce..e459baf4589e2 100644 --- a/administrator/templates/hathor/html/com_contenthistory/history/modal.php +++ b/administrator/templates/hathor/html/com_contenthistory/history/modal.php @@ -142,7 +142,7 @@ <td class="nowrap"> <a class="save-date" onclick="window.open(this.href,'win2','width=800,height=600,resizable=yes,scrollbars=yes'); return false;" href="<?php echo JRoute::_('index.php?option=com_contenthistory&view=preview&layout=preview&tmpl=component&' . JSession::getFormToken() . '=1&version_id=' . $item->version_id);?>"> - <?php echo JHtml::_('date', $item->save_date, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->save_date, JText::_('DATE_FORMAT_LC6')); ?> </a> <?php if ($item->sha1_hash == $hash) :?> <span class="icon-featured"></span>  diff --git a/administrator/templates/hathor/html/com_users/users/default.php b/administrator/templates/hathor/html/com_users/users/default.php index 2c930763bbb9d..5b96c11570579 100644 --- a/administrator/templates/hathor/html/com_users/users/default.php +++ b/administrator/templates/hathor/html/com_users/users/default.php @@ -191,13 +191,13 @@ </td> <td class="center"> <?php if ($item->lastvisitDate != $this->db->getNullDate()) : ?> - <?php echo JHtml::_('date', $item->lastvisitDate, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->lastvisitDate, JText::_('DATE_FORMAT_LC6')); ?> <?php else:?> <?php echo JText::_('JNEVER'); ?> <?php endif;?> </td> <td class="center"> - <?php echo JHtml::_('date', $item->registerDate, 'Y-m-d H:i:s'); ?> + <?php echo JHtml::_('date', $item->registerDate, JText::_('DATE_FORMAT_LC6')); ?> </td> <td class="center"> <?php echo (int) $item->id; ?> diff --git a/components/com_users/views/profile/tmpl/default_core.php b/components/com_users/views/profile/tmpl/default_core.php index 2ffff33a1118a..a5bbd19823325 100644 --- a/components/com_users/views/profile/tmpl/default_core.php +++ b/components/com_users/views/profile/tmpl/default_core.php @@ -31,14 +31,14 @@ <?php echo JText::_('COM_USERS_PROFILE_REGISTERED_DATE_LABEL'); ?> </dt> <dd> - <?php echo JHtml::_('date', $this->data->registerDate); ?> + <?php echo JHtml::_('date', $this->data->registerDate, JText::_('DATE_FORMAT_LC1')); ?> </dd> <dt> <?php echo JText::_('COM_USERS_PROFILE_LAST_VISITED_DATE_LABEL'); ?> </dt> <?php if ($this->data->lastvisitDate != $this->db->getNullDate()) : ?> <dd> - <?php echo JHtml::_('date', $this->data->lastvisitDate); ?> + <?php echo JHtml::_('date', $this->data->lastvisitDate, JText::_('DATE_FORMAT_LC1')); ?> </dd> <?php else : ?> <dd> diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index 288f825f27e6d..652d721b2ea84 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -318,6 +318,7 @@ DATE_FORMAT_LC2="l, d F Y H:i" DATE_FORMAT_LC3="d F Y" DATE_FORMAT_LC4="Y-m-d" DATE_FORMAT_LC5="Y-m-d H:i" +DATE_FORMAT_LC6="Y-m-d H:i:s" DATE_FORMAT_JS1="y-m-d" DATE_FORMAT_CALENDAR_DATE="%Y-%m-%d" DATE_FORMAT_CALENDAR_DATETIME="%Y-%m-%d %H:%M:%S" From 3e436e0eda41a50b40129a4c234fc7c6b24e9d47 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sat, 17 Mar 2018 16:17:15 +0100 Subject: [PATCH 150/255] [behavior.formvalidator] - pattern attribute behaviour fix (#19771) * [behavior.formvalidator] - pattern behaviour fix * minify --- media/system/js/validate-uncompressed.js | 19 +++++++++++-------- media/system/js/validate.js | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/media/system/js/validate-uncompressed.js b/media/system/js/validate-uncompressed.js index bc42e5aedc057..bf76efdc8ca13 100644 --- a/media/system/js/validate-uncompressed.js +++ b/media/system/js/validate-uncompressed.js @@ -86,14 +86,17 @@ var JFormValidator = function() { // Try HTML5 pattern first then the handlers if ($el.attr('pattern') && $el.attr('pattern') != '') { - if ($el.val().length) { - isValid = new RegExp('^'+$el.attr('pattern')+'$').test($el.val()); - handleResponse(isValid, $el); - return isValid; - } else { - handleResponse(false, $el); - return false; - } + if ($el.val().length) { + isValid = new RegExp('^'+$el.attr('pattern')+'$').test($el.val()); + handleResponse(isValid, $el); + return isValid; + } + if ($el.attr('required') || $el.hasClass('required')) { + handleResponse(false, $el); + return false; + } + handleResponse(true, $el); + return true; } else { if (handler === '') { handleResponse(true, $el); diff --git a/media/system/js/validate.js b/media/system/js/validate.js index 41a0974064131..b26b658d1fba3 100644 --- a/media/system/js/validate.js +++ b/media/system/js/validate.js @@ -1 +1 @@ -var JFormValidator=function(){"use strict";var a,b,c,d=function(b,c,d){d=""===d||d,a[b]={enabled:d,exec:c}},e=function(a,b){var c,d=jQuery(b);return!!a&&(c=d.find("#"+a+"-lbl"),c.length?c:(c=d.find('label[for="'+a+'"]'),!!c.length&&c))},f=function(a,b){var c=b.data("label");void 0===c&&(c=e(b.attr("id"),b.get(0).form),b.data("label",c)),a===!1?(b.addClass("invalid").attr("aria-invalid","true"),c&&c.addClass("invalid")):(b.removeClass("invalid").attr("aria-invalid","false"),c&&c.removeClass("invalid"))},g=function(b){var d,e,c=jQuery(b);if(c.attr("disabled"))return f(!0,c),!0;if(c.attr("required")||c.hasClass("required"))if(d=c.prop("tagName").toLowerCase(),"fieldset"===d&&(c.hasClass("radio")||c.hasClass("checkboxes"))){if(!c.find("input:checked").length)return f(!1,c),!1}else if(!c.val()||c.hasClass("placeholder")||"checkbox"===c.attr("type")&&!c.is(":checked"))return f(!1,c),!1;return e=c.attr("class")&&c.attr("class").match(/validate-([a-zA-Z0-9\_\-]+)/)?c.attr("class").match(/validate-([a-zA-Z0-9\_\-]+)/)[1]:"",c.attr("pattern")&&""!=c.attr("pattern")?c.val().length?(h=new RegExp("^"+c.attr("pattern")+"$").test(c.val()),f(h,c),h):(f(!1,c),!1):""===e?(f(!0,c),!0):e&&"none"!==e&&a[e]&&c.val()&&a[e].exec(c.val(),c)!==!0?(f(!1,c),!1):(f(!0,c),!0)},h=function(a){var b,e,f,h,j,k,d=!0,i=[];for(b=jQuery(a).find("input, textarea, select, fieldset"),j=0,k=b.length;j<k;j++)jQuery(b[j]).hasClass("novalidate")||g(b[j])===!1&&(d=!1,i.push(b[j]));if(jQuery.each(c,function(a,b){b.exec()!==!0&&(d=!1)}),!d&&i.length>0){for(e=Joomla.JText._("JLIB_FORM_FIELD_INVALID"),f={error:[]},j=i.length-1;j>=0;j--)h=jQuery(i[j]).data("label"),h&&f.error.push(e+h.text().replace("*",""));Joomla.renderMessages(f)}return d},i=function(a){var d,c=[],e=jQuery(a);d=e.find("input, textarea, select, fieldset, button");for(var f=0,i=d.length;f<i;f++){var j=jQuery(d[f]),k=j.prop("tagName").toLowerCase();"input"!==k&&"button"!==k||"submit"!==j.attr("type")&&"image"!==j.attr("type")?"button"===k||"input"===k&&"button"===j.attr("type")||(j.hasClass("required")&&j.attr("aria-required","true").attr("required","required"),"fieldset"!==k&&(j.on("blur",function(){return g(this)}),j.hasClass("validate-email")&&b&&d[f].setAttribute("type","email")),c.push(j)):j.hasClass("validate")&&j.on("click",function(){return h(a)})}e.data("inputfields",c)},j=function(){a={},c=c||{},b=function(){var a=document.createElement("input");return a.setAttribute("type","email"),"text"!==a.type}(),d("username",function(a,b){var c=new RegExp("[<|>|\"|'|%|;|(|)|&]","i");return!c.test(a)}),d("password",function(a,b){var c=/^\S[\S ]{2,98}\S$/;return c.test(a)}),d("numeric",function(a,b){var c=/^(\d|-)?(\d|,)*\.?\d*$/;return c.test(a)}),d("email",function(a,b){a=punycode.toASCII(a);var c=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;return c.test(a)});for(var e=jQuery("form.form-validate"),f=0,g=e.length;f<g;f++)i(e[f])};return j(),{isValid:h,validate:g,setHandler:d,attachToForm:i,custom:c}};document.formvalidator=null,jQuery(function(){document.formvalidator=new JFormValidator}); \ No newline at end of file +var JFormValidator=function(){"use strict";var t,e,a,r=function(e,a,r){r=""===r||r,t[e]={enabled:r,exec:a}},n=function(t,e){var a,r,n,i,l=e.data("label");void 0===l&&(a=e.attr("id"),r=e.get(0).form,i=jQuery(r),l=!!a&&((n=i.find("#"+a+"-lbl")).length?n:!!(n=i.find('label[for="'+a+'"]')).length&&n),e.data("label",l)),!1===t?(e.addClass("invalid").attr("aria-invalid","true"),l&&l.addClass("invalid")):(e.removeClass("invalid").attr("aria-invalid","false"),l&&l.removeClass("invalid"))},i=function(e){var a,r=jQuery(e);if(r.attr("disabled"))return n(!0,r),!0;if(r.attr("required")||r.hasClass("required"))if("fieldset"===r.prop("tagName").toLowerCase()&&(r.hasClass("radio")||r.hasClass("checkboxes"))){if(!r.find("input:checked").length)return n(!1,r),!1}else if(!r.val()||r.hasClass("placeholder")||"checkbox"===r.attr("type")&&!r.is(":checked"))return n(!1,r),!1;return a=r.attr("class")&&r.attr("class").match(/validate-([a-zA-Z0-9\_\-]+)/)?r.attr("class").match(/validate-([a-zA-Z0-9\_\-]+)/)[1]:"",r.attr("pattern")&&""!=r.attr("pattern")?r.val().length?(l=new RegExp("^"+r.attr("pattern")+"$").test(r.val()),n(l,r),l):r.attr("required")||r.hasClass("required")?(n(!1,r),!1):(n(!0,r),!0):""===a?(n(!0,r),!0):a&&"none"!==a&&t[a]&&r.val()&&!0!==t[a].exec(r.val(),r)?(n(!1,r),!1):(n(!0,r),!0)},l=function(t){var e,r,n,l,s,u,o=!0,d=[];for(s=0,u=(e=jQuery(t).find("input, textarea, select, fieldset")).length;s<u;s++)jQuery(e[s]).hasClass("novalidate")||!1===i(e[s])&&(o=!1,d.push(e[s]));if(jQuery.each(a,function(t,e){!0!==e.exec()&&(o=!1)}),!o&&d.length>0){for(r=Joomla.JText._("JLIB_FORM_FIELD_INVALID"),n={error:[]},s=d.length-1;s>=0;s--)(l=jQuery(d[s]).data("label"))&&n.error.push(r+l.text().replace("*",""));Joomla.renderMessages(n)}return o},s=function(t){for(var a,r=[],n=jQuery(t),s=0,u=(a=n.find("input, textarea, select, fieldset, button")).length;s<u;s++){var o=jQuery(a[s]),d=o.prop("tagName").toLowerCase();"input"!==d&&"button"!==d||"submit"!==o.attr("type")&&"image"!==o.attr("type")?"button"===d||"input"===d&&"button"===o.attr("type")||(o.hasClass("required")&&o.attr("aria-required","true").attr("required","required"),"fieldset"!==d&&(o.on("blur",function(){return i(this)}),o.hasClass("validate-email")&&e&&a[s].setAttribute("type","email")),r.push(o)):o.hasClass("validate")&&o.on("click",function(){return l(t)})}n.data("inputfields",r)};return function(){var n;t={},a=a||{},(n=document.createElement("input")).setAttribute("type","email"),e="text"!==n.type,r("username",function(t,e){return!new RegExp("[<|>|\"|'|%|;|(|)|&]","i").test(t)}),r("password",function(t,e){return/^\S[\S ]{2,98}\S$/.test(t)}),r("numeric",function(t,e){return/^(\d|-)?(\d|,)*\.?\d*$/.test(t)}),r("email",function(t,e){return t=punycode.toASCII(t),/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)});for(var i=jQuery("form.form-validate"),l=0,u=i.length;l<u;l++)s(i[l])}(),{isValid:l,validate:i,setHandler:r,attachToForm:s,custom:a}};document.formvalidator=null,jQuery(function(){document.formvalidator=new JFormValidator}); From a3d77f5a0c5a83eb42a6dae9754db36b32572bfe Mon Sep 17 00:00:00 2001 From: Fedir Zinchuk <getthesite@gmail.com> Date: Sat, 17 Mar 2018 16:17:54 +0100 Subject: [PATCH 151/255] Fix a subform table layout to be more strict to rows container (#19774) --- layouts/joomla/form/field/subform/repeatable-table.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layouts/joomla/form/field/subform/repeatable-table.php b/layouts/joomla/form/field/subform/repeatable-table.php index cc2cf3bcacf5e..10c09330f9b2c 100644 --- a/layouts/joomla/form/field/subform/repeatable-table.php +++ b/layouts/joomla/form/field/subform/repeatable-table.php @@ -73,7 +73,7 @@ <div class="subform-repeatable" data-bt-add="a.group-add" data-bt-remove="a.group-remove" data-bt-move="a.group-move" data-repeatable-element="tr.subform-repeatable-group" - data-rows-container="tbody" data-minimum="<?php echo $min; ?>" data-maximum="<?php echo $max; ?>"> + data-rows-container="tbody.subform-repeatable-container" data-minimum="<?php echo $min; ?>" data-maximum="<?php echo $max; ?>"> <table class="adminlist table table-striped table-bordered"> <thead> @@ -90,7 +90,7 @@ <?php endif; ?> </tr> </thead> - <tbody> + <tbody class="subform-repeatable-container"> <?php foreach ($forms as $k => $form) : echo $this->sublayout($sublayout, array('form' => $form, 'basegroup' => $fieldname, 'group' => $fieldname . $k, 'buttons' => $buttons)); From f3854d6754f45ebad2534ce483126329843415df Mon Sep 17 00:00:00 2001 From: ReLater <ReLater@users.noreply.github.com> Date: Sat, 17 Mar 2018 16:19:53 +0100 Subject: [PATCH 152/255] mod_breadcrumbs. remove JHtml::bootstrap.tooltip (#19787) --- modules/mod_breadcrumbs/tmpl/default.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/mod_breadcrumbs/tmpl/default.php b/modules/mod_breadcrumbs/tmpl/default.php index f9486bc4defb3..2cfe5108de01a 100644 --- a/modules/mod_breadcrumbs/tmpl/default.php +++ b/modules/mod_breadcrumbs/tmpl/default.php @@ -8,8 +8,6 @@ */ defined('_JEXEC') or die; - -JHtml::_('bootstrap.tooltip'); ?> <ul itemscope itemtype="https://schema.org/BreadcrumbList" class="breadcrumb<?php echo $moduleclass_sfx; ?>"> From 2cc09f5f8fa44347324dcb07f09fd9dddba891fa Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 17 Mar 2018 15:21:16 +0000 Subject: [PATCH 153/255] Debug plugin style (#19790) * Debug plugin style Wrong css on the buttons for Log Category Mode It should be green for the positive action (include) and red for the negative action (exclude) This simple PR ensures that is the case * oops --- plugins/system/debug/debug.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/debug/debug.xml b/plugins/system/debug/debug.xml index 474d32d6664e1..232d4eaa59ed5 100644 --- a/plugins/system/debug/debug.xml +++ b/plugins/system/debug/debug.xml @@ -134,7 +134,7 @@ label="PLG_DEBUG_FIELD_LOG_CATEGORY_MODE_LABEL" description="PLG_DEBUG_FIELD_LOG_CATEGORY_MODE_DESC" default="0" - class="btn-group btn-group-yesno" + class="btn-group btn-group-yesno btn-group-reversed" > <option value="0">PLG_DEBUG_FIELD_LOG_CATEGORY_MODE_INCLUDE</option> <option value="1">PLG_DEBUG_FIELD_LOG_CATEGORY_MODE_EXCLUDE</option> From 5da070d7c4bb4bb2fe6d841b7de836be392e187c Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 17 Mar 2018 15:22:02 +0000 Subject: [PATCH 154/255] Front end menu items translated in error (#19802) * Front end menu items translated in error PR #13606 introduced translatable admin menu item creation but the code didnt check if the menu item was for the frontend or the admin before doing the translation ### Test Instructions 1. Install any additional language eg italian 2. Create a menu item called "Sun" 3. On the list of all the menu items you will see it is displayed as "Dom" - the italian translation 4. Enable language debug 5. On the list of all the menu items you will see all your menu item titles are surrounded by ?? - to indicate no translation found - except for "Dom" which has ** instead to show it has been translated 6. Apply this PR 7. Sun still says Sun 8. There are NO ?? or ** when in language debug mode 9. Bonus - check a custom admin menu item and you will see it can be translated * code style * cs --- administrator/components/com_menus/models/items.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/administrator/components/com_menus/models/items.php b/administrator/components/com_menus/models/items.php index 6b818d7a42199..347e1b5f3bd54 100644 --- a/administrator/components/com_menus/models/items.php +++ b/administrator/components/com_menus/models/items.php @@ -519,6 +519,7 @@ public function getItems() { $items = parent::getItems(); $lang = JFactory::getLanguage(); + $client = $this->state->get('filter.client_id'); if ($items) { @@ -531,7 +532,10 @@ public function getItems() } // Translate component name - $item->title = JText::_($item->title); + if ($client === 1) + { + $item->title = JText::_($item->title); + } } } From 0f632b519a441e9bad987d657dce0cf7beca49c9 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 18 Mar 2018 00:22:42 +0900 Subject: [PATCH 155/255] CodeMirror 5.35.0 (#19809) --- .../codemirror/addon/hint/javascript-hint.js | 4 +- .../addon/hint/javascript-hint.min.js | 2 +- .../codemirror/addon/lint/javascript-lint.js | 2 +- .../addon/lint/javascript-lint.min.js | 2 +- .../addon/search/match-highlighter.js | 2 +- .../addon/search/match-highlighter.min.js | 2 +- .../codemirror/addon/search/searchcursor.js | 18 +- .../addon/search/searchcursor.min.js | 2 +- media/editors/codemirror/keymap/sublime.js | 10 +- .../editors/codemirror/keymap/sublime.min.js | 2 +- media/editors/codemirror/keymap/vim.js | 31 ++-- media/editors/codemirror/keymap/vim.min.js | 6 +- media/editors/codemirror/lib/addons.js | 53 ++++-- media/editors/codemirror/lib/addons.min.js | 8 +- media/editors/codemirror/lib/codemirror.js | 13 +- .../editors/codemirror/lib/codemirror.min.js | 8 +- media/editors/codemirror/mode/clike/clike.js | 14 +- .../codemirror/mode/clike/clike.min.js | 2 +- .../codemirror/mode/dockerfile/dockerfile.js | 168 ++++++++++++++++-- .../mode/dockerfile/dockerfile.min.js | 2 +- .../codemirror/mode/haskell/haskell.js | 13 +- .../codemirror/mode/haskell/haskell.min.js | 2 +- .../codemirror/mode/javascript/javascript.js | 7 +- .../mode/javascript/javascript.min.js | 2 +- .../mode/mathematica/mathematica.js | 4 +- .../mode/mathematica/mathematica.min.js | 2 +- media/editors/codemirror/mode/meta.js | 2 +- media/editors/codemirror/mode/meta.min.js | 2 +- media/editors/codemirror/mode/nsis/nsis.js | 4 +- .../editors/codemirror/mode/nsis/nsis.min.js | 2 +- .../editors/codemirror/mode/python/python.js | 14 +- .../codemirror/mode/python/python.min.js | 2 +- media/editors/codemirror/mode/sql/sql.js | 6 +- media/editors/codemirror/mode/sql/sql.min.js | 2 +- media/editors/codemirror/mode/stex/stex.js | 12 ++ .../editors/codemirror/mode/stex/stex.min.js | 2 +- media/editors/codemirror/mode/yaml/yaml.js | 3 +- .../editors/codemirror/mode/yaml/yaml.min.js | 2 +- plugins/editors/codemirror/codemirror.xml | 2 +- 39 files changed, 312 insertions(+), 124 deletions(-) diff --git a/media/editors/codemirror/addon/hint/javascript-hint.js b/media/editors/codemirror/addon/hint/javascript-hint.js index d7088c191b160..9c39b168e966f 100644 --- a/media/editors/codemirror/addon/hint/javascript-hint.js +++ b/media/editors/codemirror/addon/hint/javascript-hint.js @@ -92,8 +92,8 @@ var arrayProps = ("length concat join splice push pop shift unshift slice reverse sort indexOf " + "lastIndexOf every some filter forEach map reduce reduceRight ").split(" "); var funcProps = "prototype apply call bind".split(" "); - var javascriptKeywords = ("break case catch continue debugger default delete do else false finally for function " + - "if in instanceof new null return switch throw true try typeof var void while with").split(" "); + var javascriptKeywords = ("break case catch class const continue debugger default delete do else export extends false finally for function " + + "if in import instanceof new null return super switch this throw true try typeof var void while with yield").split(" "); var coffeescriptKeywords = ("and break catch class continue delete do else extends false finally for " + "if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes").split(" "); diff --git a/media/editors/codemirror/addon/hint/javascript-hint.min.js b/media/editors/codemirror/addon/hint/javascript-hint.min.js index f5a5ec37d1089..da75e21620ed0 100644 --- a/media/editors/codemirror/addon/hint/javascript-hint.min.js +++ b/media/editors/codemirror/addon/hint/javascript-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){for(var c=0,d=a.length;c<d;++c)b(a[c])}function c(a,b){if(!Array.prototype.indexOf){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}return a.indexOf(b)!=-1}function d(b,c,d,e){var f=b.getCursor(),g=d(b,f);if(!/\b(?:string|comment)\b/.test(g.type)){g.state=a.innerMode(b.getMode(),g.state).state,/^[\w$_]*$/.test(g.string)?g.end>f.ch&&(g.end=f.ch,g.string=g.string.slice(0,f.ch-g.start)):g={start:f.ch,end:f.ch,string:"",state:g.state,type:"."==g.string?"property":null};for(var h=g;"property"==h.type;){if(h=d(b,j(f.line,h.start)),"."!=h.string)return;if(h=d(b,j(f.line,h.start)),!k)var k=[];k.push(h)}return{list:i(g,k,c,e),from:j(f.line,g.start),to:j(f.line,g.end)}}}function e(a,b){return d(a,n,(function(a,b){return a.getTokenAt(b)}),b)}function f(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type="property",c.start++,c.string=c.string.replace(/\./,"")),c}function g(a,b){return d(a,o,f,b)}function h(a,b){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var c=a;c;c=Object.getPrototypeOf(c))Object.getOwnPropertyNames(c).forEach(b);else for(var d in a)b(d)}function i(a,d,e,f){function g(a){0!=a.lastIndexOf(n,0)||c(j,a)||j.push(a)}function i(a){"string"==typeof a?b(k,g):a instanceof Array?b(l,g):a instanceof Function&&b(m,g),h(a,g)}var j=[],n=a.string,o=f&&f.globalScope||window;if(d&&d.length){var p,q=d.pop();for(q.type&&0===q.type.indexOf("variable")?(f&&f.additionalContext&&(p=f.additionalContext[q.string]),f&&f.useGlobalScope===!1||(p=p||o[q.string])):"string"==q.type?p="":"atom"==q.type?p=1:"function"==q.type&&(null==o.jQuery||"$"!=q.string&&"jQuery"!=q.string||"function"!=typeof o.jQuery?null!=o._&&"_"==q.string&&"function"==typeof o._&&(p=o._()):p=o.jQuery());null!=p&&d.length;)p=p[d.pop().string];null!=p&&i(p)}else{for(var r=a.state.localVars;r;r=r.next)g(r.name);for(var r=a.state.globalVars;r;r=r.next)g(r.name);f&&f.useGlobalScope===!1||i(o),b(e,g)}return j}var j=a.Pos;a.registerHelper("hint","javascript",e),a.registerHelper("hint","coffeescript",g);var k="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),l="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),m="prototype apply call bind".split(" "),n="break case catch continue debugger default delete do else false finally for function if in instanceof new null return switch throw true try typeof var void while with".split(" "),o="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){for(var c=0,d=a.length;c<d;++c)b(a[c])}function c(a,b){if(!Array.prototype.indexOf){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}return a.indexOf(b)!=-1}function d(b,c,d,e){var f=b.getCursor(),g=d(b,f);if(!/\b(?:string|comment)\b/.test(g.type)){g.state=a.innerMode(b.getMode(),g.state).state,/^[\w$_]*$/.test(g.string)?g.end>f.ch&&(g.end=f.ch,g.string=g.string.slice(0,f.ch-g.start)):g={start:f.ch,end:f.ch,string:"",state:g.state,type:"."==g.string?"property":null};for(var h=g;"property"==h.type;){if(h=d(b,j(f.line,h.start)),"."!=h.string)return;if(h=d(b,j(f.line,h.start)),!k)var k=[];k.push(h)}return{list:i(g,k,c,e),from:j(f.line,g.start),to:j(f.line,g.end)}}}function e(a,b){return d(a,n,(function(a,b){return a.getTokenAt(b)}),b)}function f(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type="property",c.start++,c.string=c.string.replace(/\./,"")),c}function g(a,b){return d(a,o,f,b)}function h(a,b){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var c=a;c;c=Object.getPrototypeOf(c))Object.getOwnPropertyNames(c).forEach(b);else for(var d in a)b(d)}function i(a,d,e,f){function g(a){0!=a.lastIndexOf(n,0)||c(j,a)||j.push(a)}function i(a){"string"==typeof a?b(k,g):a instanceof Array?b(l,g):a instanceof Function&&b(m,g),h(a,g)}var j=[],n=a.string,o=f&&f.globalScope||window;if(d&&d.length){var p,q=d.pop();for(q.type&&0===q.type.indexOf("variable")?(f&&f.additionalContext&&(p=f.additionalContext[q.string]),f&&f.useGlobalScope===!1||(p=p||o[q.string])):"string"==q.type?p="":"atom"==q.type?p=1:"function"==q.type&&(null==o.jQuery||"$"!=q.string&&"jQuery"!=q.string||"function"!=typeof o.jQuery?null!=o._&&"_"==q.string&&"function"==typeof o._&&(p=o._()):p=o.jQuery());null!=p&&d.length;)p=p[d.pop().string];null!=p&&i(p)}else{for(var r=a.state.localVars;r;r=r.next)g(r.name);for(var r=a.state.globalVars;r;r=r.next)g(r.name);f&&f.useGlobalScope===!1||i(o),b(e,g)}return j}var j=a.Pos;a.registerHelper("hint","javascript",e),a.registerHelper("hint","coffeescript",g);var k="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),l="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),m="prototype apply call bind".split(" "),n="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),o="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/lint/javascript-lint.js b/media/editors/codemirror/addon/lint/javascript-lint.js index 9d2eb7410c05f..8266b7e747a8a 100644 --- a/media/editors/codemirror/addon/lint/javascript-lint.js +++ b/media/editors/codemirror/addon/lint/javascript-lint.js @@ -51,7 +51,7 @@ // Convert to format expected by validation service var hint = { message: error.reason, - severity: error.code.startsWith('W') ? "warning" : "error", + severity: error.code ? (error.code.startsWith('W') ? "warning" : "error") : "error", from: CodeMirror.Pos(error.line - 1, start), to: CodeMirror.Pos(error.line - 1, end) }; diff --git a/media/editors/codemirror/addon/lint/javascript-lint.min.js b/media/editors/codemirror/addon/lint/javascript-lint.min.js index aa903ae210265..640c8ff26a5ec 100644 --- a/media/editors/codemirror/addon/lint/javascript-lint.min.js +++ b/media/editors/codemirror/addon/lint/javascript-lint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){if(!window.JSHINT)return window.console&&window.console.error("Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run."),[];b.indent||(b.indent=1),JSHINT(a,b,b.globals);var d=JSHINT.data().errors,e=[];return d&&c(d,e),e}function c(b,c){for(var d=0;d<b.length;d++){var e=b[d];if(e){if(e.line<=0){window.console&&window.console.warn("Cannot display JSHint error (invalid line "+e.line+")",e);continue}var f=e.character-1,g=f+1;if(e.evidence){var h=e.evidence.substring(f).search(/.\b/);h>-1&&(g+=h)}var i={message:e.reason,severity:e.code.startsWith("W")?"warning":"error",from:a.Pos(e.line-1,f),to:a.Pos(e.line-1,g)};c.push(i)}}}a.registerHelper("lint","javascript",b)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){if(!window.JSHINT)return window.console&&window.console.error("Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run."),[];b.indent||(b.indent=1),JSHINT(a,b,b.globals);var d=JSHINT.data().errors,e=[];return d&&c(d,e),e}function c(b,c){for(var d=0;d<b.length;d++){var e=b[d];if(e){if(e.line<=0){window.console&&window.console.warn("Cannot display JSHint error (invalid line "+e.line+")",e);continue}var f=e.character-1,g=f+1;if(e.evidence){var h=e.evidence.substring(f).search(/.\b/);h>-1&&(g+=h)}var i={message:e.reason,severity:e.code&&e.code.startsWith("W")?"warning":"error",from:a.Pos(e.line-1,f),to:a.Pos(e.line-1,g)};c.push(i)}}}a.registerHelper("lint","javascript",b)})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/search/match-highlighter.js b/media/editors/codemirror/addon/search/match-highlighter.js index 73ba0e0537090..35221711790ee 100644 --- a/media/editors/codemirror/addon/search/match-highlighter.js +++ b/media/editors/codemirror/addon/search/match-highlighter.js @@ -90,7 +90,7 @@ var state = cm.state.matchHighlighter; cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style)); if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) { - var searchFor = hasBoundary ? new RegExp("\\b" + query + "\\b") : query; + var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[+*?(){|^$]/g, "\\$&") + "\\b") : query; state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false, {className: "CodeMirror-selection-highlight-scrollbar"}); } diff --git a/media/editors/codemirror/addon/search/match-highlighter.min.js b/media/editors/codemirror/addon/search/match-highlighter.min.js index 9f8df563fc5c2..360a309911c16 100644 --- a/media/editors/codemirror/addon/search/match-highlighter.min.js +++ b/media/editors/codemirror/addon/search/match-highlighter.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/search/searchcursor.js b/media/editors/codemirror/addon/search/searchcursor.js index 58bc47c2c3e67..e606c5e7cf59a 100644 --- a/media/editors/codemirror/addon/search/searchcursor.js +++ b/media/editors/codemirror/addon/search/searchcursor.js @@ -19,8 +19,11 @@ + (regexp.multiline ? "m" : "") } - function ensureGlobal(regexp) { - return regexp.global ? regexp : new RegExp(regexp.source, regexpFlags(regexp) + "g") + function ensureFlags(regexp, flags) { + var current = regexpFlags(regexp), target = current + for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1) + target += flags.charAt(i) + return current == target ? regexp : new RegExp(regexp.source, target) } function maybeMultiline(regexp) { @@ -28,7 +31,7 @@ } function searchRegexpForward(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) { regexp.lastIndex = ch var string = doc.getLine(line), match = regexp.exec(string) @@ -42,7 +45,7 @@ function searchRegexpForwardMultiline(doc, regexp, start) { if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start) - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "gm") var string, chunk = 1 for (var line = start.line, last = doc.lastLine(); line <= last;) { // This grows the search buffer in exponentially-sized chunks @@ -51,6 +54,7 @@ // searching for something that has tons of matches), but at the // same time, the amount of retries is limited. for (var i = 0; i < chunk; i++) { + if (line > last) break var curLine = doc.getLine(line++) string = string == null ? curLine : string + "\n" + curLine } @@ -81,7 +85,7 @@ } function searchRegexpBackward(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) { var string = doc.getLine(line) if (ch > -1) string = string.slice(0, ch) @@ -94,7 +98,7 @@ } function searchRegexpBackwardMultiline(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "gm") var string, chunk = 1 for (var line = start.line, first = doc.firstLine(); line >= first;) { for (var i = 0; i < chunk; i++) { @@ -213,7 +217,7 @@ return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold) } } else { - query = ensureGlobal(query) + query = ensureFlags(query, "gm") if (!options || options.multiline !== false) this.matches = function(reverse, pos) { return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos) diff --git a/media/editors/codemirror/addon/search/searchcursor.min.js b/media/editors/codemirror/addon/search/searchcursor.min.js index ece483d8c5993..7849ffabad73a 100644 --- a/media/editors/codemirror/addon/search/searchcursor.min.js +++ b/media/editors/codemirror/addon/search/searchcursor.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/sublime.js b/media/editors/codemirror/keymap/sublime.js index 7a9aadd330979..aa9b65e3b16d4 100644 --- a/media/editors/codemirror/keymap/sublime.js +++ b/media/editors/codemirror/keymap/sublime.js @@ -156,8 +156,14 @@ var ranges = cm.listSelections(), newRanges = []; for (var i = 0; i < ranges.length; i++) { var range = ranges[i]; - var newAnchor = cm.findPosV(range.anchor, dir, "line"); - var newHead = cm.findPosV(range.head, dir, "line"); + var newAnchor = cm.findPosV( + range.anchor, dir, "line", range.anchor.goalColumn); + var newHead = cm.findPosV( + range.head, dir, "line", range.head.goalColumn); + newAnchor.goalColumn = range.anchor.goalColumn != null ? + range.anchor.goalColumn : cm.cursorCoords(range.anchor, "div").left; + newHead.goalColumn = range.head.goalColumn != null ? + range.head.goalColumn : cm.cursorCoords(range.head, "div").left; var newRange = {anchor: newAnchor, head: newHead}; newRanges.push(range); newRanges.push(newRange); diff --git a/media/editors/codemirror/keymap/sublime.min.js b/media/editors/codemirror/keymap/sublime.min.js index eceb98e0f8912..1a1936c9012fd 100644 --- a/media/editors/codemirror/keymap/sublime.min.js +++ b/media/editors/codemirror/keymap/sublime.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(n(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(n(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return n(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=n(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:n(c.line,d),to:n(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line"),h=a.findPosV(f.head,b,"line"),i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(b){for(var c=b.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=f.head,h=b.scanForBracket(g,-1);if(!h)return!1;for(;;){var i=b.scanForBracket(g,1);if(!i)return!1;if(i.ch==o.charAt(o.indexOf(h.ch)+1)){var j=n(h.pos.line,h.pos.ch+1);if(0!=a.cmpPos(j,f.from())||0!=a.cmpPos(i.pos,f.to())){d.push({anchor:j,head:i.pos});break}if(h=b.scanForBracket(h.pos,-1),!h)return!1}g=n(i.pos.line,i.pos.ch+1)}}return b.setSelections(d),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=n(g,0),j=n(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:n(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?n(a.firstLine(),0):a.clipPos(n(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.commands,n=a.Pos;m.goSubwordLeft=function(a){c(a,-1)},m.goSubwordRight=function(a){c(a,1)},m.scrollLineUp=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},m.scrollLineDown=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},m.splitSelectionByLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:n(g,0),head:g==f.line?f:n(g)});a.setSelections(c,0)},m.singleSelectionTop=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},m.selectLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:n(e.from().line,0),head:n(e.to().line+1,0)})}a.setSelections(c)},m.insertLineAfter=function(a){return d(a,!1)},m.insertLineBefore=function(a){return d(a,!0)},m.selectNextOccurrence=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,n(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)},m.addCursorToPrevLine=function(a){f(a,-1)},m.addCursorToNextLine=function(a){f(a,1)};var o="(){}[]";m.selectScope=function(a){h(a)||a.execCommand("selectAll")},m.selectBetweenBrackets=function(b){if(!h(b))return a.Pass},m.goToBracket=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&n(e.pos.line,e.pos.ch+1)||c.head}))},m.swapLineUp=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:n(h.anchor.line-1,h.anchor.ch),head:n(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,n(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",n(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},m.swapLineDown=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",n(c-1),n(c),"+swapLine"):b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),b.replaceRange(f+"\n",n(e,0),null,"+swapLine")}b.scrollIntoView()}))},m.toggleCommentIndented=function(a){a.toggleComment({indent:!0})},m.joinLines=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&n(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=n(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",n(j),n(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},m.duplicateLine=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",n(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},m.sortLines=function(a){i(a,!0)},m.sortLinesInsensitive=function(a){i(a,!1)},m.nextBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},m.prevBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},m.toggleBookmark=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=b[d].empty()?a.findMarksAt(e):a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},m.clearBookmarks=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},m.selectBookmarks=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m.smartBackspace=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new n(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},m.delLineRight=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,n(b[c].to().line),"+delete");a.scrollIntoView()}))},m.upcaseAtCursor=function(a){j(a,(function(a){return a.toUpperCase()}))},m.downcaseAtCursor=function(a){j(a,(function(a){return a.toLowerCase()}))},m.setSublimeMark=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},m.selectToSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},m.deleteToSublimeMark=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},m.swapWithSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},m.sublimeYank=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m.showInCenter=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)},m.findUnder=function(a){l(a,!0)},m.findUnderPrevious=function(a){l(a,!1)},m.findAllUnder=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}};var p=a.keyMap;p.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},a.normalizeKeyMap(p.macSublime),p.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},a.normalizeKeyMap(p.pcSublime);var q=p.default==p.macDefault;p.sublime=q?p.macSublime:p.pcSublime})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/edit/matchbrackets")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){if(d<0&&0==c.ch)return b.clipPos(n(c.line-1));var e=b.getLine(c.line);if(d>0&&c.ch>=e.length)return b.clipPos(n(c.line+1,0));for(var f,g="start",h=c.ch,i=d<0?0:e.length,j=0;h!=i;h+=d,j++){var k=e.charAt(d<0?h-1:h),l="_"!=k&&a.isWordChar(k)?"w":"o";if("w"==l&&k.toUpperCase()==k&&(l="W"),"start"==g)"o"!=l&&(g="in",f=l);else if("in"==g&&f!=l){if("w"==f&&"W"==l&&d<0&&h--,"W"==f&&"w"==l&&d>0){f="w";continue}break}}return n(c.line,h)}function c(a,c){a.extendSelectionsBy((function(d){return a.display.shift||a.doc.extend||d.empty()?b(a.doc,d.head,c):c<0?d.from():d.to()}))}function d(b,c){return b.isReadOnly()?a.Pass:(b.operation((function(){for(var a=b.listSelections().length,d=[],e=-1,f=0;f<a;f++){var g=b.listSelections()[f].head;if(!(g.line<=e)){var h=n(g.line+(c?0:1),0);b.replaceRange("\n",h,null,"+insertLine"),b.indentLine(h.line,null,!0),d.push({head:h,anchor:h}),e=g.line+1}}b.setSelections(d)})),void b.execCommand("indentAuto"))}function e(b,c){for(var d=c.ch,e=d,f=b.getLine(c.line);d&&a.isWordChar(f.charAt(d-1));)--d;for(;e<f.length&&a.isWordChar(f.charAt(e));)++e;return{from:n(c.line,d),to:n(c.line,e),word:f.slice(d,e)}}function f(a,b){for(var c=a.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=a.findPosV(f.anchor,b,"line",f.anchor.goalColumn),h=a.findPosV(f.head,b,"line",f.head.goalColumn);g.goalColumn=null!=f.anchor.goalColumn?f.anchor.goalColumn:a.cursorCoords(f.anchor,"div").left,h.goalColumn=null!=f.head.goalColumn?f.head.goalColumn:a.cursorCoords(f.head,"div").left;var i={anchor:g,head:h};d.push(f),d.push(i)}a.setSelections(d)}function g(a,b,c){for(var d=0;d<a.length;d++)if(a[d].from()==b&&a[d].to()==c)return!0;return!1}function h(b){for(var c=b.listSelections(),d=[],e=0;e<c.length;e++){var f=c[e],g=f.head,h=b.scanForBracket(g,-1);if(!h)return!1;for(;;){var i=b.scanForBracket(g,1);if(!i)return!1;if(i.ch==o.charAt(o.indexOf(h.ch)+1)){var j=n(h.pos.line,h.pos.ch+1);if(0!=a.cmpPos(j,f.from())||0!=a.cmpPos(i.pos,f.to())){d.push({anchor:j,head:i.pos});break}if(h=b.scanForBracket(h.pos,-1),!h)return!1}g=n(i.pos.line,i.pos.ch+1)}}return b.setSelections(d),!0}function i(b,c){if(b.isReadOnly())return a.Pass;for(var d,e=b.listSelections(),f=[],g=0;g<e.length;g++){var h=e[g];if(!h.empty()){for(var i=h.from().line,j=h.to().line;g<e.length-1&&e[g+1].from().line==j;)j=e[++g].to().line;e[g].to().ch||j--,f.push(i,j)}}f.length?d=!0:f.push(b.firstLine(),b.lastLine()),b.operation((function(){for(var a=[],e=0;e<f.length;e+=2){var g=f[e],h=f[e+1],i=n(g,0),j=n(h),k=b.getRange(i,j,!1);c?k.sort():k.sort((function(a,b){var c=a.toUpperCase(),d=b.toUpperCase();return c!=d&&(a=c,b=d),a<b?-1:a==b?0:1})),b.replaceRange(k,i,j),d&&a.push({anchor:i,head:n(h+1,0)})}d&&b.setSelections(a,0)}))}function j(b,c){b.operation((function(){for(var d=b.listSelections(),f=[],g=[],h=0;h<d.length;h++){var i=d[h];i.empty()?(f.push(h),g.push("")):g.push(c(b.getRange(i.from(),i.to())))}b.replaceSelections(g,"around","case");for(var j,h=f.length-1;h>=0;h--){var i=d[f[h]];if(!(j&&a.cmpPos(i.head,j)>0)){var k=e(b,i.head);j=k.from,b.replaceRange(c(k.word),k.from,k.to)}}}))}function k(b){var c=b.getCursor("from"),d=b.getCursor("to");if(0==a.cmpPos(c,d)){var f=e(b,c);if(!f.word)return;c=f.from,d=f.to}return{from:c,to:d,query:b.getRange(c,d),word:f}}function l(a,b){var c=k(a);if(c){var d=c.query,e=a.getSearchCursor(d,b?c.to:c.from);(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):(e=a.getSearchCursor(d,b?n(a.firstLine(),0):a.clipPos(n(a.lastLine()))),(b?e.findNext():e.findPrevious())?a.setSelection(e.from(),e.to()):c.word&&a.setSelection(c.from,c.to))}}var m=a.commands,n=a.Pos;m.goSubwordLeft=function(a){c(a,-1)},m.goSubwordRight=function(a){c(a,1)},m.scrollLineUp=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top+b.clientHeight,"local");a.getCursor().line>=c&&a.execCommand("goLineUp")}a.scrollTo(null,b.top-a.defaultTextHeight())},m.scrollLineDown=function(a){var b=a.getScrollInfo();if(!a.somethingSelected()){var c=a.lineAtHeight(b.top,"local")+1;a.getCursor().line<=c&&a.execCommand("goLineDown")}a.scrollTo(null,b.top+a.defaultTextHeight())},m.splitSelectionByLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)for(var e=b[d].from(),f=b[d].to(),g=e.line;g<=f.line;++g)f.line>e.line&&g==f.line&&0==f.ch||c.push({anchor:g==e.line?e:n(g,0),head:g==f.line?f:n(g)});a.setSelections(c,0)},m.singleSelectionTop=function(a){var b=a.listSelections()[0];a.setSelection(b.anchor,b.head,{scroll:!1})},m.selectLine=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d];c.push({anchor:n(e.from().line,0),head:n(e.to().line+1,0)})}a.setSelections(c)},m.insertLineAfter=function(a){return d(a,!1)},m.insertLineBefore=function(a){return d(a,!0)},m.selectNextOccurrence=function(b){var c=b.getCursor("from"),d=b.getCursor("to"),f=b.state.sublimeFindFullWord==b.doc.sel;if(0==a.cmpPos(c,d)){var h=e(b,c);if(!h.word)return;b.setSelection(h.from,h.to),f=!0}else{var i=b.getRange(c,d),j=f?new RegExp("\\b"+i+"\\b"):i,k=b.getSearchCursor(j,d),l=k.findNext();if(l||(k=b.getSearchCursor(j,n(b.firstLine(),0)),l=k.findNext()),!l||g(b.listSelections(),k.from(),k.to()))return a.Pass;b.addSelection(k.from(),k.to())}f&&(b.state.sublimeFindFullWord=b.doc.sel)},m.addCursorToPrevLine=function(a){f(a,-1)},m.addCursorToNextLine=function(a){f(a,1)};var o="(){}[]";m.selectScope=function(a){h(a)||a.execCommand("selectAll")},m.selectBetweenBrackets=function(b){if(!h(b))return a.Pass},m.goToBracket=function(b){b.extendSelectionsBy((function(c){var d=b.scanForBracket(c.head,1);if(d&&0!=a.cmpPos(d.pos,c.head))return d.pos;var e=b.scanForBracket(c.head,-1);return e&&n(e.pos.line,e.pos.ch+1)||c.head}))},m.swapLineUp=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.firstLine()-1,f=[],g=0;g<c.length;g++){var h=c[g],i=h.from().line-1,j=h.to().line;f.push({anchor:n(h.anchor.line-1,h.anchor.ch),head:n(h.head.line-1,h.head.ch)}),0!=h.to().ch||h.empty()||--j,i>e?d.push(i,j):d.length&&(d[d.length-1]=j),e=j}b.operation((function(){for(var a=0;a<d.length;a+=2){var c=d[a],e=d[a+1],g=b.getLine(c);b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),e>b.lastLine()?b.replaceRange("\n"+g,n(b.lastLine()),null,"+swapLine"):b.replaceRange(g+"\n",n(e,0),null,"+swapLine")}b.setSelections(f),b.scrollIntoView()}))},m.swapLineDown=function(b){if(b.isReadOnly())return a.Pass;for(var c=b.listSelections(),d=[],e=b.lastLine()+1,f=c.length-1;f>=0;f--){var g=c[f],h=g.to().line+1,i=g.from().line;0!=g.to().ch||g.empty()||h--,h<e?d.push(h,i):d.length&&(d[d.length-1]=i),e=i}b.operation((function(){for(var a=d.length-2;a>=0;a-=2){var c=d[a],e=d[a+1],f=b.getLine(c);c==b.lastLine()?b.replaceRange("",n(c-1),n(c),"+swapLine"):b.replaceRange("",n(c,0),n(c+1,0),"+swapLine"),b.replaceRange(f+"\n",n(e,0),null,"+swapLine")}b.scrollIntoView()}))},m.toggleCommentIndented=function(a){a.toggleComment({indent:!0})},m.joinLines=function(a){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){for(var e=b[d],f=e.from(),g=f.line,h=e.to().line;d<b.length-1&&b[d+1].from().line==h;)h=b[++d].to().line;c.push({start:g,end:h,anchor:!e.empty()&&f})}a.operation((function(){for(var b=0,d=[],e=0;e<c.length;e++){for(var f,g=c[e],h=g.anchor&&n(g.anchor.line-b,g.anchor.ch),i=g.start;i<=g.end;i++){var j=i-b;i==g.end&&(f=n(j,a.getLine(j).length+1)),j<a.lastLine()&&(a.replaceRange(" ",n(j),n(j+1,/^\s*/.exec(a.getLine(j+1))[0].length)),++b)}d.push({anchor:h||f,head:f})}a.setSelections(d,0)}))},m.duplicateLine=function(a){a.operation((function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];d.empty()?a.replaceRange(a.getLine(d.head.line)+"\n",n(d.head.line,0)):a.replaceRange(a.getRange(d.from(),d.to()),d.from())}a.scrollIntoView()}))},m.sortLines=function(a){i(a,!0)},m.sortLinesInsensitive=function(a){i(a,!1)},m.nextBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){var c=b.shift(),d=c.find();if(d)return b.push(c),a.setSelection(d.from,d.to)}},m.prevBookmark=function(a){var b=a.state.sublimeBookmarks;if(b)for(;b.length;){b.unshift(b.pop());var c=b[b.length-1].find();if(c)return a.setSelection(c.from,c.to);b.pop()}},m.toggleBookmark=function(a){for(var b=a.listSelections(),c=a.state.sublimeBookmarks||(a.state.sublimeBookmarks=[]),d=0;d<b.length;d++){for(var e=b[d].from(),f=b[d].to(),g=b[d].empty()?a.findMarksAt(e):a.findMarks(e,f),h=0;h<g.length;h++)if(g[h].sublimeBookmark){g[h].clear();for(var i=0;i<c.length;i++)c[i]==g[h]&&c.splice(i--,1);break}h==g.length&&c.push(a.markText(e,f,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},m.clearBookmarks=function(a){var b=a.state.sublimeBookmarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();b.length=0},m.selectBookmarks=function(a){var b=a.state.sublimeBookmarks,c=[];if(b)for(var d=0;d<b.length;d++){var e=b[d].find();e?c.push({anchor:e.from,head:e.to}):b.splice(d--,0)}c.length&&a.setSelections(c,0)},m.smartBackspace=function(b){return b.somethingSelected()?a.Pass:void b.operation((function(){for(var c=b.listSelections(),d=b.getOption("indentUnit"),e=c.length-1;e>=0;e--){var f=c[e].head,g=b.getRange({line:f.line,ch:0},f),h=a.countColumn(g,null,b.getOption("tabSize")),i=b.findPosH(f,-1,"char",!1);if(g&&!/\S/.test(g)&&h%d==0){var j=new n(f.line,a.findColumn(g,h-d,d));j.ch!=f.ch&&(i=j)}b.replaceRange("",i,f,"+delete")}}))},m.delLineRight=function(a){a.operation((function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange("",b[c].anchor,n(b[c].to().line),"+delete");a.scrollIntoView()}))},m.upcaseAtCursor=function(a){j(a,(function(a){return a.toUpperCase()}))},m.downcaseAtCursor=function(a){j(a,(function(a){return a.toLowerCase()}))},m.setSublimeMark=function(a){a.state.sublimeMark&&a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor())},m.selectToSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&a.setSelection(a.getCursor(),b)},m.deleteToSublimeMark=function(b){var c=b.state.sublimeMark&&b.state.sublimeMark.find();if(c){var d=b.getCursor(),e=c;if(a.cmpPos(d,e)>0){var f=e;e=d,d=f}b.state.sublimeKilled=b.getRange(d,e),b.replaceRange("",d,e)}},m.swapWithSublimeMark=function(a){var b=a.state.sublimeMark&&a.state.sublimeMark.find();b&&(a.state.sublimeMark.clear(),a.state.sublimeMark=a.setBookmark(a.getCursor()),a.setCursor(b))},m.sublimeYank=function(a){null!=a.state.sublimeKilled&&a.replaceSelection(a.state.sublimeKilled,null,"paste")},m.showInCenter=function(a){var b=a.cursorCoords(null,"local");a.scrollTo(null,(b.top+b.bottom)/2-a.getScrollInfo().clientHeight/2)},m.findUnder=function(a){l(a,!0)},m.findUnderPrevious=function(a){l(a,!1)},m.findAllUnder=function(a){var b=k(a);if(b){for(var c=a.getSearchCursor(b.query),d=[],e=-1;c.findNext();)d.push({anchor:c.from(),head:c.to()}),c.from().line<=b.from.line&&c.from().ch<=b.from.ch&&e++;a.setSelections(d,e)}};var p=a.keyMap;p.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},a.normalizeKeyMap(p.macSublime),p.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},a.normalizeKeyMap(p.pcSublime);var q=p.default==p.macDefault;p.sublime=q?p.macSublime:p.pcSublime})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/vim.js b/media/editors/codemirror/keymap/vim.js index b082268183720..529654a3b5387 100644 --- a/media/editors/codemirror/keymap/vim.js +++ b/media/editors/codemirror/keymap/vim.js @@ -841,7 +841,7 @@ } function handleKeyNonInsertMode() { - if (handleMacroRecording() || handleEsc()) { return true; }; + if (handleMacroRecording() || handleEsc()) { return true; } var keys = vim.inputState.keyBuffer = vim.inputState.keyBuffer + key; if (/^[1-9]\d*$/.test(keys)) { return true; } @@ -1426,7 +1426,7 @@ } else { if (vim.visualMode) { showPrompt(cm, { onClose: onPromptClose, prefix: ':', value: '\'<,\'>', - onKeyDown: onPromptKeyDown}); + onKeyDown: onPromptKeyDown, selectValueOnOpen: false}); } else { showPrompt(cm, { onClose: onPromptClose, prefix: ':', onKeyDown: onPromptKeyDown}); @@ -3683,7 +3683,15 @@ } } function splitBySlash(argString) { - var slashes = findUnescapedSlashes(argString) || []; + return splitBySeparator(argString, '/'); + } + + function findUnescapedSlashes(argString) { + return findUnescapedSeparators(argString, '/'); + } + + function splitBySeparator(argString, separator) { + var slashes = findUnescapedSeparators(argString, separator) || []; if (!slashes.length) return []; var tokens = []; // in case of strings like foo/bar @@ -3695,12 +3703,15 @@ return tokens; } - function findUnescapedSlashes(str) { + function findUnescapedSeparators(str, separator) { + if (!separator) + separator = '/'; + var escapeNextChar = false; var slashes = []; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); - if (!escapeNextChar && c == '/') { + if (!escapeNextChar && c == separator) { slashes.push(i); } escapeNextChar = !escapeNextChar && (c == '\\'); @@ -4566,7 +4577,7 @@ 'any other getSearchCursor implementation.'); } var argString = params.argString; - var tokens = argString ? splitBySlash(argString) : []; + var tokens = argString ? splitBySeparator(argString, argString[0]) : []; var regexPart, replacePart = '', trailing, flagsPart, count; var confirm = false; // Whether to confirm each replace. var global = false; // True to replace all instances on a line, false to replace only 1. @@ -4610,7 +4621,7 @@ global = true; flagsPart.replace('g', ''); } - regexPart = regexPart + '/' + flagsPart; + regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart; } } if (regexPart) { @@ -4826,7 +4837,7 @@ } if (!confirm) { replaceAll(); - if (callback) { callback(); }; + if (callback) { callback(); } return; } showPrompt(cm, { @@ -4962,7 +4973,7 @@ exitInsertMode(cm); } } - }; + } macroModeState.isPlaying = false; } @@ -5166,7 +5177,7 @@ exitInsertMode(cm); } macroModeState.isPlaying = false; - }; + } function repeatInsertModeChanges(cm, changes, repeat) { function keyHandler(binding) { diff --git a/media/editors/codemirror/keymap/vim.min.js b/media/editors/codemirror/keymap/vim.min.js index de60763a08ec8..326f5a1c830c5 100644 --- a/media/editors/codemirror/keymap/vim.min.js +++ b/media/editors/codemirror/keymap/vim.min.js @@ -1,3 +1,3 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[": -n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g), -(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",hb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",hb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ob?b[e]=ob[f]:d=!0,f in pb&&(b[e]=pb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Hb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return qb.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),yb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)yb[d[f]]=yb[a];b&&y(a,b)}function y(a,b,c,d){var e=yb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=yb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ab()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){Bb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:zb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in yb){var b=yb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=Bb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,xb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Fb[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Gb[a]=b}function M(a,b){Hb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),ib(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?rb[0]:sb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=sb[0]:(j=rb[0],j(h.charAt(i))||(j=rb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||Bb.jumpList.add(a,b,c)}function sa(a,b){Bb.lastCharacterSearch.increment=a,Bb.lastCharacterSearch.forward=b.forward,Bb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Ib[e];if(!m)return f;var n=Jb[m].init,o=Jb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?sb:rb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,wb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){return Ia(a,"/")}function Ha(a){return Ja(a,"/")}function Ia(a,b){var c=Ja(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function Ja(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Ka(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function La(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Kb[e+f]?(c.push(Kb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ma(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Lb)if(c.match(f,!0)){e=!0,d.push(Lb[f]);break}e||d.push(c.next())}return d.join("")}function Na(a,b,c){var d=Bb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ka(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Oa(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Pa(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Qa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Pa(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Ra(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Sa(a,b,c,d){if(b){var e=Ea(a),f=Na(b,!!c,!!d);if(f)return Ua(a,f),Ra(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ta(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Ua(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ta(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Va(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Wa(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Xa(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Ya(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Za(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function $a(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Xa(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0, +b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Oa(b,"No matches for "+h.source):c?void Qa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function _a(b){var c=b.state.vim,d=Bb.macroModeState,e=Bb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof kb?k++:k+=i;g.changes=h,b.off("change",gb),a.off(b.getInputField(),"keydown",lb)}!f&&c.insertModeRepeat>1&&(mb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&eb(d)}function ab(a){b.unshift(a)}function bb(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];ab(f)}function cb(b,c,d,e){var f=Bb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Pb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Bb.macroModeState.lastInsertModeChanges.changes=m,nb(b,m,1),_a(b)}d.isPlaying=!1}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushText(b)}}function eb(a){if(!a.isPlaying){var b=a.latestRegister,c=Bb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function fb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function gb(a,b){var c=Bb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function hb(a){var b=a.state.vim;if(b.insertMode){var c=Bb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||jb(a,b);b.visualMode&&ib(a)}function ib(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function jb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function kb(a){this.keyName=a}function lb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new kb(f)),!0}var d=Bb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function mb(a,b,c,d){function e(){h?Eb.processAction(a,b,b.lastEditActionCommand):Eb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;nb(a,d.changes,c)}}var g=Bb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&_a(a),g.isPlaying=!1}function nb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Bb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof kb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ob={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},pb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},qb=/[\d]/,rb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],sb=[function(a){return/\S/.test(a)}],tb=p(65,26),ub=p(97,26),vb=p(48,10),wb=[].concat(tb,ub,vb,["<",">"]),xb=[].concat(tb,ub,vb,["-",'"',".",":","/"]),yb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var zb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},Ab=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=Bb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Bb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Bb,Cb,Db={buildKeyMap:function(){},getRegisterController:function(){return Bb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return Bb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:kb,map:function(a,b,c){Pb.map(a,b,c)},unmap:function(a,b){Pb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ob[a]=c,Pb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Bb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&db(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&_a(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Eb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Eb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Cb&&window.clearTimeout(Cb),Cb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Cb&&window.clearTimeout(Cb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}Bb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Eb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Eb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Pb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:bb,_mapCommand:ab,defineRegister:G,exitVisualMode:ma,exitInsertMode:_a};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Ab(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,xb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Eb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Hb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Bb.searchHistoryController.pushInput(a),Bb.searchHistoryController.reset();try{Sa(b,a,e,f)}catch(c){return Oa(b,"Invalid regex: "+a),void E(b)}Eb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Bb.macroModeState;c.isRecording&&fb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.searchHistoryController.reset();var j;try{j=Sa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Va(b,!i,j),30):(Wa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Bb.searchHistoryController.pushInput(d),Bb.searchHistoryController.reset(),Sa(b,l),Wa(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Bb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Qa(b,{onClose:f,prefix:k,desc:Mb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),Bb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Bb.exCommandHistoryController.pushInput(a),Bb.exCommandHistoryController.reset(),Pb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Bb.exCommandHistoryController.pushInput(d),Bb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.exCommandHistoryController.reset()}"keyToEx"==d.type?Pb.processCommand(b,d.exArgs.input):c.visualMode?Qa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Qa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Fb[h](a,n,i,b);if(b.lastMotion=Fb[h],!r)return;if(i.toJumplist){var s=Bb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Gb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=Bb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Fb={moveToTopLine:function(a,b,c){var e=Ya(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Ya(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Ya(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Ua(a,e),Va(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Za(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Fb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Bb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Gb={change:function(b,c,e){var f,g,h=b.state.vim;if(Bb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}Bb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Hb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Fb.moveToFirstNonWhiteSpaceCharacter(a,i))}Bb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Fb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Fb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Bb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Hb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Bb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Bb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)cb(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Bb.macroModeState,d=b.selectedCharacter;Bb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Fb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Bb.macroModeState.isPlaying||(b.on("change",gb),a.on(b.getInputField(),"keydown",lb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=Bb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Bb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line); +f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,mb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:_a},Ib={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Jb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return Bb.query},setQuery:function(a){Bb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Bb.isReversed},setReversed:function(a){Bb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Kb={"\\n":"\n","\\r":"\r","\\t":"\t"},Lb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Mb="(Javascript regexp)",Nb=function(){this.buildCommandMap_()};Nb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Bb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Oa(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Oa(b,'Not an editor command ":'+c+'"');try{Ob[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Oa(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Za(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ob={colorscheme:function(a,b){return!b.args||b.args.length<1?void Oa(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Oa(a,"Invalid mapping: "+b.input)):void Pb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Oa(a,"No such mapping: "+b.input)):void Pb.unmap(d[0],c)},move:function(a,b){Eb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Oa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=yb[f]&&"boolean"==yb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Oa(a,j.message):j===!0||j===!1?Oa(a," "+(j?"":"no")+f):Oa(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Oa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Bb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Bb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Oa(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Oa(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Oa(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Sa(a,h,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Oa(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Pb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ia(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ma(j):La(j),Bb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Oa(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c.replace(/\//g,"\\/")+"/"+f)),c)try{Sa(a,c,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+c)}if(j=j||Bb.lastSubstituteReplacePart,void 0===j)return void Oa(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);$a(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Wa(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);Bb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Oa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Oa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Oa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Pb=new Nb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Db};a.Vim=e()})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/addons.js b/media/editors/codemirror/lib/addons.js index ab1b0e8136123..6a444edd18c4c 100644 --- a/media/editors/codemirror/lib/addons.js +++ b/media/editors/codemirror/lib/addons.js @@ -1992,7 +1992,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { var state = cm.state.matchHighlighter; cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style)); if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) { - var searchFor = hasBoundary ? new RegExp("\\b" + query + "\\b") : query; + var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[+*?(){|^$]/g, "\\$&") + "\\b") : query; state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false, {className: "CodeMirror-selection-highlight-scrollbar"}); } @@ -2087,8 +2087,11 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { + (regexp.multiline ? "m" : "") } - function ensureGlobal(regexp) { - return regexp.global ? regexp : new RegExp(regexp.source, regexpFlags(regexp) + "g") + function ensureFlags(regexp, flags) { + var current = regexpFlags(regexp), target = current + for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1) + target += flags.charAt(i) + return current == target ? regexp : new RegExp(regexp.source, target) } function maybeMultiline(regexp) { @@ -2096,7 +2099,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } function searchRegexpForward(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) { regexp.lastIndex = ch var string = doc.getLine(line), match = regexp.exec(string) @@ -2110,7 +2113,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { function searchRegexpForwardMultiline(doc, regexp, start) { if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start) - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "gm") var string, chunk = 1 for (var line = start.line, last = doc.lastLine(); line <= last;) { // This grows the search buffer in exponentially-sized chunks @@ -2119,6 +2122,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { // searching for something that has tons of matches), but at the // same time, the amount of retries is limited. for (var i = 0; i < chunk; i++) { + if (line > last) break var curLine = doc.getLine(line++) string = string == null ? curLine : string + "\n" + curLine } @@ -2149,7 +2153,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } function searchRegexpBackward(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) { var string = doc.getLine(line) if (ch > -1) string = string.slice(0, ch) @@ -2162,7 +2166,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } function searchRegexpBackwardMultiline(doc, regexp, start) { - regexp = ensureGlobal(regexp) + regexp = ensureFlags(regexp, "gm") var string, chunk = 1 for (var line = start.line, first = doc.firstLine(); line >= first;) { for (var i = 0; i < chunk; i++) { @@ -2281,7 +2285,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold) } } else { - query = ensureGlobal(query) + query = ensureFlags(query, "gm") if (!options || options.multiline !== false) this.matches = function(reverse, pos) { return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos) @@ -3272,7 +3276,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } function handleKeyNonInsertMode() { - if (handleMacroRecording() || handleEsc()) { return true; }; + if (handleMacroRecording() || handleEsc()) { return true; } var keys = vim.inputState.keyBuffer = vim.inputState.keyBuffer + key; if (/^[1-9]\d*$/.test(keys)) { return true; } @@ -3857,7 +3861,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } else { if (vim.visualMode) { showPrompt(cm, { onClose: onPromptClose, prefix: ':', value: '\'<,\'>', - onKeyDown: onPromptKeyDown}); + onKeyDown: onPromptKeyDown, selectValueOnOpen: false}); } else { showPrompt(cm, { onClose: onPromptClose, prefix: ':', onKeyDown: onPromptKeyDown}); @@ -6114,7 +6118,15 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } } function splitBySlash(argString) { - var slashes = findUnescapedSlashes(argString) || []; + return splitBySeparator(argString, '/'); + } + + function findUnescapedSlashes(argString) { + return findUnescapedSeparators(argString, '/'); + } + + function splitBySeparator(argString, separator) { + var slashes = findUnescapedSeparators(argString, separator) || []; if (!slashes.length) return []; var tokens = []; // in case of strings like foo/bar @@ -6126,12 +6138,15 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { return tokens; } - function findUnescapedSlashes(str) { + function findUnescapedSeparators(str, separator) { + if (!separator) + separator = '/'; + var escapeNextChar = false; var slashes = []; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); - if (!escapeNextChar && c == '/') { + if (!escapeNextChar && c == separator) { slashes.push(i); } escapeNextChar = !escapeNextChar && (c == '\\'); @@ -6997,7 +7012,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { 'any other getSearchCursor implementation.'); } var argString = params.argString; - var tokens = argString ? splitBySlash(argString) : []; + var tokens = argString ? splitBySeparator(argString, argString[0]) : []; var regexPart, replacePart = '', trailing, flagsPart, count; var confirm = false; // Whether to confirm each replace. var global = false; // True to replace all instances on a line, false to replace only 1. @@ -7041,7 +7056,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { global = true; flagsPart.replace('g', ''); } - regexPart = regexPart + '/' + flagsPart; + regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart; } } if (regexPart) { @@ -7257,7 +7272,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { } if (!confirm) { replaceAll(); - if (callback) { callback(); }; + if (callback) { callback(); } return; } showPrompt(cm, { @@ -7393,7 +7408,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { exitInsertMode(cm); } } - }; + } macroModeState.isPlaying = false; } @@ -7597,7 +7612,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { exitInsertMode(cm); } macroModeState.isPlaying = false; - }; + } function repeatInsertModeChanges(cm, changes, repeat) { function keyHandler(binding) { @@ -7789,7 +7804,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { {name: "Stylus", mime: "text/x-styl", mode: "stylus", ext: ["styl"]}, {name: "Swift", mime: "text/x-swift", mode: "swift", ext: ["swift"]}, {name: "sTeX", mime: "text/x-stex", mode: "stex"}, - {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx"], alias: ["tex"]}, + {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx", "tex"], alias: ["tex"]}, {name: "SystemVerilog", mime: "text/x-systemverilog", mode: "verilog", ext: ["v", "sv", "svh"]}, {name: "Tcl", mime: "text/x-tcl", mode: "tcl", ext: ["tcl"]}, {name: "Textile", mime: "text/x-textile", mode: "textile", ext: ["textile"]}, diff --git a/media/editors/codemirror/lib/addons.min.js b/media/editors/codemirror/lib/addons.min.js index 317d374a5e9fe..15f27b478e056 100644 --- a/media/editors/codemirror/lib/addons.min.js +++ b/media/editors/codemirror/lib/addons.min.js @@ -1,5 +1,5 @@ !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen), -!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a){return a.global?a:new RegExp(a.source,b(a)+"g")}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b);for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b);for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h;k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b);for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b);for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",fb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",fb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in mb?b[e]=mb[f]:d=!0,f in nb&&(b[e]=nb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Fb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return ob.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),wb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)wb[d[f]]=wb[a];b&&y(a,b)}function y(a,b,c,d){var e=wb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=wb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=yb()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){zb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:xb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in wb){var b=wb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=zb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,vb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Db[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Eb[a]=b}function M(a,b){Fb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"; -}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),gb(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?pb[0]:qb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=qb[0]:(j=pb[0],j(h.charAt(i))||(j=pb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||zb.jumpList.add(a,b,c)}function sa(a,b){zb.lastCharacterSearch.increment=a,zb.lastCharacterSearch.forward=b.forward,zb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Gb[e];if(!m)return f;var n=Hb[m].init,o=Hb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?qb:pb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,ub)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){var b=Ha(a)||[];if(!b.length)return[];var c=[];if(0===b[0]){for(var d=0;d<b.length;d++)"number"==typeof b[d]&&c.push(a.substring(b[d]+1,b[d+1]));return c}}function Ha(a){for(var b=!1,c=[],d=0;d<a.length;d++){var e=a.charAt(d);b||"/"!=e||c.push(d),b=!b&&"\\"==e}return c}function Ia(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Ja(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Ib[e+f]?(c.push(Ib[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ka(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Jb)if(c.match(f,!0)){e=!0,d.push(Jb[f]);break}e||d.push(c.next())}return d.join("")}function La(a,b,c){var d=zb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ia(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Ma(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Na(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Oa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Na(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Pa(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Qa(a,b,c,d){if(b){var e=Ea(a),f=La(b,!!c,!!d);if(f)return Sa(a,f),Pa(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ra(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Sa(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ra(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Ta(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Ua(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Va(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Wa(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Xa(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function Ya(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Va(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Ma(b,"No matches for "+h.source):c?void Oa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function Za(b){var c=b.state.vim,d=zb.macroModeState,e=zb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof ib?k++:k+=i;g.changes=h,b.off("change",eb),a.off(b.getInputField(),"keydown",jb)}!f&&c.insertModeRepeat>1&&(kb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&cb(d)}function $a(a){b.unshift(a)}function _a(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];$a(f)}function ab(b,c,d,e){var f=zb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Nb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;zb.macroModeState.lastInsertModeChanges.changes=m,lb(b,m,1),Za(b)}d.isPlaying=!1}function bb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushText(b)}}function cb(a){if(!a.isPlaying){var b=a.latestRegister,c=zb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=zb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function eb(a,b){var c=zb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function fb(a){var b=a.state.vim;if(b.insertMode){var c=zb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||hb(a,b);b.visualMode&&gb(a)}function gb(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function hb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function ib(a){this.keyName=a}function jb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new ib(f)),!0}var d=zb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function kb(a,b,c,d){function e(){h?Cb.processAction(a,b,b.lastEditActionCommand):Cb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;lb(a,d.changes,c)}}var g=zb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&Za(a),g.isPlaying=!1}function lb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=zb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof ib)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var mb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},nb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},ob=/[\d]/,pb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],qb=[function(a){return/\S/.test(a)}],rb=p(65,26),sb=p(97,26),tb=p(48,10),ub=[].concat(rb,sb,tb,["<",">"]),vb=[].concat(rb,sb,tb,["-",'"',".",":","/"]),wb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var xb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},yb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=zb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=zb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var zb,Ab,Bb={buildKeyMap:function(){},getRegisterController:function(){return zb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return zb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:ib,map:function(a,b,c){Nb.map(a,b,c)},unmap:function(a,b){Nb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Mb[a]=c,Nb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=zb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&bb(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&Za(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Cb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Cb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Ab&&window.clearTimeout(Ab),Ab=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Ab&&window.clearTimeout(Ab),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}zb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Cb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Cb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Nb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:_a,_mapCommand:$a,defineRegister:G,exitVisualMode:ma,exitInsertMode:Za};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(yb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,vb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Cb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Fb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){zb.searchHistoryController.pushInput(a),zb.searchHistoryController.reset();try{Qa(b,a,e,f)}catch(c){return Ma(b,"Invalid regex: "+a),void E(b)}Cb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=zb.macroModeState;c.isRecording&&db(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.searchHistoryController.reset();var j;try{j=Qa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Ta(b,!i,j),30):(Ua(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(zb.searchHistoryController.pushInput(d),zb.searchHistoryController.reset(),Qa(b,l),Ua(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=zb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Oa(b,{onClose:f,prefix:k,desc:Kb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),zb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){zb.exCommandHistoryController.pushInput(a),zb.exCommandHistoryController.reset(),Nb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(zb.exCommandHistoryController.pushInput(d),zb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=zb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&zb.exCommandHistoryController.reset()}"keyToEx"==d.type?Nb.processCommand(b,d.exArgs.input):c.visualMode?Oa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f}):Oa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Db[h](a,n,i,b);if(b.lastMotion=Db[h],!r)return;if(i.toJumplist){var s=zb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Eb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=zb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Db={moveToTopLine:function(a,b,c){var e=Wa(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Wa(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Wa(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Sa(a,e),Ta(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Xa(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch; -switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Db.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=zb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Eb={change:function(b,c,e){var f,g,h=b.state.vim;if(zb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}zb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Fb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Db.moveToFirstNonWhiteSpaceCharacter(a,i))}zb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Db.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Db.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return zb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Fb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=zb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=zb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)ab(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=zb.macroModeState,d=b.selectedCharacter;zb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Db.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),zb.macroModeState.isPlaying||(b.on("change",eb),a.on(b.getInputField(),"keydown",jb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=zb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),zb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,kb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:Za},Gb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Hb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return zb.query},setQuery:function(a){zb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return zb.isReversed},setReversed:function(a){zb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Ib={"\\n":"\n","\\r":"\r","\\t":"\t"},Jb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Kb="(Javascript regexp)",Lb=function(){this.buildCommandMap_()};Lb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=zb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Ma(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Ma(b,'Not an editor command ":'+c+'"');try{Mb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Ma(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Xa(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Mb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Ma(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Ma(a,"Invalid mapping: "+b.input)):void Nb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Ma(a,"No such mapping: "+b.input)):void Nb.unmap(d[0],c)},move:function(a,b){Cb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Ma(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=wb[f]&&"boolean"==wb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Ma(a,j.message):j===!0||j===!1?Ma(a," "+(j?"":"no")+f):Ma(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Ma(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=zb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),zb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Ma(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Ma(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Ma(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Qa(a,h,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Ma(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Nb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ga(h):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ka(j):Ja(j),zb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Ma(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c+"/"+f)),c)try{Qa(a,c,!0,!0)}catch(b){return void Ma(a,"Invalid regex: "+c)}if(j=j||zb.lastSubstituteReplacePart,void 0===j)return void Ma(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);Ya(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ua(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);zb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Ma(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Ma(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Ma(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Ma(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Nb=new Lb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Bb};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell", -mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",hb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",hb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ob?b[e]=ob[f]:d=!0,f in pb&&(b[e]=pb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Hb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return qb.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),yb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)yb[d[f]]=yb[a];b&&y(a,b)}function y(a,b,c,d){var e=yb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=yb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ab()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){Bb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:zb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in yb){var b=yb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=Bb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,xb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Fb[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Gb[a]=b}function M(a,b){Hb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c); +return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),ib(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?rb[0]:sb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=sb[0]:(j=rb[0],j(h.charAt(i))||(j=rb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||Bb.jumpList.add(a,b,c)}function sa(a,b){Bb.lastCharacterSearch.increment=a,Bb.lastCharacterSearch.forward=b.forward,Bb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Ib[e];if(!m)return f;var n=Jb[m].init,o=Jb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?sb:rb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,wb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){return Ia(a,"/")}function Ha(a){return Ja(a,"/")}function Ia(a,b){var c=Ja(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function Ja(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Ka(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function La(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Kb[e+f]?(c.push(Kb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ma(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Lb)if(c.match(f,!0)){e=!0,d.push(Lb[f]);break}e||d.push(c.next())}return d.join("")}function Na(a,b,c){var d=Bb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ka(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Oa(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Pa(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Qa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Pa(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Ra(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Sa(a,b,c,d){if(b){var e=Ea(a),f=Na(b,!!c,!!d);if(f)return Ua(a,f),Ra(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ta(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Ua(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ta(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Va(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Wa(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Xa(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Ya(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Za(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function $a(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Xa(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Oa(b,"No matches for "+h.source):c?void Qa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function _a(b){var c=b.state.vim,d=Bb.macroModeState,e=Bb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof kb?k++:k+=i;g.changes=h,b.off("change",gb),a.off(b.getInputField(),"keydown",lb)}!f&&c.insertModeRepeat>1&&(mb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&eb(d)}function ab(a){b.unshift(a)}function bb(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];ab(f)}function cb(b,c,d,e){var f=Bb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Pb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Bb.macroModeState.lastInsertModeChanges.changes=m,nb(b,m,1),_a(b)}d.isPlaying=!1}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushText(b)}}function eb(a){if(!a.isPlaying){var b=a.latestRegister,c=Bb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function fb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function gb(a,b){var c=Bb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function hb(a){var b=a.state.vim;if(b.insertMode){var c=Bb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||jb(a,b);b.visualMode&&ib(a)}function ib(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function jb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function kb(a){this.keyName=a}function lb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new kb(f)),!0}var d=Bb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function mb(a,b,c,d){function e(){h?Eb.processAction(a,b,b.lastEditActionCommand):Eb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;nb(a,d.changes,c)}}var g=Bb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&_a(a),g.isPlaying=!1}function nb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Bb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof kb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ob={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},pb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},qb=/[\d]/,rb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],sb=[function(a){return/\S/.test(a)}],tb=p(65,26),ub=p(97,26),vb=p(48,10),wb=[].concat(tb,ub,vb,["<",">"]),xb=[].concat(tb,ub,vb,["-",'"',".",":","/"]),yb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var zb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},Ab=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=Bb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Bb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Bb,Cb,Db={buildKeyMap:function(){},getRegisterController:function(){return Bb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return Bb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:kb,map:function(a,b,c){Pb.map(a,b,c)},unmap:function(a,b){Pb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ob[a]=c,Pb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Bb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&db(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&_a(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Eb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Eb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Cb&&window.clearTimeout(Cb),Cb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Cb&&window.clearTimeout(Cb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}Bb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Eb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Eb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Pb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:bb,_mapCommand:ab,defineRegister:G,exitVisualMode:ma,exitInsertMode:_a};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Ab(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,xb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Eb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Hb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Bb.searchHistoryController.pushInput(a),Bb.searchHistoryController.reset();try{Sa(b,a,e,f)}catch(c){return Oa(b,"Invalid regex: "+a),void E(b)}Eb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Bb.macroModeState;c.isRecording&&fb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.searchHistoryController.reset();var j;try{j=Sa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Va(b,!i,j),30):(Wa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Bb.searchHistoryController.pushInput(d),Bb.searchHistoryController.reset(),Sa(b,l),Wa(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Bb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Qa(b,{onClose:f,prefix:k,desc:Mb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),Bb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Bb.exCommandHistoryController.pushInput(a),Bb.exCommandHistoryController.reset(),Pb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Bb.exCommandHistoryController.pushInput(d),Bb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.exCommandHistoryController.reset()}"keyToEx"==d.type?Pb.processCommand(b,d.exArgs.input):c.visualMode?Qa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Qa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Fb[h](a,n,i,b);if(b.lastMotion=Fb[h],!r)return;if(i.toJumplist){var s=Bb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Gb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=Bb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Fb={moveToTopLine:function(a,b,c){var e=Ya(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Ya(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Ya(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Ua(a,e),Va(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Za(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j); +}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Fb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Bb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Gb={change:function(b,c,e){var f,g,h=b.state.vim;if(Bb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}Bb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Hb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Fb.moveToFirstNonWhiteSpaceCharacter(a,i))}Bb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Fb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Fb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Bb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Hb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Bb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Bb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)cb(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Bb.macroModeState,d=b.selectedCharacter;Bb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Fb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Bb.macroModeState.isPlaying||(b.on("change",gb),a.on(b.getInputField(),"keydown",lb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=Bb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Bb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,mb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:_a},Ib={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Jb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return Bb.query},setQuery:function(a){Bb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Bb.isReversed},setReversed:function(a){Bb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Kb={"\\n":"\n","\\r":"\r","\\t":"\t"},Lb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Mb="(Javascript regexp)",Nb=function(){this.buildCommandMap_()};Nb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Bb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Oa(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Oa(b,'Not an editor command ":'+c+'"');try{Ob[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Oa(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Za(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ob={colorscheme:function(a,b){return!b.args||b.args.length<1?void Oa(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Oa(a,"Invalid mapping: "+b.input)):void Pb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Oa(a,"No such mapping: "+b.input)):void Pb.unmap(d[0],c)},move:function(a,b){Eb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Oa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=yb[f]&&"boolean"==yb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Oa(a,j.message):j===!0||j===!1?Oa(a," "+(j?"":"no")+f):Oa(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Oa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Bb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Bb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Oa(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Oa(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Oa(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Sa(a,h,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Oa(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Pb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ia(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ma(j):La(j),Bb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Oa(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c.replace(/\//g,"\\/")+"/"+f)),c)try{Sa(a,c,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+c)}if(j=j||Bb.lastSubstituteReplacePart,void 0===j)return void Oa(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);$a(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Wa(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);Bb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Oa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Oa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Oa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Pb=new Nb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Db};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig", +mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/codemirror.js b/media/editors/codemirror/lib/codemirror.js index ff9d1ee09e90d..fb376526e16ea 100644 --- a/media/editors/codemirror/lib/codemirror.js +++ b/media/editors/codemirror/lib/codemirror.js @@ -5225,7 +5225,8 @@ function makeChangeInner(doc, change) { // Revert a change stored in a document's history. function makeChangeFromHistory(doc, type, allowSelectionOnly) { - if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) { return } + var suppress = doc.cm && doc.cm.state.suppressEdits; + if (suppress && !allowSelectionOnly) { return } var hist = doc.history, event, selAfter = doc.sel; var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; @@ -5250,8 +5251,10 @@ function makeChangeFromHistory(doc, type, allowSelectionOnly) { return } selAfter = event; - } - else { break } + } else if (suppress) { + source.push(event); + return + } else { break } } // Build up a reverse change object to add to the opposite history @@ -5727,7 +5730,7 @@ function addLineWidget(doc, handle, node, options) { } return true }); - signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); + if (cm) { signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); } return widget } @@ -9662,7 +9665,7 @@ CodeMirror$1.fromTextArea = fromTextArea; addLegacyProps(CodeMirror$1); -CodeMirror$1.version = "5.34.0"; +CodeMirror$1.version = "5.35.0"; return CodeMirror$1; diff --git a/media/editors/codemirror/lib/codemirror.min.js b/media/editors/codemirror/lib/codemirror.min.js index 776963185617f..8ca46e27bd9bb 100644 --- a/media/editors/codemirror/lib/codemirror.min.js +++ b/media/editors/codemirror/lib/codemirror.min.js @@ -1,6 +1,6 @@ !(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()})(this,(function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Wg.length<=a;)Wg.push(p(Wg)+" ");return Wg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Xg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Yg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2,f=d<0?Math.ceil(e):Math.floor(e);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Rg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),tg&&ug<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),vg||pg&&Eg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,(function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e})),d}function D(a,b,c){var d=[];return a.iter(b,c,(function(a){d.push(a.text)})),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Zg=!0}function U(){$g=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,(function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}})),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=$g&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=$g&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=$g&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter((function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)}))}function va(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;_g=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:_g=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:_g=e)}return null!=d?d:_g}function xa(a,b){var c=a.order;return null==c&&(c=a.order=ah(a.text,b)),c}function ya(a,b){return a._handlers&&a._handlers[b]||bh}function za(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Aa(a,b){var c=ya(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Ba(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Aa(a,c||b.type,a,b),Ha(b)||b.codemirrorIgnore}function Ca(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Da(a,b){return ya(a,b).length>0}function Ea(a){a.prototype.on=function(a,b){ch(this,a,b)},a.prototype.off=function(a,b){za(this,a,b)}}function Fa(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ga(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ha(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ia(a){Fa(a),Ga(a)}function Ja(a){return a.target||a.srcElement}function Ka(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),Fg&&a.ctrlKey&&1==b&&(b=3),b}function La(a){if(null==Pg){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Pg=b.offsetWidth<=1&&b.offsetHeight>2&&!(tg&&ug<8))}var e=Pg?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Ma(a){if(null!=Qg)return Qg;var d=c(a,document.createTextNode("AخA")),e=Jg(d,0,1).getBoundingClientRect(),f=Jg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Qg=f.right-e.right<3)}function Na(a){if(null!=hh)return hh;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Jg(b,0,1).getBoundingClientRect();return hh=Math.abs(e.left-f.left)>1}function Oa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),ih[a]=b}function Pa(a,b){jh[a]=b}function Qa(a){if("string"==typeof a&&jh.hasOwnProperty(a))a=jh[a];else if(a&&"string"==typeof a.name&&jh.hasOwnProperty(a.name)){var b=jh[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Qa("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Qa("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Ra(a,b){b=Qa(b);var c=ih[b.name];if(!c)return Ra(a,"text/plain");var d=c(a,b);if(kh.hasOwnProperty(b.name)){var e=kh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Sa(a,b){var c=kh.hasOwnProperty(a)?kh[a]:kh[a]={};k(b,c)}function Ta(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ua(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Va(a,b,c){return!a.startState||a.startState(b,c)}function Wa(a,b,c,d){var e=[a.state.modeGen],f={};cb(a,b.text,a.doc.mode,c,(function(a,b){return e.push(a,b)}),f,d);for(var g=c.state,h=function(d){c.baseTokens=e;var h=a.state.overlays[d],i=1,j=0;c.state=!0,cb(a,b.text,h.mode,c,(function(a,b){for(var c=i;j<a;){var d=e[i];d>a&&e.splice(i,1,a,e[i+1],d),i+=2,j=Math.min(a,d)}if(b)if(h.opaque)e.splice(c,i-c,a,"overlay "+b),i=c+2;else for(;c<i;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}}),f),c.state=g,c.baseTokens=null,c.baseTokenPos=1},i=0;i<a.state.overlays.length;++i)h(i);return{styles:e,classes:f.bgClass||f.textClass?f:null}}function Xa(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Ya(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Ta(a.doc.mode,d.state),f=Wa(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Ya(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new nh(d,!0,b);var f=db(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?nh.fromSaved(d,g,f):new nh(d,Va(d.mode),f);return d.iter(f,b,(function(c){Za(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()})),c&&(d.modeFrontier=h.line),h}function Za(a,b,c,d){var e=a.doc.mode,f=new lh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&$a(e,c.state);!f.eol();)_a(e,f,c.state),f.start=f.pos}function $a(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ua(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function _a(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ua(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function ab(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=Ya(a,b.line,c),k=new lh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=_a(g,k,j.state),d&&h.push(new oh(k,e,Ta(f.mode,j.state)));return d?h:new oh(k,e,j.state)}function bb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function cb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new lh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&bb($a(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&Za(a,b,d,l.pos),l.pos=b.length,i=null):i=bb(_a(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function db(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof mh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function eb(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof mh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function fb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function gb(a){a.parent=null,ca(a)}function hb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?sh:rh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ib(a,b){var c=e("span",null,null,vg?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(tg||vg)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=kb,Ma(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=mb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);ob(g,d,Xa(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(La(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(vg){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Aa(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function jb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function kb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?lb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));tg&&ug<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),tg&&ug<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),tg&&ug<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function lb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function mb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function nb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function ob(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)nb(b,0,s[y]);if(m&&(m.from||0)==o){if(nb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=hb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),hb(c[C+1],b.cm.options))}function pb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function qb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new pb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function rb(a){th?th.ops.push(a):a.ownsGroup=th={ops:[a],delayedCallbacks:[]}}function sb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function tb(a,b){var c=a.ownsGroup;if(c)try{sb(c)}finally{th=null,b(c)}}function ub(a,b){var c=ya(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);th?d=th.delayedCallbacks:uh?d=uh:(d=uh=[],setTimeout(vb,0));for(var f=function(a){d.push((function(){return c[a].apply(null,e)}))},g=0;g<c.length;++g)f(g)}}function vb(){var a=uh;uh=null;for(var b=0;b<a.length;++b)a[b]()}function wb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Ab(a,b):"gutter"==f?Cb(a,b,c,d):"class"==f?Bb(a,b):"widget"==f&&Db(a,b,d)}b.changes=null}function xb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),tg&&ug<8&&(a.node.style.zIndex=2)),a.node}function yb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=xb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function zb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ib(a,b)}function Ab(a,b){var c=b.text.className,d=zb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Bb(a,b)):c&&(b.text.className=c)}function Bb(a,b){yb(a,b),b.line.wrapClass?xb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Cb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=xb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=xb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Db(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Fb(a,b,c)}function Eb(a,b,c,d){var e=zb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Bb(a,b),Cb(a,b,c,d),Fb(a,b,d),b.node}function Fb(a,b,c){if(Gb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Gb(a,b.rest[d],b,c,!1)}function Gb(a,b,c,e,f){if(b.widgets)for(var g=xb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Hb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),ub(j,"redraw")}}function Hb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Ib(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Jb(a,b){for(var c=Ja(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Kb(a){return a.lineSpace.offsetTop}function Lb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Mb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Nb(a){return Rg-a.display.nativeBarWidth}function Ob(a){return a.display.scroller.clientWidth-Nb(a)-a.display.barWidth}function Pb(a){return a.display.scroller.clientHeight-Nb(a)-a.display.barHeight}function Qb(a,b,c){var d=a.options.lineWrapping,e=d&&Ob(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Rb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Sb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new pb(a.doc,b,d);e.lineN=d;var f=e.built=ib(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Tb(a,b,c,d){return Wb(a,Vb(a,b),c,d)}function Ub(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Vb(a,b){var c=F(b),d=Ub(a,c);d&&!d.text?d=null:d&&d.changes&&(wb(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Sb(a,b));var e=Rb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Wb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Qb(a,b.view,b.rect),b.hasHeights=!0),f=Zb(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function Xb(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function Yb(a,b){var c=vh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function Zb(a,b,c,d){var e,f=Xb(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse; if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=tg&&ug<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():Yb(Jg(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}tg&&ug<11&&(e=$b(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(tg&&ug<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:vh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function $b(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Na(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function _b(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ac(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)_b(a.display.view[c])}function bc(a){ac(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function cc(){return xg&&Dg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function dc(){return xg&&Dg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ec(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Ib(a.widgets[c]));return b}function fc(a,b,c,d,e){if(!e){var f=ec(b);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=sa(b);if("local"==d?g+=Kb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=a.display.lineSpace.getBoundingClientRect();g+=h.top+("window"==d?0:dc());var i=h.left+("window"==d?0:cc());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function gc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=cc(),e-=dc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function hc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),fc(a,d,Tb(a,d,b.ch,e),c)}function ic(a,b,c,d,e,f){function g(b,g){var h=Wb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,fc(a,d,h,c)}function h(a,b,c){var d=i[b],e=1==d.level;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Vb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=_g,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function jc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Kb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function kc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function lc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return kc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return kc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=pc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function mc(a,b,c,d){d-=ec(b);var e=b.text.length,f=z((function(b){return Wb(a,c,b-1).bottom<=d}),e,0);return e=z((function(b){return Wb(a,c,b).top>d}),f,e),{begin:f,end:e}}function nc(a,b,c,d){c||(c=Vb(a,b));var e=fc(a,b,Wb(a,c,d),"line").top;return mc(a,b,c,e)}function oc(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function pc(a,b,c,d,e){e-=sa(b);var f=Vb(a,b),g=ec(b),h=0,i=b.text.length,j=!0,k=xa(b,a.doc.direction);if(k){var l=(a.options.lineWrapping?rc:qc)(a,b,c,f,k,d,e);j=1!=l.level,h=j?l.from:l.to-1,i=j?l.to:l.from-1}var m,n,o=null,p=null,q=z((function(b){var c=Wb(a,f,b);return c.top+=g,c.bottom+=g,!!oc(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(o=b,p=c),!0)}),h,i),r=!1;if(p){var s=d-p.left<p.right-d,t=s==j;q=o+(t?0:1),n=t?"after":"before",m=s?p.left:p.right}else{j||q!=i&&q!=h||q++,n=0==q?"after":q==b.text.length?"before":Wb(a,f,q-(j?1:0)).bottom+g<=e==j?"after":"before";var u=ic(a,J(c,q,n),"line",b,f);m=u.left,r=e<u.top||e>=u.bottom}return q=y(b.text,q,1),kc(c,q,n,r,d-m)}function qc(a,b,c,d,e,f,g){var h=z((function(h){var i=e[h],j=1!=i.level;return oc(ic(a,J(c,j?i.to:i.from,j?"before":"after"),"line",b,d),f,g,!0)}),0,e.length-1),i=e[h];if(h>0){var j=1!=i.level,k=ic(a,J(c,j?i.from:i.to,j?"after":"before"),"line",b,d);oc(k,f,g,!0)&&k.top>g&&(i=e[h-1])}return i}function rc(a,b,c,d,e,f,g){var h=mc(a,b,d,g),i=h.begin,j=h.end;/\s/.test(b.text.charAt(j-1))&&j--;for(var k=null,l=null,m=0;m<e.length;m++){var n=e[m];if(!(n.from>=j||n.to<=i)){var o=1!=n.level,p=Wb(a,d,o?Math.min(j,n.to)-1:Math.max(i,n.from)).right,q=p<f?f-p+1e9:p-f;(!k||l>q)&&(k=n,l=q)}}return k||(k=e[e.length-1]),k.from<i&&(k={from:i,to:k.to,level:k.level}),k.to>j&&(k={from:k.from,to:j,level:k.level}),k}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==qh){qh=d("pre");for(var e=0;e<49;++e)qh.appendChild(document.createTextNode("x")),qh.appendChild(d("br"));qh.appendChild(document.createTextNode("x"))}c(a.measure,qh);var f=qh.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter((function(a){var b=c(a);b!=a.height&&E(a,b)}))}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Ja(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(a){return null}var i,j=lc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Mb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Ec(a,h,f)}}return d}function Cc(a,b,c){var e=ic(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b){return a.top-b.top||a.left-b.left}function Ec(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return hc(a,J(b,c),"div",n,d)}function g(b,c,d){var e=nc(a,n,null,b),g="ltr"==c==("after"==d)?"left":"right",h="after"==d?e.begin:e.end-(/\s/.test(n.text.charAt(e.end-1))?2:1);return f(h,g)[g]}var i,j,n=B(h,b),o=n.text.length,p=xa(n,h.direction);return va(p,c||0,null==d?o:d,(function(a,b,h,n){var q="ltr"==h,r=f(a,q?"left":"right"),s=f(b-1,q?"right":"left"),t=null==c&&0==a,u=null==d&&b==o,v=0==n,w=!p||n==p.length-1;if(s.top-r.top<=3){var x=(m?t:u)&&v,y=(m?u:t)&&w,z=x?k:(q?r:s).left,A=y?l:(q?s:r).right;e(z,r.top,A-z,r.bottom)}else{var B,C,D,E;q?(B=m&&t&&v?k:r.left,C=m?l:g(a,h,"before"),D=m?k:g(b,h,"after"),E=m&&u&&w?l:s.right):(B=m?g(a,h,"before"):k,C=!m&&t&&v?l:r.right,D=!m&&u&&w?k:s.left,E=m?g(b,h,"after"):l),e(B,r.top,C-B,r.bottom),r.bottom<s.top&&e(k,r.bottom,null,s.top),e(D,s.top,E-D,s.bottom)}(!i||Dc(r,i)<0)&&(i=r),Dc(s,i)<0&&(i=s),(!j||Dc(r,j)<0)&&(j=r),Dc(s,j)<0&&(j=s)})),{start:i,end:j}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Mb(a.display),k=j.left,l=Math.max(g.sizerWidth,Ob(a)-g.sizer.offsetLeft)-j.right,m="ltr"==h.direction,n=b.from(),o=b.to();if(n.line==o.line)f(n.line,n.ch,o.ch);else{var p=B(h,n.line),q=B(h,o.line),r=la(p)==la(q),s=f(n.line,n.ch,r?p.text.length+1:null).end,t=f(o.line,r?0:null,o.ch).start;r&&(s.top<t.top-2?(e(s.right,s.top,null,s.bottom),e(k,t.top,t.left,t.bottom)):e(s.right,s.top,t.left-s.right,s.bottom)),s.bottom<t.top&&e(k,s.bottom,null,t.top)}c.appendChild(i)}function Fc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval((function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"}),a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Gc(a){a.state.focused||(a.display.input.focus(),Ic(a))}function Hc(a){a.state.delayingBlurEvent=!0,setTimeout((function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Jc(a))}),100)}function Ic(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Aa(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),vg&&setTimeout((function(){return a.display.input.reset(!0)}),20)),a.display.input.receivedFocus()),Fc(a))}function Jc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Aa(a,"blur",a,b),a.state.focused=!1,Mg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout((function(){a.state.focused||(a.display.shift=!1)}),150))}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(tg&&ug<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b){var c=a.widgets[b],d=c.node.parentNode;d&&(c.height=d.offsetHeight)}}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Kb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Fd(a),!0}return!1}function Pc(a,b){if(!Ba(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!Bg){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Kb(a.display))+"px;\n height: "+(b.bottom-b.top+Nb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Qc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=ic(a,b),i=c&&c!=b?ic(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Sc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Zc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(_c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Rc(a,b){var c=Sc(a,b);null!=c.scrollTop&&Zc(a,c.scrollTop),null!=c.scrollLeft&&_c(a,c.scrollLeft)}function Sc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Pb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Lb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Ob(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Tc(a,b){null!=b&&(Xc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Uc(a){Xc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Vc(a,b,c){null==b&&null==c||Xc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Wc(a,b){Xc(a),a.curOp.scrollToPos=b}function Xc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=jc(a,b.from),d=jc(a,b.to);Yc(a,c,d,b.margin)}}function Yc(a,b,c,d){var e=Sc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Vc(a,e.scrollLeft,e.scrollTop)}function Zc(a,b){Math.abs(a.doc.scrollTop-b)<2||(pg||Dd(a,{top:b}),$c(a,b,!0),pg&&Dd(a),wd(a,100))}function $c(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function _c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Nc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ad(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Lb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Nb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bd(a,b){b||(b=ad(a));var c=a.display.barWidth,d=a.display.barHeight;cd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),cd(a,ad(a)),c=a.display.barWidth,d=a.display.barHeight}function cd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function dd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Mg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new yh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),ch(b,"mousedown",(function(){a.state.focused&&setTimeout((function(){return a.display.input.focus()}),0)})),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?_c(a,b):Zc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function ed(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++zh},rb(a.curOp)}function fd(a){var b=a.curOp;tb(b,(function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;gd(a)}))}function gd(a){for(var b=a.ops,c=0;c<b.length;c++)hd(b[c]);for(var d=0;d<b.length;d++)id(b[d]);for(var e=0;e<b.length;e++)jd(b[e]);for(var f=0;f<b.length;f++)kd(b[f]);for(var g=0;g<b.length;g++)ld(b[g])}function hd(a){var b=a.cm,c=b.display;yd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new Ah(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function id(a){a.updatedDisplay=a.mustUpdate&&Bd(a.cm,a.update)}function jd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=ad(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Tb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Nb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Ob(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection())}function kd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&_c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g();a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&bd(b,a.barMeasure),a.updatedDisplay&&Gd(b,a.barMeasure),a.selectionChanged&&Fc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Gc(a.cm)}function ld(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Cd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&$c(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&_c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Qc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Pc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Aa(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Aa(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Aa(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function md(a,b){if(a.curOp)return b();ed(a);try{return b()}finally{fd(a)}}function nd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);ed(a);try{return b.apply(a,arguments)}finally{fd(a)}}}function od(a){return function(){if(this.curOp)return a.apply(this,arguments);ed(this);try{return a.apply(this,arguments)}finally{fd(this)}}}function pd(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);ed(b);try{return a.apply(this,arguments)}finally{fd(b)}}}function qd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)$g&&oa(a.doc,b)<e.viewTo&&sd(a);else if(c<=e.viewFrom)$g&&pa(a.doc,c+d)>e.viewFrom?sd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)sd(a);else if(b<=e.viewFrom){var f=td(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):sd(a)}else if(c>=e.viewTo){var g=td(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):sd(a)}else{var h=td(a,b,b,-1),i=td(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(qb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):sd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function rd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function sd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function td(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!$g||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function ud(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=qb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=qb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(qb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function vd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function wd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(xd,a))}function xd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ya(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),(function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(b.mode,d.state):null,i=Wa(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&Za(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return wd(a,a.options.workDelay),!0})),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&md(a,(function(){for(var b=0;b<e.length;b++)rd(a,e[b],"text")}))}}function yd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Nb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Nb(a)+"px",b.scrollbarsClipped=!0)}function zd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function Ad(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Bd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return sd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==vd(a))return!1;Oc(a)&&(sd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),$g&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;ud(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=vd(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=zd(a);return j>4&&(d.lineDiv.style.display="none"),Ed(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,Ad(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,wd(a,400)),d.updateLineNumbers=null,!0}function Cd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Ob(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Lb(a.display)-Pb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Bd(a,b);d=!1){Kc(a);var e=ad(a);Ac(a),bd(a,e),Gd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Dd(a,b){var c=new Ah(a,b);if(Bd(a,c)){Kc(a),Cd(a,c);var d=ad(a);Ac(a),bd(a,d),Gd(a,d),c.finish()}}function Ed(a,c,d){function e(b){var c=b.nextSibling;return vg&&Fg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),wb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Eb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Fd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Gd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Nb(a)+"px"}function Hd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Fd(a)}function Id(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Jd(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Kd(a){var b=Jd(a);return b.x*=Ch,b.y*=Ch,b}function Ld(a,b){var c=Jd(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&Fg&&vg)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!pg&&!yg&&null!=Ch)return e&&i&&Zc(a,Math.max(0,g.scrollTop+e*Ch)),_c(a,Math.max(0,g.scrollLeft+d*Ch)),(!e||e&&i)&&Fa(b),void(f.wheelStartX=null);if(e&&null!=Ch){var m=e*Ch,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Dd(a,{top:n,bottom:o})}Bh<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout((function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(Ch=(Ch*Bh+c)/(Bh+1),++Bh)}}),200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Md(a,b){var c=a[b];a.sort((function(a,b){return K(a.from(),b.from())})),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Eh(i?h:g,i?g:h))}}return new Dh(a,b)}function Nd(a,b){return new Dh([new Eh(a,b||a)],0)}function Od(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Pd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Od(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Od(b).ch-b.to.ch),J(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new Eh(Pd(e.anchor,b),Pd(e.head,b)))}return Md(c,a.sel.primIndex)}function Rd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Sd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Rd(h.from,e,f),j=Rd(Od(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new Eh(l?j:i,l?i:j)}else d[g]=new Eh(i,i)}return new Dh(d,a.sel.primIndex)}function Td(a){a.doc.mode=Ra(a.options,a.doc.modeOption),Ud(a)}function Ud(a){a.doc.iter((function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)})),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first, -wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(ge(d,h),c&&!d.equals(a.sel))return void te(a,d,{clearRedo:!1});f=d}var j=[];ge(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Ce(a,e,!1))return g.length=0,{};j.push(ae(a,e));var f=c?Qd(a,e):p(g);He(a,e,f,ke(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Od(e)});var h=[];Xd(a,(function(a,b){b||m(h,a.history)!=-1||(Me(a.history,e),h.push(a.history)),He(a,e,null,ke(a,e))}))},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&(3==a.keyCode&&a.code&&(c=a.code),hf(c,a,b))}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){ -return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null), -this.id=++Jh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null; -}a.updateFromDOM()}),80))},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.34.0",Vf})); \ No newline at end of file +wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){var d=a.cm&&a.cm.state.suppressEdits;if(!d||c){for(var e,f=a.history,g=a.sel,h="undo"==b?f.done:f.undone,i="undo"==b?f.undone:f.done,j=0;j<h.length&&(e=h[j],c?!e.ranges||e.equals(a.sel):e.ranges);j++);if(j!=h.length){for(f.lastOrigin=f.lastSelOrigin=null;;){if(e=h.pop(),!e.ranges){if(d)return void h.push(e);break}if(ge(e,i),c&&!e.equals(a.sel))return void te(a,e,{clearRedo:!1});g=e}var k=[];ge(g,i),i.push({changes:k,generation:f.generation}),f.generation=e.generation||++f.maxGeneration;for(var l=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),n=function(c){var d=e.changes[c];if(d.origin=b,l&&!Ce(a,d,!1))return h.length=0,{};k.push(ae(a,d));var f=c?Qd(a,d):p(h);He(a,d,f,ke(a,d)),!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:Od(d)});var g=[];Xd(a,(function(a,b){b||m(g,a.history)!=-1||(Me(a.history,d),g.push(a.history)),He(a,d,null,ke(a,d))}))},o=e.changes.length-1;o>=0;--o){var q=n(o);if(q)return q.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),f&&ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&(3==a.keyCode&&a.code&&(c=a.code),hf(c,a,b))}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250), +b("viewportMargin",10,(function(a){return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c; +var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Jh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null, +a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80))},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.35.0",Vf})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/clike/clike.js b/media/editors/codemirror/mode/clike/clike.js index b89ddf0d59bf7..da7a6bf5b6697 100644 --- a/media/editors/codemirror/mode/clike/clike.js +++ b/media/editors/codemirror/mode/clike/clike.js @@ -374,7 +374,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { blockKeywords: words("case do else for if switch while struct"), defKeywords: words("struct"), typeFirstDefinitions: true, - atoms: words("null true false"), + atoms: words("NULL true false"), hooks: {"#": cppHook, "*": pointerHook}, modeProps: {fold: ["brace", "include"]} }); @@ -390,7 +390,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { blockKeywords: words("catch class do else finally for if struct switch try while"), defKeywords: words("class namespace struct enum union"), typeFirstDefinitions: true, - atoms: words("true false null"), + atoms: words("true false NULL"), dontIndentStatements: /^template$/, isIdentifierChar: /[\w\$_~\xa1-\uffff]/, hooks: { @@ -597,22 +597,24 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { name: "clike", keywords: words( /*keywords*/ - "package as typealias class interface this super val " + - "var fun for is in This throw return " + + "package as typealias class interface this super val operator " + + "var fun for is in This throw return annotation " + "break continue object if else while do try when !in !is as? " + /*soft keywords*/ "file import where by get set abstract enum open inner override private public internal " + "protected catch finally out final vararg reified dynamic companion constructor init " + "sealed field property receiver param sparam lateinit data inline noinline tailrec " + - "external annotation crossinline const operator infix suspend actual expect" + "external annotation crossinline const operator infix suspend actual expect setparam" ), types: words( /* package java.lang */ "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " + "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " + "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " + - "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void" + "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray " + + "ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy " + + "LazyThreadSafetyMode LongArray Nothing ShortArray Unit" ), intendSwitch: false, indentStatements: false, diff --git a/media/editors/codemirror/mode/clike/clike.min.js b/media/editors/codemirror/mode/clike/clike.min.js index 8e52dac2dbd37..8e36f66eeac94 100644 --- a/media/editors/codemirror/mode/clike/clike.min.js +++ b/media/editors/codemirror/mode/clike/clike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("NULL true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false NULL"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/dockerfile/dockerfile.js b/media/editors/codemirror/mode/dockerfile/dockerfile.js index 4419009afa8f7..769e787e4a869 100644 --- a/media/editors/codemirror/mode/dockerfile/dockerfile.js +++ b/media/editors/codemirror/mode/dockerfile/dockerfile.js @@ -11,30 +11,64 @@ })(function(CodeMirror) { "use strict"; + var from = "from"; + var fromRegex = new RegExp("^(\\s*)\\b(" + from + ")\\b", "i"); + + var shells = ["run", "cmd", "entrypoint", "shell"]; + var shellsAsArrayRegex = new RegExp("^(\\s*)(" + shells.join('|') + ")(\\s+\\[)", "i"); + + var expose = "expose"; + var exposeRegex = new RegExp("^(\\s*)(" + expose + ")(\\s+)", "i"); + + var others = [ + "arg", "from", "maintainer", "label", "env", + "add", "copy", "volume", "user", + "workdir", "onbuild", "stopsignal", "healthcheck", "shell" + ]; + // Collect all Dockerfile directives - var instructions = ["from", "maintainer", "run", "cmd", "expose", "env", - "add", "copy", "entrypoint", "volume", "user", - "workdir", "onbuild"], + var instructions = [from, expose].concat(shells).concat(others), instructionRegex = "(" + instructions.join('|') + ")", - instructionOnlyLine = new RegExp(instructionRegex + "\\s*$", "i"), - instructionWithArguments = new RegExp(instructionRegex + "(\\s+)", "i"); + instructionOnlyLine = new RegExp("^(\\s*)" + instructionRegex + "(\\s*)(#.*)?$", "i"), + instructionWithArguments = new RegExp("^(\\s*)" + instructionRegex + "(\\s+)", "i"); CodeMirror.defineSimpleMode("dockerfile", { start: [ // Block comment: This is a line starting with a comment { - regex: /#.*$/, + regex: /^\s*#.*$/, + sol: true, token: "comment" }, + { + regex: fromRegex, + token: [null, "keyword"], + sol: true, + next: "from" + }, // Highlight an instruction without any arguments (for convenience) { regex: instructionOnlyLine, - token: "variable-2" + token: [null, "keyword", null, "error"], + sol: true + }, + { + regex: shellsAsArrayRegex, + token: [null, "keyword", null], + sol: true, + next: "array" + }, + { + regex: exposeRegex, + token: [null, "keyword", null], + sol: true, + next: "expose" }, // Highlight an instruction followed by arguments { regex: instructionWithArguments, - token: ["variable-2", null], + token: [null, "keyword", null], + sol: true, next: "arguments" }, { @@ -42,37 +76,135 @@ token: null } ], - arguments: [ + from: [ + { + regex: /\s*$/, + token: null, + next: "start" + }, { // Line comment without instruction arguments is an error - regex: /#.*$/, - token: "error", + regex: /(\s*)(#.*)$/, + token: [null, "error"], next: "start" }, { - regex: /[^#]+\\$/, - token: null + regex: /(\s*\S+\s+)(as)/i, + token: [null, "keyword"], + next: "start" }, + // Fail safe return to start { - // Match everything except for the inline comment - regex: /[^#]+/, token: null, next: "start" + } + ], + single: [ + { + regex: /(?:[^\\']|\\.)/, + token: "string" }, { - regex: /$/, + regex: /'/, + token: "string", + pop: true + } + ], + double: [ + { + regex: /(?:[^\\"]|\\.)/, + token: "string" + }, + { + regex: /"/, + token: "string", + pop: true + } + ], + array: [ + { + regex: /\]/, token: null, next: "start" }, + { + regex: /"(?:[^\\"]|\\.)*"?/, + token: "string" + } + ], + expose: [ + { + regex: /\d+$/, + token: "number", + next: "start" + }, + { + regex: /[^\d]+$/, + token: null, + next: "start" + }, + { + regex: /\d+/, + token: "number" + }, + { + regex: /[^\d]+/, + token: null + }, // Fail safe return to start { token: null, next: "start" } ], - meta: { - lineComment: "#" + arguments: [ + { + regex: /^\s*#.*$/, + sol: true, + token: "comment" + }, + { + regex: /"(?:[^\\"]|\\.)*"?$/, + token: "string", + next: "start" + }, + { + regex: /"/, + token: "string", + push: "double" + }, + { + regex: /'(?:[^\\']|\\.)*'?$/, + token: "string", + next: "start" + }, + { + regex: /'/, + token: "string", + push: "single" + }, + { + regex: /[^#"']+[\\`]$/, + token: null + }, + { + regex: /[^#"']+$/, + token: null, + next: "start" + }, + { + regex: /[^#"']+/, + token: null + }, + // Fail safe return to start + { + token: null, + next: "start" } + ], + meta: { + lineComment: "#" + } }); CodeMirror.defineMIME("text/x-dockerfile", "dockerfile"); diff --git a/media/editors/codemirror/mode/dockerfile/dockerfile.min.js b/media/editors/codemirror/mode/dockerfile/dockerfile.min.js index 90b1787205645..d0aa22714c8c1 100644 --- a/media/editors/codemirror/mode/dockerfile/dockerfile.min.js +++ b/media/editors/codemirror/mode/dockerfile/dockerfile.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../addon/mode/simple")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],a):a(CodeMirror)})((function(a){"use strict";var b=["from","maintainer","run","cmd","expose","env","add","copy","entrypoint","volume","user","workdir","onbuild"],c="("+b.join("|")+")",d=new RegExp(c+"\\s*$","i"),e=new RegExp(c+"(\\s+)","i");a.defineSimpleMode("dockerfile",{start:[{regex:/#.*$/,token:"comment"},{regex:d,token:"variable-2"},{regex:e,token:["variable-2",null],next:"arguments"},{regex:/./,token:null}],arguments:[{regex:/#.*$/,token:"error",next:"start"},{regex:/[^#]+\\$/,token:null},{regex:/[^#]+/,token:null,next:"start"},{regex:/$/,token:null,next:"start"},{token:null,next:"start"}],meta:{lineComment:"#"}}),a.defineMIME("text/x-dockerfile","dockerfile")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../addon/mode/simple")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],a):a(CodeMirror)})((function(a){"use strict";var b="from",c=new RegExp("^(\\s*)\\b("+b+")\\b","i"),d=["run","cmd","entrypoint","shell"],e=new RegExp("^(\\s*)("+d.join("|")+")(\\s+\\[)","i"),f="expose",g=new RegExp("^(\\s*)("+f+")(\\s+)","i"),h=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],i=[b,f].concat(d).concat(h),j="("+i.join("|")+")",k=new RegExp("^(\\s*)"+j+"(\\s*)(#.*)?$","i"),l=new RegExp("^(\\s*)"+j+"(\\s+)","i");a.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:c,token:[null,"keyword"],sol:!0,next:"from"},{regex:k,token:[null,"keyword",null,"error"],sol:!0},{regex:e,token:[null,"keyword",null],sol:!0,next:"array"},{regex:g,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:l,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),a.defineMIME("text/x-dockerfile","dockerfile")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/haskell/haskell.js b/media/editors/codemirror/mode/haskell/haskell.js index 4197666a44f45..acc52b5c3b9ef 100644 --- a/media/editors/codemirror/mode/haskell/haskell.js +++ b/media/editors/codemirror/mode/haskell/haskell.js @@ -197,13 +197,14 @@ CodeMirror.defineMode("haskell", function(_config, modeConfig) { "\.\.", ":", "::", "=", "\\", "<-", "->", "@", "~", "=>"); setType("builtin")( - "!!", "$!", "$", "&&", "+", "++", "-", ".", "/", "/=", "<", "<=", "=<<", - "==", ">", ">=", ">>", ">>=", "^", "^^", "||", "*", "**"); + "!!", "$!", "$", "&&", "+", "++", "-", ".", "/", "/=", "<", "<*", "<=", + "<$>", "<*>", "=<<", "==", ">", ">=", ">>", ">>=", "^", "^^", "||", "*", + "*>", "**"); setType("builtin")( - "Bool", "Bounded", "Char", "Double", "EQ", "Either", "Enum", "Eq", - "False", "FilePath", "Float", "Floating", "Fractional", "Functor", "GT", - "IO", "IOError", "Int", "Integer", "Integral", "Just", "LT", "Left", + "Applicative", "Bool", "Bounded", "Char", "Double", "EQ", "Either", "Enum", + "Eq", "False", "FilePath", "Float", "Floating", "Fractional", "Functor", + "GT", "IO", "IOError", "Int", "Integer", "Integral", "Just", "LT", "Left", "Maybe", "Monad", "Nothing", "Num", "Ord", "Ordering", "Rational", "Read", "ReadS", "Real", "RealFloat", "RealFrac", "Right", "Show", "ShowS", "String", "True"); @@ -223,7 +224,7 @@ CodeMirror.defineMode("haskell", function(_config, modeConfig) { "lcm", "length", "lex", "lines", "log", "logBase", "lookup", "map", "mapM", "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound", "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or", - "otherwise", "pi", "pred", "print", "product", "properFraction", + "otherwise", "pi", "pred", "print", "product", "properFraction", "pure", "putChar", "putStr", "putStrLn", "quot", "quotRem", "read", "readFile", "readIO", "readList", "readLn", "readParen", "reads", "readsPrec", "realToFrac", "recip", "rem", "repeat", "replicate", "return", "reverse", diff --git a/media/editors/codemirror/mode/haskell/haskell.min.js b/media/editors/codemirror/mode/haskell/haskell.min.js index 438d0f04928b0..0f76165a1b044 100644 --- a/media/editors/codemirror/mode/haskell/haskell.min.js +++ b/media/editors/codemirror/mode/haskell/haskell.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("haskell",(function(a,b){function c(a,b,c){return b(c),c(a,b)}function d(a,b){if(a.eatWhile(p))return null;var d=a.next();if(o.test(d)){if("{"==d&&a.eat("-")){var g="comment";return a.eat("#")&&(g="meta"),c(a,b,e(g,1))}return null}if("'"==d)return a.eat("\\")?a.next():a.next(),a.eat("'")?"string":"string error";if('"'==d)return c(a,b,f);if(i.test(d))return a.eatWhile(m),a.eat(".")?"qualifier":"variable-2";if(h.test(d))return a.eatWhile(m),"variable";if(j.test(d)){if("0"==d){if(a.eat(/[xX]/))return a.eatWhile(k),"integer";if(a.eat(/[oO]/))return a.eatWhile(l),"number"}a.eatWhile(j);var g="number";return a.match(/^\.\d+/)&&(g="number"),a.eat(/[eE]/)&&(g="number",a.eat(/[-+]/),a.eatWhile(j)),g}if("."==d&&a.eat("."))return"keyword";if(n.test(d)){if("-"==d&&a.eat(/-/)&&(a.eatWhile(/-/),!a.eat(n)))return a.skipToEnd(),"comment";var g="variable";return":"==d&&(g="variable-2"),a.eatWhile(n),g}return"error"}function e(a,b){return 0==b?d:function(c,f){for(var g=b;!c.eol();){var h=c.next();if("{"==h&&c.eat("-"))++g;else if("-"==h&&c.eat("}")&&(--g,0==g))return f(d),a}return f(e(a,g)),a}}function f(a,b){for(;!a.eol();){var c=a.next();if('"'==c)return b(d),"string";if("\\"==c){if(a.eol()||a.eat(p))return b(g),"string";a.eat("&")||a.next()}}return b(d),"string error"}function g(a,b){return a.eat("\\")?c(a,b,f):(a.next(),b(d),"error")}var h=/[a-z_]/,i=/[A-Z]/,j=/\d/,k=/[0-9A-Fa-f]/,l=/[0-7]/,m=/[a-z_A-Z0-9'\xa1-\uffff]/,n=/[-!#$%&*+.\/<=>?@\\^|~:]/,o=/[(),;[\]`{}]/,p=/[ \t\v\f]/,q=(function(){function a(a){return function(){for(var b=0;b<arguments.length;b++)c[arguments[b]]=a}}var c={};a("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),a("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),a("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<=","=<<","==",">",">=",">>",">>=","^","^^","||","*","**"),a("builtin")("Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),a("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3");var d=b.overrideKeywords;if(d)for(var e in d)d.hasOwnProperty(e)&&(c[e]=d[e]);return c})();return{startState:function(){return{f:d}},copyState:function(a){return{f:a.f}},token:function(a,b){var c=b.f(a,(function(a){b.f=a})),d=a.current();return q.hasOwnProperty(d)?q[d]:c},blockCommentStart:"{-",blockCommentEnd:"-}",lineComment:"--"}})),a.defineMIME("text/x-haskell","haskell")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("haskell",(function(a,b){function c(a,b,c){return b(c),c(a,b)}function d(a,b){if(a.eatWhile(p))return null;var d=a.next();if(o.test(d)){if("{"==d&&a.eat("-")){var g="comment";return a.eat("#")&&(g="meta"),c(a,b,e(g,1))}return null}if("'"==d)return a.eat("\\")?a.next():a.next(),a.eat("'")?"string":"string error";if('"'==d)return c(a,b,f);if(i.test(d))return a.eatWhile(m),a.eat(".")?"qualifier":"variable-2";if(h.test(d))return a.eatWhile(m),"variable";if(j.test(d)){if("0"==d){if(a.eat(/[xX]/))return a.eatWhile(k),"integer";if(a.eat(/[oO]/))return a.eatWhile(l),"number"}a.eatWhile(j);var g="number";return a.match(/^\.\d+/)&&(g="number"),a.eat(/[eE]/)&&(g="number",a.eat(/[-+]/),a.eatWhile(j)),g}if("."==d&&a.eat("."))return"keyword";if(n.test(d)){if("-"==d&&a.eat(/-/)&&(a.eatWhile(/-/),!a.eat(n)))return a.skipToEnd(),"comment";var g="variable";return":"==d&&(g="variable-2"),a.eatWhile(n),g}return"error"}function e(a,b){return 0==b?d:function(c,f){for(var g=b;!c.eol();){var h=c.next();if("{"==h&&c.eat("-"))++g;else if("-"==h&&c.eat("}")&&(--g,0==g))return f(d),a}return f(e(a,g)),a}}function f(a,b){for(;!a.eol();){var c=a.next();if('"'==c)return b(d),"string";if("\\"==c){if(a.eol()||a.eat(p))return b(g),"string";a.eat("&")||a.next()}}return b(d),"string error"}function g(a,b){return a.eat("\\")?c(a,b,f):(a.next(),b(d),"error")}var h=/[a-z_]/,i=/[A-Z]/,j=/\d/,k=/[0-9A-Fa-f]/,l=/[0-7]/,m=/[a-z_A-Z0-9'\xa1-\uffff]/,n=/[-!#$%&*+.\/<=>?@\\^|~:]/,o=/[(),;[\]`{}]/,p=/[ \t\v\f]/,q=(function(){function a(a){return function(){for(var b=0;b<arguments.length;b++)c[arguments[b]]=a}}var c={};a("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),a("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),a("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),a("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),a("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3");var d=b.overrideKeywords;if(d)for(var e in d)d.hasOwnProperty(e)&&(c[e]=d[e]);return c})();return{startState:function(){return{f:d}},copyState:function(a){return{f:a.f}},token:function(a,b){var c=b.f(a,(function(a){b.f=a})),d=a.current();return q.hasOwnProperty(d)?q[d]:c},blockCommentStart:"{-",blockCommentEnd:"-}",lineComment:"--"}})),a.defineMIME("text/x-haskell","haskell")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/javascript/javascript.js b/media/editors/codemirror/mode/javascript/javascript.js index 9eb50ba974e8b..52da9e23532a4 100644 --- a/media/editors/codemirror/mode/javascript/javascript.js +++ b/media/editors/codemirror/mode/javascript/javascript.js @@ -400,6 +400,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "{") return contCommasep(objprop, "}", null, maybeop); if (type == "quasi") return pass(quasi, maybeop); if (type == "new") return cont(maybeTarget(noComma)); + if (type == "import") return cont(expression); return cont(); } function maybeexpression(type) { @@ -594,7 +595,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } function afterType(type, value) { if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) - if (value == "|" || type == ".") return cont(typeexpr) + if (value == "|" || type == "." || value == "&") return cont(typeexpr) if (type == "[") return cont(expect("]"), afterType) if (value == "extends" || value == "implements") { cx.marked = "keyword"; return cont(typeexpr) } } @@ -637,7 +638,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function maybeelse(type, value) { if (type == "keyword b" && value == "else") return cont(pushlex("form", "else"), statement, poplex); } - function forspec(type) { + function forspec(type, value) { + if (value == "await") return cont(forspec); if (type == "(") return cont(pushlex(")"), forspec1, expect(")"), poplex); } function forspec1(type) { @@ -726,6 +728,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } function afterImport(type) { if (type == "string") return cont(); + if (type == "(") return pass(expression); return pass(importSpec, maybeMoreImports, maybeFrom); } function importSpec(type, value) { diff --git a/media/editors/codemirror/mode/javascript/javascript.min.js b/media/editors/codemirror/mode/javascript/javascript.min.js index 7d7587842f04b..fca8ff5744947 100644 --- a/media/editors/codemirror/mode/javascript/javascript.min.js +++ b/media/editors/codemirror/mode/javascript/javascript.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Pa.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(Na.test(c)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ra.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ta.state=a,Ta.stream=e,Ta.marked=null,Ta.cc=f,Ta.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ta.marked?Ta.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ta.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ta.state;if(Ta.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ta.state.context={prev:Ta.state.context,vars:Ta.state.localVars},Ta.state.localVars=Ua}function s(){Ta.state.localVars=Ta.state.context.vars,Ta.state.context=Ta.state.context.prev}function t(a,b){var c=function(){var c=Ta.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ta.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ta.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ta.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ta.state.lexical.info&&Ta.state.cc[Ta.state.cc.length-1]==u&&Ta.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Ta.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Ta.stream.match(/^\s*\w/,!1)?(Ta.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Ta.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ta.state.fatArrowAt==Ta.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Sa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Ta.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Ta.marked="keyword",o(W,d)):"regexp"==a?(Ta.state.lastType=Ta.marked="operator",Ta.stream.backUp(Ta.stream.pos-Ta.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ta.marked="string-2",Ta.state.tokenize=i,o(E)}function G(a){return j(Ta.stream,Ta.state),n("{"==a?w:x)}function H(a){return j(Ta.stream,Ta.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ta.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ta.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ta.marked="property",o()}function N(a,b){if("async"==a)return Ta.marked="property",o(N);if("variable"==a||"keyword"==Ta.style){if(Ta.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Ta.state.fatArrowAt==Ta.stream.start&&(c=Ta.stream.match(/^\s*:\s*/,!1))&&(Ta.state.fatArrowAt=Ta.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ta.marked=Ka?"property":Ta.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Ta.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ta.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ta.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ta.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ta.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ma){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ma&&":"==a)return Ta.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ta.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ta.marked="keyword",o(W)):(Ta.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ta.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Ta.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Ta.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ta.stream.match(/^\s*:/,!1)?("variable"==a&&(Ta.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a){if("("==a)return o(t(")"),ja,v(")"),u)}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ta.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ta.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ta.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Ta.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Ta.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Ta.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ta.marked="keyword",o(sa)):"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Ta.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ta.marked="keyword",o(Aa,v(";"))):"default"==b?(Ta.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ta.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ta.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ta.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ta.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=c.statementIndent,Ka=c.jsonld,La=c.json||Ka,Ma=c.typescript,Na=c.wordCharacters||/[\w$\xa1-\uffff]/,Oa=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra="([{}])",Sa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ta={state:null,column:null,marked:null,cc:null},Ua={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"!=Ga||"++"!=Ha&&"--"!=Ha?Ga:"incdec",m(b,c,Ga,Ha,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ja&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ia:"stat"==l?i.indented+(Ea(b,d)?Ja||Ia:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ia):i.indented+(/^(?:case|default)\b/.test(d)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Pa.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(Na.test(c)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ra.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ta.state=a,Ta.stream=e,Ta.marked=null,Ta.cc=f,Ta.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ta.marked?Ta.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ta.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ta.state;if(Ta.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ta.state.context={prev:Ta.state.context,vars:Ta.state.localVars},Ta.state.localVars=Ua}function s(){Ta.state.localVars=Ta.state.context.vars,Ta.state.context=Ta.state.context.prev}function t(a,b){var c=function(){var c=Ta.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ta.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ta.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ta.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ta.state.lexical.info&&Ta.state.cc[Ta.state.cc.length-1]==u&&Ta.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Ta.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Ta.stream.match(/^\s*\w/,!1)?(Ta.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Ta.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ta.state.fatArrowAt==Ta.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Sa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):"import"==a?o(x):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Ta.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Ta.marked="keyword",o(W,d)):"regexp"==a?(Ta.state.lastType=Ta.marked="operator",Ta.stream.backUp(Ta.stream.pos-Ta.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ta.marked="string-2",Ta.state.tokenize=i,o(E)}function G(a){return j(Ta.stream,Ta.state),n("{"==a?w:x)}function H(a){return j(Ta.stream,Ta.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ta.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ta.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ta.marked="property",o()}function N(a,b){if("async"==a)return Ta.marked="property",o(N);if("variable"==a||"keyword"==Ta.style){if(Ta.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Ta.state.fatArrowAt==Ta.stream.start&&(c=Ta.stream.match(/^\s*:\s*/,!1))&&(Ta.state.fatArrowAt=Ta.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ta.marked=Ka?"property":Ta.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Ta.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ta.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ta.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ta.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ta.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ma){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ma&&":"==a)return Ta.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ta.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ta.marked="keyword",o(W)):(Ta.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a||"&"==b?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ta.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Ta.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Ta.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ta.stream.match(/^\s*:/,!1)?("variable"==a&&(Ta.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a,b){return"await"==b?o(ia):"("==a?o(t(")"),ja,v(")"),u):void 0}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ta.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ta.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ta.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Ta.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Ta.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Ta.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ta.marked="keyword",o(sa)):"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Ta.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ta.marked="keyword",o(Aa,v(";"))):"default"==b?(Ta.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ta.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():"("==a?n(x):n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ta.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ta.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ta.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=c.statementIndent,Ka=c.jsonld,La=c.json||Ka,Ma=c.typescript,Na=c.wordCharacters||/[\w$\xa1-\uffff]/,Oa=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra="([{}])",Sa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ta={state:null,column:null,marked:null,cc:null},Ua={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"!=Ga||"++"!=Ha&&"--"!=Ha?Ga:"incdec",m(b,c,Ga,Ha,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ja&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ia:"stat"==l?i.indented+(Ea(b,d)?Ja||Ia:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ia):i.indented+(/^(?:case|default)\b/.test(d)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/mathematica/mathematica.js b/media/editors/codemirror/mode/mathematica/mathematica.js index d6977088ce1af..07e808b1e9386 100644 --- a/media/editors/codemirror/mode/mathematica/mathematica.js +++ b/media/editors/codemirror/mode/mathematica/mathematica.js @@ -71,12 +71,12 @@ CodeMirror.defineMode('mathematica', function(_config, _parserConfig) { } // usage - if (stream.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::usage)/, true, false)) { + if (stream.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/, true, false)) { return 'meta'; } // message - if (stream.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/, true, false)) { + if (stream.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/, true, false)) { return 'string-2'; } diff --git a/media/editors/codemirror/mode/mathematica/mathematica.min.js b/media/editors/codemirror/mode/mathematica/mathematica.min.js index ec095a62e11c7..50ca448e29bfb 100644 --- a/media/editors/codemirror/mode/mathematica/mathematica.min.js +++ b/media/editors/codemirror/mode/mathematica/mathematica.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mathematica",(function(a,b){function c(a,b){var c;return c=a.next(),'"'===c?(b.tokenize=d,b.tokenize(a,b)):"("===c&&a.eat("*")?(b.commentLevel++,b.tokenize=e,b.tokenize(a,b)):(a.backUp(1),a.match(k,!0,!1)?"number":a.match(l,!0,!1)?"number":a.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":a.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::usage)/,!0,!1)?"meta":a.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string-2":a.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)?"variable-2":a.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":a.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)?"variable-2":a.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":a.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":a.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":a.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":a.match(m,!0,!1)?"keyword":a.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(a.next(),"error"))}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}var f="[a-zA-Z\\$][a-zA-Z0-9\\$]*",g="(?:\\d+)",h="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",i="(?:\\.\\w+|\\w+\\.\\w*|\\w+)",j="(?:`(?:`?"+h+")?)",k=new RegExp("(?:"+g+"(?:\\^\\^"+i+j+"?(?:\\*\\^[+-]?\\d+)?))"),l=new RegExp("(?:"+h+j+"?(?:\\*\\^[+-]?\\d+)?)"),m=new RegExp("(?:`?)(?:"+f+")(?:`(?:"+f+"))*(?:`?)");return{startState:function(){return{tokenize:c,commentLevel:0}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)"}})),a.defineMIME("text/x-mathematica",{name:"mathematica"})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("mathematica",(function(a,b){function c(a,b){var c;return c=a.next(),'"'===c?(b.tokenize=d,b.tokenize(a,b)):"("===c&&a.eat("*")?(b.commentLevel++,b.tokenize=e,b.tokenize(a,b)):(a.backUp(1),a.match(k,!0,!1)?"number":a.match(l,!0,!1)?"number":a.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":a.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":a.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string-2":a.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)?"variable-2":a.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":a.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)?"variable-2":a.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":a.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":a.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":a.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":a.match(m,!0,!1)?"keyword":a.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(a.next(),"error"))}function d(a,b){for(var d,e=!1,f=!1;null!=(d=a.next());){if('"'===d&&!f){e=!0;break}f=!f&&"\\"===d}return e&&!f&&(b.tokenize=c),"string"}function e(a,b){for(var d,e;b.commentLevel>0&&null!=(e=a.next());)"("===d&&"*"===e&&b.commentLevel++,"*"===d&&")"===e&&b.commentLevel--,d=e;return b.commentLevel<=0&&(b.tokenize=c),"comment"}var f="[a-zA-Z\\$][a-zA-Z0-9\\$]*",g="(?:\\d+)",h="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",i="(?:\\.\\w+|\\w+\\.\\w*|\\w+)",j="(?:`(?:`?"+h+")?)",k=new RegExp("(?:"+g+"(?:\\^\\^"+i+j+"?(?:\\*\\^[+-]?\\d+)?))"),l=new RegExp("(?:"+h+j+"?(?:\\*\\^[+-]?\\d+)?)"),m=new RegExp("(?:`?)(?:"+f+")(?:`(?:"+f+"))*(?:`?)");return{startState:function(){return{tokenize:c,commentLevel:0}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"(*",blockCommentEnd:"*)"}})),a.defineMIME("text/x-mathematica",{name:"mathematica"})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/meta.js b/media/editors/codemirror/mode/meta.js index 6377e1b9afaad..615b6a5883dd6 100644 --- a/media/editors/codemirror/mode/meta.js +++ b/media/editors/codemirror/mode/meta.js @@ -138,7 +138,7 @@ {name: "Stylus", mime: "text/x-styl", mode: "stylus", ext: ["styl"]}, {name: "Swift", mime: "text/x-swift", mode: "swift", ext: ["swift"]}, {name: "sTeX", mime: "text/x-stex", mode: "stex"}, - {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx"], alias: ["tex"]}, + {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx", "tex"], alias: ["tex"]}, {name: "SystemVerilog", mime: "text/x-systemverilog", mode: "verilog", ext: ["v", "sv", "svh"]}, {name: "Tcl", mime: "text/x-tcl", mode: "tcl", ext: ["tcl"]}, {name: "Textile", mime: "text/x-textile", mode: "textile", ext: ["textile"]}, diff --git a/media/editors/codemirror/mode/meta.min.js b/media/editors/codemirror/mode/meta.min.js index bad0396244fd7..1509e8abaef29 100644 --- a/media/editors/codemirror/mode/meta.min.js +++ b/media/editors/codemirror/mode/meta.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/nsis/nsis.js b/media/editors/codemirror/mode/nsis/nsis.js index d6c61facf3a25..69bc95074f142 100644 --- a/media/editors/codemirror/mode/nsis/nsis.js +++ b/media/editors/codemirror/mode/nsis/nsis.js @@ -24,14 +24,14 @@ CodeMirror.defineSimpleMode("nsis",{ { regex: /`(?:[^\\`]|\\.)*`?/, token: "string" }, // Compile Time Commands - {regex: /^\s*(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|pragma|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|makensis|searchparse|searchreplace))\b/, token: "keyword"}, + {regex: /^\s*(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|pragma|finalize|getdllversion|gettlbversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace))\b/, token: "keyword"}, // Conditional Compilation {regex: /^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/, token: "keyword", indent: true}, {regex: /^\s*(?:\!(else|endif|macroend))\b/, token: "keyword", dedent: true}, // Runtime Commands - {regex: /^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/, token: "keyword"}, + {regex: /^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEDllCharacteristics|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/, token: "keyword"}, {regex: /^\s*(?:Function|PageEx|Section(?:Group)?)\b/, token: "keyword", indent: true}, {regex: /^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/, token: "keyword", dedent: true}, diff --git a/media/editors/codemirror/mode/nsis/nsis.min.js b/media/editors/codemirror/mode/nsis/nsis.min.js index 5c027fd3caccf..d7a1291af5707 100644 --- a/media/editors/codemirror/mode/nsis/nsis.min.js +++ b/media/editors/codemirror/mode/nsis/nsis.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../addon/mode/simple")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],a):a(CodeMirror)})((function(a){"use strict";a.defineSimpleMode("nsis",{start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|pragma|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|makensis|searchparse|searchreplace))\b/,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,token:"atom"},{regex:/\b(?:admin|all|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|zlib)\b/,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:RunningX64)\}/,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/,token:"variable-2",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w+/,token:"variable"},{regex:/\${[\w\.:-]+}/,token:"variable-2"},{regex:/\$\([\w\.:-]+\)/,token:"variable-3"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{electricInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:["#",";"]}}),a.defineMIME("text/x-nsis","nsis")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../addon/mode/simple")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],a):a(CodeMirror)})((function(a){"use strict";a.defineSimpleMode("nsis",{start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|pragma|finalize|getdllversion|gettlbversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace))\b/,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEDllCharacteristics|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,token:"atom"},{regex:/\b(?:admin|all|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|zlib)\b/,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:RunningX64)\}/,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/,token:"variable-2",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w+/,token:"variable"},{regex:/\${[\w\.:-]+}/,token:"variable-2"},{regex:/\$\([\w\.:-]+\)/,token:"variable-3"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{electricInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:["#",";"]}}),a.defineMIME("text/x-nsis","nsis")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/python/python.js b/media/editors/codemirror/mode/python/python.js index c318793207387..4de1e75d5402c 100644 --- a/media/editors/codemirror/mode/python/python.js +++ b/media/editors/codemirror/mode/python/python.js @@ -41,7 +41,7 @@ CodeMirror.defineMode("python", function(conf, parserConf) { var ERRORCLASS = "error"; - var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\(\)\[\]\{\}@,:`=;\.]/; + var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\(\)\[\]\{\}@,:`=;\.\\]/; // (Backwards-compatiblity with old, cumbersome config system) var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters, parserConf.operators || /^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/] @@ -76,9 +76,10 @@ // tokenizers function tokenBase(stream, state) { - if (stream.sol()) state.indent = stream.indentation() + var sol = stream.sol() && state.lastToken != "\\" + if (sol) state.indent = stream.indentation() // Handle scope changes - if (stream.sol() && top(state).type == "py") { + if (sol && top(state).type == "py") { var scopeOffset = top(state).offset; if (stream.eatSpace()) { var lineOffset = stream.indentation(); @@ -100,13 +101,8 @@ function tokenBaseInner(stream, state) { if (stream.eatSpace()) return null; - var ch = stream.peek(); - // Handle Comments - if (ch == "#") { - stream.skipToEnd(); - return "comment"; - } + if (stream.match(/^#.*/)) return "comment"; // Handle Number Literals if (stream.match(/^[0-9\.]/, false)) { diff --git a/media/editors/codemirror/mode/python/python.min.js b/media/editors/codemirror/mode/python/python.min.js index f50f53795b812..b2a9cf6054975 100644 --- a/media/editors/codemirror/mode/python/python.min.js +++ b/media/editors/codemirror/mode/python/python.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){return a.scopes[a.scopes.length-1]}var d=b(["and","or","not","is"]),e=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],f=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];a.registerHelper("hintWords","python",e.concat(f)),a.defineMode("python",(function(g,h){function i(a,b){if(a.sol()&&(b.indent=a.indentation()),a.sol()&&"py"==c(b).type){var d=c(b).offset;if(a.eatSpace()){var e=a.indentation();return e>d?l(b):e<d&&n(a,b)&&"#"!=a.peek()&&(b.errorToken=!0),null}var f=j(a,b);return d>0&&n(a,b)&&(f+=" "+p),f}return j(a,b)}function j(a,b){if(a.eatSpace())return null;var c=a.peek();if("#"==c)return a.skipToEnd(),"comment";if(a.match(/^[0-9\.]/,!1)){var e=!1;if(a.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(e=!0),a.match(/^[\d_]+\.\d*/)&&(e=!0),a.match(/^\.\d+/)&&(e=!0),e)return a.eat(/J/i),"number";var f=!1;if(a.match(/^0x[0-9a-f_]+/i)&&(f=!0),a.match(/^0b[01_]+/i)&&(f=!0),a.match(/^0o[0-7_]+/i)&&(f=!0),a.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(a.eat(/J/i),f=!0),a.match(/^0(?![\dx])/i)&&(f=!0),f)return a.eat(/L/i),"number"}if(a.match(y))return b.tokenize=k(a.current()),b.tokenize(a,b);for(var g=0;g<r.length;g++)if(a.match(r[g]))return"operator";return a.match(q)?"punctuation":"."==b.lastToken&&a.match(x)?"property":a.match(z)||a.match(d)?"keyword":a.match(A)?"builtin":a.match(/^(self|cls)\b/)?"variable-2":a.match(x)?"def"==b.lastToken||"class"==b.lastToken?"def":"variable":(a.next(),p)}function k(a){function b(b,e){for(;!b.eol();)if(b.eatWhile(/[^'"\\]/),b.eat("\\")){if(b.next(),c&&b.eol())return d}else{if(b.match(a))return e.tokenize=i,d;b.eat(/['"]/)}if(c){if(h.singleLineStringErrors)return p;e.tokenize=i}return d}for(;"rubf".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var c=1==a.length,d="string";return b.isString=!0,b}function l(a){for(;"py"!=c(a).type;)a.scopes.pop();a.scopes.push({offset:c(a).offset+g.indentUnit,type:"py",align:null})}function m(a,b,c){var d=a.match(/^([\s\[\{\(]|#.*)*$/,!1)?null:a.column()+1;b.scopes.push({offset:b.indent+t,type:c,align:d})}function n(a,b){for(var d=a.indentation();b.scopes.length>1&&c(b).offset>d;){if("py"!=c(b).type)return!0;b.scopes.pop()}return c(b).offset!=d}function o(a,b){a.sol()&&(b.beginningOfLine=!0);var d=b.tokenize(a,b),e=a.current();if(b.beginningOfLine&&"@"==e)return a.match(x,!1)?"meta":w?"operator":p;/\S/.test(e)&&(b.beginningOfLine=!1),"variable"!=d&&"builtin"!=d||"meta"!=b.lastToken||(d="meta"),"pass"!=e&&"return"!=e||(b.dedent+=1),"lambda"==e&&(b.lambda=!0),":"!=e||b.lambda||"py"!=c(b).type||l(b);var f=1==e.length?"[({".indexOf(e):-1;if(f!=-1&&m(a,b,"])}".slice(f,f+1)),f="])}".indexOf(e),f!=-1){if(c(b).type!=e)return p;b.indent=b.scopes.pop().offset-t}return b.dedent>0&&a.eol()&&"py"==c(b).type&&(b.scopes.length>1&&b.scopes.pop(),b.dedent-=1),d}for(var p="error",q=h.delimiters||h.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.]/,r=[h.singleOperators,h.doubleOperators,h.doubleDelimiters,h.tripleDelimiters,h.operators||/^([-+*\/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/],s=0;s<r.length;s++)r[s]||r.splice(s--,1);var t=h.hangingIndent||g.indentUnit,u=e,v=f;void 0!=h.extra_keywords&&(u=u.concat(h.extra_keywords)),void 0!=h.extra_builtins&&(v=v.concat(h.extra_builtins));var w=!(h.version&&Number(h.version)<3);if(w){var x=h.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;u=u.concat(["nonlocal","False","True","None","async","await"]),v=v.concat(["ascii","bytes","exec","print"]);var y=new RegExp("^(([rbuf]|(br))?('{3}|\"{3}|['\"]))","i")}else{var x=h.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;u=u.concat(["exec","print"]),v=v.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"]);var y=new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}var z=b(u),A=b(v),B={startState:function(a){return{tokenize:i,scopes:[{offset:a||0,type:"py",align:null}],indent:a||0,lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=b.errorToken;c&&(b.errorToken=!1);var d=o(a,b);return d&&"comment"!=d&&(b.lastToken="keyword"==d||"punctuation"==d?a.current():d),"punctuation"==d&&(d=null),a.eol()&&b.lambda&&(b.lambda=!1),c?d+" "+p:d},indent:function(b,d){if(b.tokenize!=i)return b.tokenize.isString?a.Pass:0;var e=c(b),f=e.type==d.charAt(0);return null!=e.align?e.align-(f?1:0):e.offset-(f?t:0)},electricInput:/^\s*[\}\]\)]$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return B})),a.defineMIME("text/x-python","python");var g=function(a){return a.split(" ")};a.defineMIME("text/x-cython",{name:"python",extra_keywords:g("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){return a.scopes[a.scopes.length-1]}var d=b(["and","or","not","is"]),e=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],f=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];a.registerHelper("hintWords","python",e.concat(f)),a.defineMode("python",(function(g,h){function i(a,b){var d=a.sol()&&"\\"!=b.lastToken;if(d&&(b.indent=a.indentation()),d&&"py"==c(b).type){var e=c(b).offset;if(a.eatSpace()){var f=a.indentation();return f>e?l(b):f<e&&n(a,b)&&"#"!=a.peek()&&(b.errorToken=!0),null}var g=j(a,b);return e>0&&n(a,b)&&(g+=" "+p),g}return j(a,b)}function j(a,b){if(a.eatSpace())return null;if(a.match(/^#.*/))return"comment";if(a.match(/^[0-9\.]/,!1)){var c=!1;if(a.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(c=!0),a.match(/^[\d_]+\.\d*/)&&(c=!0),a.match(/^\.\d+/)&&(c=!0),c)return a.eat(/J/i),"number";var e=!1;if(a.match(/^0x[0-9a-f_]+/i)&&(e=!0),a.match(/^0b[01_]+/i)&&(e=!0),a.match(/^0o[0-7_]+/i)&&(e=!0),a.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(a.eat(/J/i),e=!0),a.match(/^0(?![\dx])/i)&&(e=!0),e)return a.eat(/L/i),"number"}if(a.match(y))return b.tokenize=k(a.current()),b.tokenize(a,b);for(var f=0;f<r.length;f++)if(a.match(r[f]))return"operator";return a.match(q)?"punctuation":"."==b.lastToken&&a.match(x)?"property":a.match(z)||a.match(d)?"keyword":a.match(A)?"builtin":a.match(/^(self|cls)\b/)?"variable-2":a.match(x)?"def"==b.lastToken||"class"==b.lastToken?"def":"variable":(a.next(),p)}function k(a){function b(b,e){for(;!b.eol();)if(b.eatWhile(/[^'"\\]/),b.eat("\\")){if(b.next(),c&&b.eol())return d}else{if(b.match(a))return e.tokenize=i,d;b.eat(/['"]/)}if(c){if(h.singleLineStringErrors)return p;e.tokenize=i}return d}for(;"rubf".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var c=1==a.length,d="string";return b.isString=!0,b}function l(a){for(;"py"!=c(a).type;)a.scopes.pop();a.scopes.push({offset:c(a).offset+g.indentUnit,type:"py",align:null})}function m(a,b,c){var d=a.match(/^([\s\[\{\(]|#.*)*$/,!1)?null:a.column()+1;b.scopes.push({offset:b.indent+t,type:c,align:d})}function n(a,b){for(var d=a.indentation();b.scopes.length>1&&c(b).offset>d;){if("py"!=c(b).type)return!0;b.scopes.pop()}return c(b).offset!=d}function o(a,b){a.sol()&&(b.beginningOfLine=!0);var d=b.tokenize(a,b),e=a.current();if(b.beginningOfLine&&"@"==e)return a.match(x,!1)?"meta":w?"operator":p;/\S/.test(e)&&(b.beginningOfLine=!1),"variable"!=d&&"builtin"!=d||"meta"!=b.lastToken||(d="meta"),"pass"!=e&&"return"!=e||(b.dedent+=1),"lambda"==e&&(b.lambda=!0),":"!=e||b.lambda||"py"!=c(b).type||l(b);var f=1==e.length?"[({".indexOf(e):-1;if(f!=-1&&m(a,b,"])}".slice(f,f+1)),f="])}".indexOf(e),f!=-1){if(c(b).type!=e)return p;b.indent=b.scopes.pop().offset-t}return b.dedent>0&&a.eol()&&"py"==c(b).type&&(b.scopes.length>1&&b.scopes.pop(),b.dedent-=1),d}for(var p="error",q=h.delimiters||h.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,r=[h.singleOperators,h.doubleOperators,h.doubleDelimiters,h.tripleDelimiters,h.operators||/^([-+*\/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/],s=0;s<r.length;s++)r[s]||r.splice(s--,1);var t=h.hangingIndent||g.indentUnit,u=e,v=f;void 0!=h.extra_keywords&&(u=u.concat(h.extra_keywords)),void 0!=h.extra_builtins&&(v=v.concat(h.extra_builtins));var w=!(h.version&&Number(h.version)<3);if(w){var x=h.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;u=u.concat(["nonlocal","False","True","None","async","await"]),v=v.concat(["ascii","bytes","exec","print"]);var y=new RegExp("^(([rbuf]|(br))?('{3}|\"{3}|['\"]))","i")}else{var x=h.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;u=u.concat(["exec","print"]),v=v.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"]);var y=new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}var z=b(u),A=b(v),B={startState:function(a){return{tokenize:i,scopes:[{offset:a||0,type:"py",align:null}],indent:a||0,lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=b.errorToken;c&&(b.errorToken=!1);var d=o(a,b);return d&&"comment"!=d&&(b.lastToken="keyword"==d||"punctuation"==d?a.current():d),"punctuation"==d&&(d=null),a.eol()&&b.lambda&&(b.lambda=!1),c?d+" "+p:d},indent:function(b,d){if(b.tokenize!=i)return b.tokenize.isString?a.Pass:0;var e=c(b),f=e.type==d.charAt(0);return null!=e.align?e.align-(f?1:0):e.offset-(f?t:0)},electricInput:/^\s*[\}\]\)]$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return B})),a.defineMIME("text/x-python","python");var g=function(a){return a.split(" ")};a.defineMIME("text/x-cython",{name:"python",extra_keywords:g("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/sql/sql.js b/media/editors/codemirror/mode/sql/sql.js index 63e87733bf768..2010b1c2505cc 100644 --- a/media/editors/codemirror/mode/sql/sql.js +++ b/media/editors/codemirror/mode/sql/sql.js @@ -21,7 +21,8 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { operatorChars = parserConfig.operatorChars || /^[*+\-%<>!=&|~^]/, support = parserConfig.support || {}, hooks = parserConfig.hooks || {}, - dateSQL = parserConfig.dateSQL || {"date" : true, "time" : true, "timestamp" : true}; + dateSQL = parserConfig.dateSQL || {"date" : true, "time" : true, "timestamp" : true}, + backslashStringEscapes = parserConfig.backslashStringEscapes !== false function tokenBase(stream, state) { var ch = stream.next(); @@ -125,7 +126,7 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { state.tokenize = tokenBase; break; } - escaped = !escaped && ch == "\\"; + escaped = backslashStringEscapes && !escaped && ch == "\\"; } return "string"; }; @@ -292,6 +293,7 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { builtin: set("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=]/, + backslashStringEscapes: false, dateSQL: set("date datetimeoffset datetime2 smalldatetime datetime time"), hooks: { "@": hookVar diff --git a/media/editors/codemirror/mode/sql/sql.min.js b/media/editors/codemirror/mode/sql/sql.min.js index e4a88c798241e..3887f2a8cf30d 100644 --- a/media/editors/codemirror/mode/sql/sql.min.js +++ b/media/editors/codemirror/mode/sql/sql.min.js @@ -1,2 +1,2 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(c))return null;if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),null;if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0};return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(c))return null;if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),null;if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=q&&!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0},q=c.backslashStringEscapes!==!1;return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,backslashStringEscapes:!1,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-sparksql",{name:"sql",keywords:f("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:f("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:f("false true null"),operatorChars:/^[*+\-%<>!=~&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote zerolessFloat")}),a.defineMIME("text/x-esper",{name:"sql",client:f("source"),keywords:f("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:f("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("time"),support:f("decimallessFloat zerolessFloat binaryNumber hexNumber")})})()})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/stex/stex.js b/media/editors/codemirror/mode/stex/stex.js index 835ed46d1ec4c..12e5750b19ad7 100644 --- a/media/editors/codemirror/mode/stex/stex.js +++ b/media/editors/codemirror/mode/stex/stex.js @@ -78,6 +78,14 @@ plugins["begin"] = addPluginPattern("begin", "tag", ["atom"]); plugins["end"] = addPluginPattern("end", "tag", ["atom"]); + plugins["label" ] = addPluginPattern("label" , "tag", ["atom"]); + plugins["ref" ] = addPluginPattern("ref" , "tag", ["atom"]); + plugins["eqref" ] = addPluginPattern("eqref" , "tag", ["atom"]); + plugins["cite" ] = addPluginPattern("cite" , "tag", ["atom"]); + plugins["bibitem" ] = addPluginPattern("bibitem" , "tag", ["atom"]); + plugins["Bibitem" ] = addPluginPattern("Bibitem" , "tag", ["atom"]); + plugins["RBibitem" ] = addPluginPattern("RBibitem" , "tag", ["atom"]); + plugins["DEFAULT"] = function () { this.name = "DEFAULT"; this.style = "tag"; @@ -117,6 +125,10 @@ setState(state, function(source, state){ return inMathMode(source, state, "\\]"); }); return "keyword"; } + if (source.match("\\(")) { + setState(state, function(source, state){ return inMathMode(source, state, "\\)"); }); + return "keyword"; + } if (source.match("$$")) { setState(state, function(source, state){ return inMathMode(source, state, "$$"); }); return "keyword"; diff --git a/media/editors/codemirror/mode/stex/stex.min.js b/media/editors/codemirror/mode/stex/stex.min.js index 98c580eaf7fe0..2a2a074075c68 100644 --- a/media/editors/codemirror/mode/stex/stex.min.js +++ b/media/editors/codemirror/mode/stex/stex.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("stex",(function(){function a(a,b){a.cmdState.push(b)}function b(a){return a.cmdState.length>0?a.cmdState[a.cmdState.length-1]:null}function c(a){var b=a.cmdState.pop();b&&b.closeBracket()}function d(a){for(var b=a.cmdState,c=b.length-1;c>=0;c--){var d=b[c];if("DEFAULT"!=d.name)return d}return{styleIdentifier:function(){return null}}}function e(a,b,c){return function(){this.name=a,this.bracketNo=0,this.style=b,this.styles=c,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}function f(a,b){a.f=b}function g(c,e){var g;if(c.match(/^\\[a-zA-Z@]+/)){var k=c.current().slice(1);return g=j[k]||j.DEFAULT,g=new g,a(e,g),f(e,i),g.style}if(c.match(/^\\[$&%#{}_]/))return"tag";if(c.match(/^\\[,;!\/\\]/))return"tag";if(c.match("\\["))return f(e,(function(a,b){return h(a,b,"\\]")})),"keyword";if(c.match("$$"))return f(e,(function(a,b){return h(a,b,"$$")})),"keyword";if(c.match("$"))return f(e,(function(a,b){return h(a,b,"$")})),"keyword";var l=c.next();return"%"==l?(c.skipToEnd(),"comment"):"}"==l||"]"==l?(g=b(e))?(g.closeBracket(l),f(e,i),"bracket"):"error":"{"==l||"["==l?(g=j.DEFAULT,g=new g,a(e,g),"bracket"):/\d/.test(l)?(c.eatWhile(/[\w.%]/),"atom"):(c.eatWhile(/[\w\-_]/),g=d(e),"begin"==g.name&&(g.argument=c.current()),g.styleIdentifier())}function h(a,b,c){if(a.eatSpace())return null;if(a.match(c))return f(b,g),"keyword";if(a.match(/^\\[a-zA-Z@]+/))return"tag";if(a.match(/^[a-zA-Z]+/))return"variable-2";if(a.match(/^\\[$&%#{}_]/))return"tag";if(a.match(/^\\[,;!\/]/))return"tag";if(a.match(/^[\^_&]/))return"tag";if(a.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(a.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var d=a.next();return"{"==d||"}"==d||"["==d||"]"==d||"("==d||")"==d?"bracket":"%"==d?(a.skipToEnd(),"comment"):"error"}function i(a,d){var e,h=a.peek();return"{"==h||"["==h?(e=b(d),e.openBracket(h),a.eat(h),f(d,g),"bracket"):/[ \t\r]/.test(h)?(a.eat(h),null):(f(d,g),c(d),g(a,d))}var j={};return j.importmodule=e("importmodule","tag",["string","builtin"]),j.documentclass=e("documentclass","tag",["","atom"]),j.usepackage=e("usepackage","tag",["atom"]),j.begin=e("begin","tag",["atom"]),j.end=e("end","tag",["atom"]),j.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{startState:function(){return{cmdState:[],f:g}},copyState:function(a){return{cmdState:a.cmdState.slice(),f:a.f}},token:function(a,b){return b.f(a,b)},blankLine:function(a){a.f=g,a.cmdState.length=0},lineComment:"%"}})),a.defineMIME("text/x-stex","stex"),a.defineMIME("text/x-latex","stex")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("stex",(function(){function a(a,b){a.cmdState.push(b)}function b(a){return a.cmdState.length>0?a.cmdState[a.cmdState.length-1]:null}function c(a){var b=a.cmdState.pop();b&&b.closeBracket()}function d(a){for(var b=a.cmdState,c=b.length-1;c>=0;c--){var d=b[c];if("DEFAULT"!=d.name)return d}return{styleIdentifier:function(){return null}}}function e(a,b,c){return function(){this.name=a,this.bracketNo=0,this.style=b,this.styles=c,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}function f(a,b){a.f=b}function g(c,e){var g;if(c.match(/^\\[a-zA-Z@]+/)){var k=c.current().slice(1);return g=j[k]||j.DEFAULT,g=new g,a(e,g),f(e,i),g.style}if(c.match(/^\\[$&%#{}_]/))return"tag";if(c.match(/^\\[,;!\/\\]/))return"tag";if(c.match("\\["))return f(e,(function(a,b){return h(a,b,"\\]")})),"keyword";if(c.match("\\("))return f(e,(function(a,b){return h(a,b,"\\)")})),"keyword";if(c.match("$$"))return f(e,(function(a,b){return h(a,b,"$$")})),"keyword";if(c.match("$"))return f(e,(function(a,b){return h(a,b,"$")})),"keyword";var l=c.next();return"%"==l?(c.skipToEnd(),"comment"):"}"==l||"]"==l?(g=b(e))?(g.closeBracket(l),f(e,i),"bracket"):"error":"{"==l||"["==l?(g=j.DEFAULT,g=new g,a(e,g),"bracket"):/\d/.test(l)?(c.eatWhile(/[\w.%]/),"atom"):(c.eatWhile(/[\w\-_]/),g=d(e),"begin"==g.name&&(g.argument=c.current()),g.styleIdentifier())}function h(a,b,c){if(a.eatSpace())return null;if(a.match(c))return f(b,g),"keyword";if(a.match(/^\\[a-zA-Z@]+/))return"tag";if(a.match(/^[a-zA-Z]+/))return"variable-2";if(a.match(/^\\[$&%#{}_]/))return"tag";if(a.match(/^\\[,;!\/]/))return"tag";if(a.match(/^[\^_&]/))return"tag";if(a.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(a.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var d=a.next();return"{"==d||"}"==d||"["==d||"]"==d||"("==d||")"==d?"bracket":"%"==d?(a.skipToEnd(),"comment"):"error"}function i(a,d){var e,h=a.peek();return"{"==h||"["==h?(e=b(d),e.openBracket(h),a.eat(h),f(d,g),"bracket"):/[ \t\r]/.test(h)?(a.eat(h),null):(f(d,g),c(d),g(a,d))}var j={};return j.importmodule=e("importmodule","tag",["string","builtin"]),j.documentclass=e("documentclass","tag",["","atom"]),j.usepackage=e("usepackage","tag",["atom"]),j.begin=e("begin","tag",["atom"]),j.end=e("end","tag",["atom"]),j.label=e("label","tag",["atom"]),j.ref=e("ref","tag",["atom"]),j.eqref=e("eqref","tag",["atom"]),j.cite=e("cite","tag",["atom"]),j.bibitem=e("bibitem","tag",["atom"]),j.Bibitem=e("Bibitem","tag",["atom"]),j.RBibitem=e("RBibitem","tag",["atom"]),j.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{startState:function(){return{cmdState:[],f:g}},copyState:function(a){return{cmdState:a.cmdState.slice(),f:a.f}},token:function(a,b){return b.f(a,b)},blankLine:function(a){a.f=g,a.cmdState.length=0},lineComment:"%"}})),a.defineMIME("text/x-stex","stex"),a.defineMIME("text/x-latex","stex")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/yaml/yaml.js b/media/editors/codemirror/mode/yaml/yaml.js index 59c0ecdbec9c7..f35a40130aa2a 100644 --- a/media/editors/codemirror/mode/yaml/yaml.js +++ b/media/editors/codemirror/mode/yaml/yaml.js @@ -108,7 +108,8 @@ CodeMirror.defineMode("yaml", function() { literal: false, escaped: false }; - } + }, + lineComment: "#" }; }); diff --git a/media/editors/codemirror/mode/yaml/yaml.min.js b/media/editors/codemirror/mode/yaml/yaml.min.js index 51d59abcecfb1..2a4eebd6c1284 100644 --- a/media/editors/codemirror/mode/yaml/yaml.min.js +++ b/media/editors/codemirror/mode/yaml/yaml.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("yaml",(function(){var a=["true","false","on","off","yes","no"],b=new RegExp("\\b(("+a.join(")|(")+"))$","i");return{token:function(a,c){var d=a.peek(),e=c.escaped;if(c.escaped=!1,"#"==d&&(0==a.pos||/\s/.test(a.string.charAt(a.pos-1))))return a.skipToEnd(),"comment";if(a.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(c.literal&&a.indentation()>c.keyCol)return a.skipToEnd(),"string";if(c.literal&&(c.literal=!1),a.sol()){if(c.keyCol=0,c.pair=!1,c.pairStart=!1,a.match(/---/))return"def";if(a.match(/\.\.\./))return"def";if(a.match(/\s*-\s+/))return"meta"}if(a.match(/^(\{|\}|\[|\])/))return"{"==d?c.inlinePairs++:"}"==d?c.inlinePairs--:"["==d?c.inlineList++:c.inlineList--,"meta";if(c.inlineList>0&&!e&&","==d)return a.next(),"meta";if(c.inlinePairs>0&&!e&&","==d)return c.keyCol=0,c.pair=!1,c.pairStart=!1,a.next(),"meta";if(c.pairStart){if(a.match(/^\s*(\||\>)\s*/))return c.literal=!0,"meta";if(a.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==c.inlinePairs&&a.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(c.inlinePairs>0&&a.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(a.match(b))return"keyword"}return!c.pair&&a.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(c.pair=!0,c.keyCol=a.indentation(),"atom"):c.pair&&a.match(/^:\s*/)?(c.pairStart=!0,"meta"):(c.pairStart=!1,c.escaped="\\"==d,a.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}}}})),a.defineMIME("text/x-yaml","yaml"),a.defineMIME("text/yaml","yaml")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("yaml",(function(){var a=["true","false","on","off","yes","no"],b=new RegExp("\\b(("+a.join(")|(")+"))$","i");return{token:function(a,c){var d=a.peek(),e=c.escaped;if(c.escaped=!1,"#"==d&&(0==a.pos||/\s/.test(a.string.charAt(a.pos-1))))return a.skipToEnd(),"comment";if(a.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(c.literal&&a.indentation()>c.keyCol)return a.skipToEnd(),"string";if(c.literal&&(c.literal=!1),a.sol()){if(c.keyCol=0,c.pair=!1,c.pairStart=!1,a.match(/---/))return"def";if(a.match(/\.\.\./))return"def";if(a.match(/\s*-\s+/))return"meta"}if(a.match(/^(\{|\}|\[|\])/))return"{"==d?c.inlinePairs++:"}"==d?c.inlinePairs--:"["==d?c.inlineList++:c.inlineList--,"meta";if(c.inlineList>0&&!e&&","==d)return a.next(),"meta";if(c.inlinePairs>0&&!e&&","==d)return c.keyCol=0,c.pair=!1,c.pairStart=!1,a.next(),"meta";if(c.pairStart){if(a.match(/^\s*(\||\>)\s*/))return c.literal=!0,"meta";if(a.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==c.inlinePairs&&a.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(c.inlinePairs>0&&a.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(a.match(b))return"keyword"}return!c.pair&&a.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(c.pair=!0,c.keyCol=a.indentation(),"atom"):c.pair&&a.match(/^:\s*/)?(c.pairStart=!0,"meta"):(c.pairStart=!1,c.escaped="\\"==d,a.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#"}})),a.defineMIME("text/x-yaml","yaml"),a.defineMIME("text/yaml","yaml")})); \ No newline at end of file diff --git a/plugins/editors/codemirror/codemirror.xml b/plugins/editors/codemirror/codemirror.xml index 1f5e6b1a438d5..c2e60e2e575b8 100644 --- a/plugins/editors/codemirror/codemirror.xml +++ b/plugins/editors/codemirror/codemirror.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <extension version="3.2" type="plugin" group="editors" method="upgrade"> <name>plg_editors_codemirror</name> - <version>5.34.0</version> + <version>5.35.0</version> <creationDate>28 March 2011</creationDate> <author>Marijn Haverbeke</author> <authorEmail>marijnh@gmail.com</authorEmail> From 96bb9ef3190e78203da8d80aba123aa0c8154915 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:26:50 +0100 Subject: [PATCH 156/255] Correcting finder feeds items date when language is not English (#19815) * Correcting finder feeds items date when language is not English * typo --- components/com_finder/views/search/view.feed.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/com_finder/views/search/view.feed.php b/components/com_finder/views/search/view.feed.php index 1efb8c99660e1..f72b1ad347dd3 100644 --- a/components/com_finder/views/search/view.feed.php +++ b/components/com_finder/views/search/view.feed.php @@ -84,7 +84,8 @@ public function display($tpl = null) $item->title = $result->title; $item->link = JRoute::_($result->route); $item->description = $result->description; - $item->date = (int) $result->start_date ? JHtml::_('date', $result->start_date, 'l d F Y') : $result->indexdate; + // Use Unix date to cope for non-english languages + $item->date = (int) $result->start_date ? JHtml::_('date', $result->start_date, 'U') : $result->indexdate; // Get the taxonomy data. $taxonomy = $result->getTaxonomy(); From 777a670dbcbc6a82e9be2fab75803b2ecdc30414 Mon Sep 17 00:00:00 2001 From: Igor Berdichevskiy <septdir@gmail.com> Date: Sat, 17 Mar 2018 18:27:26 +0300 Subject: [PATCH 157/255] [com_ajax] Change modules check (#19818) * Add com_ajax check in getModuleList query * Restore getModuleList query * Change module check inside com_ajax --- components/com_ajax/ajax.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/components/com_ajax/ajax.php b/components/com_ajax/ajax.php index e3841cece7fb4..97de5f9120182 100644 --- a/components/com_ajax/ajax.php +++ b/components/com_ajax/ajax.php @@ -46,14 +46,11 @@ */ elseif ($input->get('module')) { - $module = $input->get('module'); - $moduleObject = JModuleHelper::getModule('mod_' . $module, null); - - /* - * As JModuleHelper::isEnabled always returns true, we check - * for an id other than 0 to see if it is published. - */ - if ($moduleObject->id != 0) + $module = $input->get('module'); + $table = JTable::getInstance('extension'); + $moduleId = $table->find(array('type' => 'module', 'element' => 'mod_' . $module)); + + if ($moduleId && $table->load($moduleId) && $table->enabled) { $helperFile = JPATH_BASE . '/modules/mod_' . $module . '/helper.php'; From a6cea4a71bc1008cb6cac1f6aa1dc70cc68fd027 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:28:03 +0100 Subject: [PATCH 158/255] Categories: Allow sorting by Associations (#19821) * Categories: Allow sorting by Associations * moving assoc sorting after access --- .../components/com_categories/models/categories.php | 5 +++++ .../com_categories/models/forms/filter_categories.xml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/administrator/components/com_categories/models/categories.php b/administrator/components/com_categories/models/categories.php index 9578f15708f20..9f04ecae1e5df 100644 --- a/administrator/components/com_categories/models/categories.php +++ b/administrator/components/com_categories/models/categories.php @@ -47,6 +47,11 @@ public function __construct($config = array()) ); } + if (JLanguageAssociations::isEnabled()) + { + $config['filter_fields'][] = 'association'; + } + parent::__construct($config); } diff --git a/administrator/components/com_categories/models/forms/filter_categories.xml b/administrator/components/com_categories/models/forms/filter_categories.xml index 3dd53359d3527..5573d4aba3f94 100644 --- a/administrator/components/com_categories/models/forms/filter_categories.xml +++ b/administrator/components/com_categories/models/forms/filter_categories.xml @@ -88,6 +88,8 @@ <option value="a.title DESC">JGLOBAL_TITLE_DESC</option> <option value="access_level ASC">JGRID_HEADING_ACCESS_ASC</option> <option value="access_level DESC">JGRID_HEADING_ACCESS_DESC</option> + <option value="association ASC" requires="associations">JASSOCIATIONS_ASC</option> + <option value="association DESC" requires="associations">JASSOCIATIONS_DESC</option> <option value="language_title ASC">JGRID_HEADING_LANGUAGE_ASC</option> <option value="language_title DESC">JGRID_HEADING_LANGUAGE_DESC</option> <option value="a.id ASC">JGRID_HEADING_ID_ASC</option> From 599c0bf7e9841c9e5180e53f0aec9e716483ccd3 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:28:39 +0100 Subject: [PATCH 159/255] Article and contact modal should not use addslashes (#19826) --- .../components/com_contact/views/contacts/tmpl/modal.php | 2 +- .../components/com_content/views/articles/tmpl/modal.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_contact/views/contacts/tmpl/modal.php b/administrator/components/com_contact/views/contacts/tmpl/modal.php index b21656051d316..fa241fb8baa12 100644 --- a/administrator/components/com_contact/views/contacts/tmpl/modal.php +++ b/administrator/components/com_contact/views/contacts/tmpl/modal.php @@ -120,7 +120,7 @@ <span class="<?php echo $iconStates[$this->escape($item->published)]; ?>" aria-hidden="true"></span> </td> <td> - <a class="select-link" href="javascript:void(0)" data-function="<?php echo $this->escape($onclick); ?>" data-id="<?php echo $item->id; ?>" data-title="<?php echo $this->escape(addslashes($item->name)); ?>" data-uri="<?php echo $this->escape(ContactHelperRoute::getContactRoute($item->id, $item->catid, $item->language)); ?>" data-language="<?php echo $this->escape($lang); ?>"> + <a class="select-link" href="javascript:void(0)" data-function="<?php echo $this->escape($onclick); ?>" data-id="<?php echo $item->id; ?>" data-title="<?php echo $this->escape($item->name); ?>" data-uri="<?php echo $this->escape(ContactHelperRoute::getContactRoute($item->id, $item->catid, $item->language)); ?>" data-language="<?php echo $this->escape($lang); ?>"> <?php echo $this->escape($item->name); ?> </a> <?php echo $this->escape($item->name); ?></a> diff --git a/administrator/components/com_content/views/articles/tmpl/modal.php b/administrator/components/com_content/views/articles/tmpl/modal.php index 53cf4332a6541..1ccce20f6e1f0 100644 --- a/administrator/components/com_content/views/articles/tmpl/modal.php +++ b/administrator/components/com_content/views/articles/tmpl/modal.php @@ -130,7 +130,7 @@ <td> <?php $attribs = 'data-function="' . $this->escape($onclick) . '"' . ' data-id="' . $item->id . '"' - . ' data-title="' . $this->escape(addslashes($item->title)) . '"' + . ' data-title="' . $this->escape($item->title) . '"' . ' data-cat-id="' . $this->escape($item->catid) . '"' . ' data-uri="' . $this->escape(ContentHelperRoute::getArticleRoute($item->id, $item->catid, $item->language)) . '"' . ' data-language="' . $this->escape($lang) . '"'; From 49da7bdfbf5b6223cdaed139321973af7b306bd2 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:29:17 +0100 Subject: [PATCH 160/255] Menu tems select field: no need to escape string value (#19828) --- .../components/com_menus/models/fields/modal/menu.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/components/com_menus/models/fields/modal/menu.php b/administrator/components/com_menus/models/fields/modal/menu.php index 96e6fbaa6162d..58c5ed4d17f22 100644 --- a/administrator/components/com_menus/models/fields/modal/menu.php +++ b/administrator/components/com_menus/models/fields/modal/menu.php @@ -225,11 +225,11 @@ function jSelectMenu_" . $this->id . "(id, title, object) { { if ($this->element->option && (string) $this->element->option['value'] == '') { - $title_holder = JText::_($this->element->option, true); + $title_holder = JText::_($this->element->option); } else { - $title_holder = JText::_('COM_MENUS_SELECT_A_MENUITEM', true); + $title_holder = JText::_('COM_MENUS_SELECT_A_MENUITEM'); } } @@ -377,11 +377,11 @@ function jSelectMenu_" . $this->id . "(id, title, object) { // Placeholder if option is present or not when clearing field if ($this->element->option && (string) $this->element->option['value'] == '') { - $title_holder = JText::_($this->element->option, true); + $title_holder = JText::_($this->element->option); } else { - $title_holder = JText::_('COM_MENUS_SELECT_A_MENUITEM', true); + $title_holder = JText::_('COM_MENUS_SELECT_A_MENUITEM'); } $html .= '<input type="hidden" id="' . $this->id . '_id" ' . $class . ' data-required="' . (int) $this->required . '" name="' . $this->name From 6e5ac32f83e8955d9b67bed5d973ce532e68cfba Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Sat, 17 Mar 2018 17:30:14 +0200 Subject: [PATCH 161/255] Allow limiting calendar field to current year (#19846) * Allow locking to min and / or max year to current year * Update calendar.php * Cleared non-set variable notices --- layouts/joomla/form/field/calendar.php | 4 ++-- libraries/joomla/form/fields/calendar.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/layouts/joomla/form/field/calendar.php b/layouts/joomla/form/field/calendar.php index 0f3bde9d410ac..50623445b2559 100644 --- a/layouts/joomla/form/field/calendar.php +++ b/layouts/joomla/form/field/calendar.php @@ -125,8 +125,8 @@ data-show-others="<?php echo $filltable; ?>" data-time-24="<?php echo $timeformat; ?>" data-only-months-nav="<?php echo $singleheader; ?>" - <?php echo !empty($minYear) ? 'data-min-year="' . $minYear . '"' : ''; ?> - <?php echo !empty($maxYear) ? 'data-max-year="' . $maxYear . '"' : ''; ?> + <?php echo isset($minYear) && strlen($minYear) ? 'data-min-year="' . $minYear . '"' : ''; ?> + <?php echo isset($maxYear) && strlen($maxYear) ? 'data-max-year="' . $maxYear . '"' : ''; ?> title="<?php echo JText::_('JLIB_HTML_BEHAVIOR_OPEN_CALENDAR'); ?>" ><span class="icon-calendar" aria-hidden="true"></span></button> <?php if (!$readonly && !$disabled) : ?> diff --git a/libraries/joomla/form/fields/calendar.php b/libraries/joomla/form/fields/calendar.php index 198714349ef6a..3bc372ff9e001 100644 --- a/libraries/joomla/form/fields/calendar.php +++ b/libraries/joomla/form/fields/calendar.php @@ -169,8 +169,8 @@ public function setup(SimpleXMLElement $element, $value, $group = null) $this->filltable = (string) $this->element['filltable'] ? (string) $this->element['filltable'] : 'true'; $this->timeformat = (int) $this->element['timeformat'] ? (int) $this->element['timeformat'] : 24; $this->singleheader = (string) $this->element['singleheader'] ? (string) $this->element['singleheader'] : 'false'; - $this->minyear = (string) $this->element['minyear'] ? (string) $this->element['minyear'] : null; - $this->maxyear = (string) $this->element['maxyear'] ? (string) $this->element['maxyear'] : null; + $this->minyear = strlen((string) $this->element['minyear']) ? (string) $this->element['minyear'] : null; + $this->maxyear = strlen((string) $this->element['maxyear']) ? (string) $this->element['maxyear'] : null; if ($this->maxyear < 0 || $this->minyear > 0) { From 286c8e6dcbf7f9335bcc8d9fa7162e4232591a85 Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Sat, 17 Mar 2018 17:30:49 +0200 Subject: [PATCH 162/255] Update JHtml::calendar to support relative years limits (#19847) --- libraries/src/HTML/HTMLHelper.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/src/HTML/HTMLHelper.php b/libraries/src/HTML/HTMLHelper.php index 7b0ece4034efb..7930e0e2d3c68 100644 --- a/libraries/src/HTML/HTMLHelper.php +++ b/libraries/src/HTML/HTMLHelper.php @@ -1037,6 +1037,8 @@ public static function calendar($value, $name, $id, $format = '%Y-%m-%d', $attri $hint = isset($attribs['placeholder']) ? $attribs['placeholder'] : ''; $class = isset($attribs['class']) ? $attribs['class'] : ''; $onchange = isset($attribs['onChange']) ? $attribs['onChange'] : ''; + $minYear = isset($attribs['minYear']) ? $attribs['minYear'] : null; + $maxYear = isset($attribs['maxYear']) ? $attribs['maxYear'] : null; $showTime = ($showTime) ? "1" : "0"; $todayBtn = ($todayBtn) ? "1" : "0"; @@ -1081,6 +1083,8 @@ public static function calendar($value, $name, $id, $format = '%Y-%m-%d', $attri 'localesPath' => $localesPath, 'direction' => $direction, 'onchange' => $onchange, + 'minYear' => $minYear, + 'maxYear' => $maxYear, ); return LayoutHelper::render('joomla.form.field.calendar', $data, null, null); From c35ef51644f4d9a3b3ac59d176d2729092743472 Mon Sep 17 00:00:00 2001 From: Alex B <shur@users.noreply.github.com> Date: Sat, 17 Mar 2018 18:31:15 +0300 Subject: [PATCH 163/255] Simplify switch statement (#19849) --- modules/mod_articles_category/helper.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index 02b3acafe6238..daeced2b22638 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -69,8 +69,6 @@ public static function getList(&$params) switch ($view) { case 'category' : - $catids = array($app->input->getInt('id')); - break; case 'categories' : $catids = array($app->input->getInt('id')); break; From fede2d4e6f03a1fa33e998b5d6124c1e43b75fe6 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Sat, 17 Mar 2018 09:31:41 -0600 Subject: [PATCH 164/255] [CS] Code style Fix some inline doc blocks for IDE hinting - round 1 (#19862) * Fix Operator Spacing * Fix inline doc blocks for IDE hinting --- installation/controller/default.php | 4 ++-- installation/controller/detectftproot.php | 2 +- installation/controller/ftp.php | 2 +- installation/controller/install/config.php | 2 +- installation/controller/install/database.php | 2 +- installation/controller/install/database_backup.php | 2 +- installation/controller/install/email.php | 2 +- installation/controller/install/languages.php | 2 +- installation/controller/install/sample.php | 2 +- installation/controller/preinstall.php | 2 +- installation/controller/removefolder.php | 2 +- installation/controller/setdefaultlanguage.php | 2 +- installation/controller/setlanguage.php | 2 +- installation/controller/site.php | 2 +- installation/controller/summary.php | 2 +- installation/controller/verifyftpsettings.php | 2 +- libraries/cms/html/bootstrap.php | 2 +- templates/beez3/html/modules.php | 4 ++-- 18 files changed, 20 insertions(+), 20 deletions(-) diff --git a/installation/controller/default.php b/installation/controller/default.php index 256c32405aa81..2c1377a040488 100644 --- a/installation/controller/default.php +++ b/installation/controller/default.php @@ -26,7 +26,7 @@ class InstallationControllerDefault extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Get the document object. @@ -105,7 +105,7 @@ public function execute() $vClass = 'InstallationViewDefault'; } - /* @var JViewHtml $view */ + /** @var JViewHtml $view */ $view = new $vClass($model, $paths); $view->setLayout($lName); diff --git a/installation/controller/detectftproot.php b/installation/controller/detectftproot.php index ead6bda36ddfb..57387a576bbaa 100644 --- a/installation/controller/detectftproot.php +++ b/installation/controller/detectftproot.php @@ -26,7 +26,7 @@ class InstallationControllerDetectftproot extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/ftp.php b/installation/controller/ftp.php index 742e7b6145e4e..1d0af70b6a8d9 100644 --- a/installation/controller/ftp.php +++ b/installation/controller/ftp.php @@ -26,7 +26,7 @@ class InstallationControllerFtp extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/install/config.php b/installation/controller/install/config.php index 23612385a5577..b361e602c7d64 100644 --- a/installation/controller/install/config.php +++ b/installation/controller/install/config.php @@ -26,7 +26,7 @@ class InstallationControllerInstallConfig extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/install/database.php b/installation/controller/install/database.php index e39497085f55d..7d6c861d80e0e 100644 --- a/installation/controller/install/database.php +++ b/installation/controller/install/database.php @@ -26,7 +26,7 @@ class InstallationControllerInstallDatabase extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/install/database_backup.php b/installation/controller/install/database_backup.php index c32ead14cfa1f..9ec82d94061ae 100644 --- a/installation/controller/install/database_backup.php +++ b/installation/controller/install/database_backup.php @@ -26,7 +26,7 @@ class InstallationControllerInstallDatabase_backup extends JControllerBase public function execute() { // Get the application. - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/install/email.php b/installation/controller/install/email.php index 4f95230d4dfe9..424eb23d146b5 100644 --- a/installation/controller/install/email.php +++ b/installation/controller/install/email.php @@ -40,7 +40,7 @@ public function __construct() public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. - @TODO - Restore this check diff --git a/installation/controller/install/languages.php b/installation/controller/install/languages.php index dac5e13631047..1e7b1a91e12c7 100644 --- a/installation/controller/install/languages.php +++ b/installation/controller/install/languages.php @@ -40,7 +40,7 @@ public function __construct() public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/install/sample.php b/installation/controller/install/sample.php index 908b50af0d286..7b4953e707d09 100644 --- a/installation/controller/install/sample.php +++ b/installation/controller/install/sample.php @@ -26,7 +26,7 @@ class InstallationControllerInstallSample extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/preinstall.php b/installation/controller/preinstall.php index abf8e1f7a94d8..8427739d7825d 100644 --- a/installation/controller/preinstall.php +++ b/installation/controller/preinstall.php @@ -26,7 +26,7 @@ class InstallationControllerPreinstall extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/removefolder.php b/installation/controller/removefolder.php index 50b877feaa8b8..56bf13f5ebd98 100644 --- a/installation/controller/removefolder.php +++ b/installation/controller/removefolder.php @@ -26,7 +26,7 @@ class InstallationControllerRemovefolder extends JControllerBase public function execute() { // Get the application. - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/setdefaultlanguage.php b/installation/controller/setdefaultlanguage.php index ffa3995349e43..ea5ad1cd0f13d 100644 --- a/installation/controller/setdefaultlanguage.php +++ b/installation/controller/setdefaultlanguage.php @@ -40,7 +40,7 @@ public function __construct() public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/setlanguage.php b/installation/controller/setlanguage.php index 21892695ad97d..33ac6393cab3a 100644 --- a/installation/controller/setlanguage.php +++ b/installation/controller/setlanguage.php @@ -26,7 +26,7 @@ class InstallationControllerSetlanguage extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/site.php b/installation/controller/site.php index 44a48569b39b1..88ae2f95d8095 100644 --- a/installation/controller/site.php +++ b/installation/controller/site.php @@ -26,7 +26,7 @@ class InstallationControllerSite extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/summary.php b/installation/controller/summary.php index 5513fcb86e8d8..aabb3ea8f4d6b 100644 --- a/installation/controller/summary.php +++ b/installation/controller/summary.php @@ -26,7 +26,7 @@ class InstallationControllerSummary extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/installation/controller/verifyftpsettings.php b/installation/controller/verifyftpsettings.php index fbe2d4d11ab98..6d382c768cc02 100644 --- a/installation/controller/verifyftpsettings.php +++ b/installation/controller/verifyftpsettings.php @@ -26,7 +26,7 @@ class InstallationControllerVerifyftpsettings extends JControllerBase public function execute() { // Get the application - /* @var InstallationApplicationWeb $app */ + /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. diff --git a/libraries/cms/html/bootstrap.php b/libraries/cms/html/bootstrap.php index e6dcb69e953e0..8cae47d06c000 100644 --- a/libraries/cms/html/bootstrap.php +++ b/libraries/cms/html/bootstrap.php @@ -264,7 +264,7 @@ public static function modal($selector = 'modal', $params = array()) $opt['backdrop'] = isset($params['backdrop']) ? (boolean) $params['backdrop'] : true; $opt['keyboard'] = isset($params['keyboard']) ? (boolean) $params['keyboard'] : true; $opt['show'] = isset($params['show']) ? (boolean) $params['show'] : false; - $opt['remote'] = isset($params['remote']) ? $params['remote'] : ''; + $opt['remote'] = isset($params['remote']) ? $params['remote'] : ''; $options = JHtml::getJSObject($opt); diff --git a/templates/beez3/html/modules.php b/templates/beez3/html/modules.php index 4c75831505456..2e924e42cd391 100644 --- a/templates/beez3/html/modules.php +++ b/templates/beez3/html/modules.php @@ -34,7 +34,7 @@ function modChrome_beezDivision($module, &$params, &$attribs) function modChrome_beezHide($module, &$params, &$attribs) { $headerLevel = isset($attribs['headerLevel']) ? (int) $attribs['headerLevel'] : 3; - $state = isset($attribs['state']) ? (int) $attribs['state'] :0; + $state = isset($attribs['state']) ? (int) $attribs['state'] : 0; if (!empty ($module->content)) { ?> @@ -60,7 +60,7 @@ class="no"><img src="templates/beez3/images/plus.png" */ function modChrome_beezTabs($module, $params, $attribs) { - $area = isset($attribs['id']) ? (int) $attribs['id'] :'1'; + $area = isset($attribs['id']) ? (int) $attribs['id'] : '1'; $area = 'area-'.$area; static $modulecount; From 33c5dd54103822b9424791f87287a99a6b9ddd26 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Sat, 17 Mar 2018 09:32:20 -0600 Subject: [PATCH 165/255] Fix some docblocks and comments (#19863) --- libraries/cms.php | 2 +- libraries/loader.php | 2 +- libraries/src/Environment/Browser.php | 4 ++-- libraries/src/Http/HttpFactory.php | 2 +- libraries/src/Language/Language.php | 3 ++- libraries/src/Session/Session.php | 2 +- libraries/src/User/UserHelper.php | 4 ++-- modules/mod_articles_category/helper.php | 2 +- modules/mod_articles_latest/helper.php | 2 +- modules/mod_articles_news/helper.php | 2 +- modules/mod_articles_popular/helper.php | 2 +- modules/mod_related_items/helper.php | 2 +- 12 files changed, 15 insertions(+), 14 deletions(-) diff --git a/libraries/cms.php b/libraries/cms.php index f15e07b037ac3..1aaf563bf45c6 100644 --- a/libraries/cms.php +++ b/libraries/cms.php @@ -29,7 +29,7 @@ // Register the library base path for CMS libraries. JLoader::registerPrefix('J', JPATH_PLATFORM . '/cms', false, true); -/** @note This will be loaded through composer in Joomla 4 **/ +/** @note This will be loaded through composer in Joomla 4 */ JLoader::registerNamespace('Joomla\\CMS', JPATH_PLATFORM . '/src', false, false, 'psr4'); // Create the Composer autoloader diff --git a/libraries/loader.php b/libraries/loader.php index 17814d1faf943..b4eca83201131 100644 --- a/libraries/loader.php +++ b/libraries/loader.php @@ -100,7 +100,7 @@ public static function discover($classPrefix, $parentPath, $force = true, $recur $iterator = new DirectoryIterator($parentPath); } - /* @type $file DirectoryIterator */ + /** @type $file DirectoryIterator */ foreach ($iterator as $file) { $fileName = $file->getFilename(); diff --git a/libraries/src/Environment/Browser.php b/libraries/src/Environment/Browser.php index e8048f96bf04a..f0acb28447383 100644 --- a/libraries/src/Environment/Browser.php +++ b/libraries/src/Environment/Browser.php @@ -76,12 +76,12 @@ class Browser * @since 12.1 */ protected $robots = array( - /* The most common ones. */ + // The most common ones. 'Googlebot', 'msnbot', 'Slurp', 'Yahoo', - /* The rest alphabetically. */ + // The rest alphabetically. 'Arachnoidea', 'ArchitextSpider', 'Ask Jeeves', diff --git a/libraries/src/Http/HttpFactory.php b/libraries/src/Http/HttpFactory.php index 4349b39b8b56a..7e6f1222e4eb1 100644 --- a/libraries/src/Http/HttpFactory.php +++ b/libraries/src/Http/HttpFactory.php @@ -107,7 +107,7 @@ public static function getHttpTransports() $names = array(); $iterator = new \DirectoryIterator(__DIR__ . '/Transport'); - /* @type $file \DirectoryIterator */ + /** @type $file \DirectoryIterator */ foreach ($iterator as $file) { $fileName = $file->getFilename(); diff --git a/libraries/src/Language/Language.php b/libraries/src/Language/Language.php index 922c62a8f508c..0f384d5937b27 100644 --- a/libraries/src/Language/Language.php +++ b/libraries/src/Language/Language.php @@ -244,7 +244,8 @@ public function __construct($lang = null, $debug = false) if (class_exists($class)) { - /* Class exists. Try to find + /** + * Class exists. Try to find * -a transliterate method, * -a getPluralSuffixes method, * -a getIgnoredSearchWords method diff --git a/libraries/src/Session/Session.php b/libraries/src/Session/Session.php index 3cf220d856a80..85970ac3b1f1a 100644 --- a/libraries/src/Session/Session.php +++ b/libraries/src/Session/Session.php @@ -400,7 +400,7 @@ public static function getStores() // Get an iterator and loop trough the driver classes. $iterator = new \DirectoryIterator(JPATH_LIBRARIES . '/joomla/session/storage'); - /* @type $file \DirectoryIterator */ + /** @type $file \DirectoryIterator */ foreach ($iterator as $file) { $fileName = $file->getFilename(); diff --git a/libraries/src/User/UserHelper.php b/libraries/src/User/UserHelper.php index de4fa766abc36..f4450fc59acfa 100644 --- a/libraries/src/User/UserHelper.php +++ b/libraries/src/User/UserHelper.php @@ -605,7 +605,7 @@ public static function getSalt($encryption = 'md5-hex', $seed = '', $plaintext = } break; - case 'aprmd5': /* 64 characters that are valid for APRMD5 passwords. */ + case 'aprmd5': // 64 characters that are valid for APRMD5 passwords. $APRMD5 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; if ($seed) @@ -684,7 +684,7 @@ public static function genRandomPassword($length = 8) */ protected static function _toAPRMD5($value, $count) { - /* 64 characters that are valid for APRMD5 passwords. */ + // 64 characters that are valid for APRMD5 passwords. $APRMD5 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; $aprmd5 = ''; diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index daeced2b22638..7921945298c98 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -255,7 +255,7 @@ public static function getList(&$params) { $item->slug = $item->id . ':' . $item->alias; - /** @deprecated Catslug is deprecated, use catid instead. 4.0 **/ + /** @deprecated Catslug is deprecated, use catid instead. 4.0 */ $item->catslug = $item->catid . ':' . $item->category_alias; if ($access || in_array($item->access, $authorised)) diff --git a/modules/mod_articles_latest/helper.php b/modules/mod_articles_latest/helper.php index 9ad039e133118..ccb4ccf83e088 100644 --- a/modules/mod_articles_latest/helper.php +++ b/modules/mod_articles_latest/helper.php @@ -119,7 +119,7 @@ public static function getList(&$params) { $item->slug = $item->id . ':' . $item->alias; - /** @deprecated Catslug is deprecated, use catid instead. 4.0 **/ + /** @deprecated Catslug is deprecated, use catid instead. 4.0 */ $item->catslug = $item->catid . ':' . $item->category_alias; if ($access || in_array($item->access, $authorised)) diff --git a/modules/mod_articles_news/helper.php b/modules/mod_articles_news/helper.php index f6f5c180b4165..e0597f0f27b62 100644 --- a/modules/mod_articles_news/helper.php +++ b/modules/mod_articles_news/helper.php @@ -101,7 +101,7 @@ public static function getList(&$params) $item->readmore = strlen(trim($item->fulltext)); $item->slug = $item->id . ':' . $item->alias; - /** @deprecated Catslug is deprecated, use catid instead. 4.0 **/ + /** @deprecated Catslug is deprecated, use catid instead. 4.0 */ $item->catslug = $item->catid . ':' . $item->category_alias; if ($access || in_array($item->access, $authorised)) diff --git a/modules/mod_articles_popular/helper.php b/modules/mod_articles_popular/helper.php index e030bfb993312..279b4456d2734 100644 --- a/modules/mod_articles_popular/helper.php +++ b/modules/mod_articles_popular/helper.php @@ -79,7 +79,7 @@ public static function getList(&$params) { $item->slug = $item->id . ':' . $item->alias; - /** @deprecated Catslug is deprecated, use catid instead. 4.0 **/ + /** @deprecated Catslug is deprecated, use catid instead. 4.0 */ $item->catslug = $item->catid . ':' . $item->category_alias; if ($access || in_array($item->access, $authorised)) diff --git a/modules/mod_related_items/helper.php b/modules/mod_related_items/helper.php index e7d0a3c854d55..d0a3df806f8bb 100644 --- a/modules/mod_related_items/helper.php +++ b/modules/mod_related_items/helper.php @@ -179,7 +179,7 @@ public static function getList(&$params) { $item->slug = $item->id . ':' . $item->alias; - /** @deprecated Catslug is deprecated, use catid instead. 4.0 **/ + /** @deprecated Catslug is deprecated, use catid instead. 4.0 */ $item->catslug = $item->catid . ':' . $item->category_alias; $item->route = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language)); From 476028ff9bbaccc193b79b7e88cd90e7fcfc78e5 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:33:14 +0100 Subject: [PATCH 166/255] Custom admin menus: Translating menu items titles (#19900) --- administrator/components/com_menus/models/items.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/administrator/components/com_menus/models/items.php b/administrator/components/com_menus/models/items.php index 347e1b5f3bd54..8903539ba840b 100644 --- a/administrator/components/com_menus/models/items.php +++ b/administrator/components/com_menus/models/items.php @@ -110,6 +110,12 @@ protected function populateState($ordering = 'a.lft', $direction = 'asc') $currentClientId = $app->getUserState($this->context . '.client_id', 0); $clientId = $app->input->getInt('client_id', $currentClientId); + // Load mod_menu.ini file when client is administrator + if ($clientId == 1) + { + JFactory::getLanguage()->load('mod_menu', JPATH_ADMINISTRATOR, null, false, true); + } + $currentMenuType = $app->getUserState($this->context . '.menutype', ''); $menuType = $app->input->getString('menutype', $currentMenuType); From a4db99f4b6edb0a877987099385da7e2f97b579e Mon Sep 17 00:00:00 2001 From: ReLater <ReLater@users.noreply.github.com> Date: Sat, 17 Mar 2018 16:33:34 +0100 Subject: [PATCH 167/255] adapt default values (#19924) --- plugins/search/content/content.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/search/content/content.xml b/plugins/search/content/content.xml index 313eb4d6905b8..e952e2ac90c04 100644 --- a/plugins/search/content/content.xml +++ b/plugins/search/content/content.xml @@ -34,7 +34,7 @@ label="PLG_SEARCH_CONTENT_FIELD_CONTENT_LABEL" description="PLG_SEARCH_CONTENT_FIELD_CONTENT_DESC" class="btn-group btn-group-yesno" - default="0" + default="1" > <option value="1">JYES</option> <option value="0">JNO</option> @@ -46,7 +46,7 @@ label="PLG_SEARCH_CONTENT_FIELD_ARCHIVED_LABEL" description="PLG_SEARCH_CONTENT_FIELD_ARCHIVED_DESC" class="btn-group btn-group-yesno" - default="0" + default="1" > <option value="1">JYES</option> <option value="0">JNO</option> From 5a2b1c1eebfd6cc924cd36737698cdc3a9c8bdcf Mon Sep 17 00:00:00 2001 From: ReLater <ReLater@users.noreply.github.com> Date: Sat, 17 Mar 2018 16:33:54 +0100 Subject: [PATCH 168/255] Use getter method (#19925) --- plugins/search/content/content.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/search/content/content.php b/plugins/search/content/content.php index edfb42f858f39..6734c6ae129cb 100644 --- a/plugins/search/content/content.php +++ b/plugins/search/content/content.php @@ -49,7 +49,7 @@ public function onContentSearchAreas() public function onContentSearch($text, $phrase = '', $ordering = '', $areas = null) { $db = JFactory::getDbo(); - $serverType = $db->serverType; + $serverType = $db->getServerType(); $app = JFactory::getApplication(); $user = JFactory::getUser(); $groups = implode(',', $user->getAuthorisedViewLevels()); From c784a6a97798199e336a46d16596f6f3b767e14a Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sat, 17 Mar 2018 16:38:54 +0100 Subject: [PATCH 169/255] Custom Admin menu item edit: Display Title, Parent Item and Ordering translations (#19916) * Admin menu item edit: Display Title, Parent Item and Ordering translations * Modifs suggested by izharaazmi * cs * display translated title only when item exists * Correcting label alignment * Cosmetic changes --- .../com_menus/views/item/tmpl/edit.php | 24 +++++++++++++++++-- .../language/en-GB/en-GB.com_menus.ini | 1 + 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_menus/views/item/tmpl/edit.php b/administrator/components/com_menus/views/item/tmpl/edit.php index b2c70eeb600f2..789b0d38e9879 100644 --- a/administrator/components/com_menus/views/item/tmpl/edit.php +++ b/administrator/components/com_menus/views/item/tmpl/edit.php @@ -46,7 +46,7 @@ $('#jform_parent_id').trigger('liszt:updated'); }); }); - + // Menu type Login Form specific $('#item-form').on('submit', function() { if ($('#jform_params_login_redirect_url') && $('#jform_params_logout_redirect_url')) { @@ -114,13 +114,33 @@ $layout = $isModal ? 'modal' : 'edit'; $tmpl = $isModal || $input->get('tmpl', '', 'cmd') === 'component' ? '&tmpl=component' : ''; $clientId = $this->state->get('item.client_id', 0); +$lang = JFactory::getLanguage()->getTag(); + +// Load mod_menu.ini file when client is administrator +if ($clientId === 1) +{ + JFactory::getLanguage()->load('mod_menu', JPATH_ADMINISTRATOR, null, false, true); +} ?> <form action="<?php echo JRoute::_('index.php?option=com_menus&view=item&client_id=' . $clientId . '&layout=' . $layout . $tmpl . '&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate"> <?php echo JLayoutHelper::render('joomla.edit.title_alias', $this); ?> - <div class="form-horizontal"> + <?php // Add the translation of the menu item title when client is administrator ?> + <?php if ($clientId === 1 && $this->item->id != 0) : ?> + <div class="form-inline form-inline-header"> + <div class="control-group"> + <div class="control-label"> + <label><?php echo JText::sprintf('COM_MENUS_TITLE_TRANSLATION', $lang); ?></label> + </div> + <div class="controls"> + <input class="input-xlarge" value="<?php echo JText::_($this->item->title); ?>" readonly="readonly" type="text"> + </div> + </div> + </div> + <?php endif; ?> + <div class="form-horizontal"> <?php echo JHtml::_('bootstrap.startTabSet', 'myTab', array('active' => 'details')); ?> <?php echo JHtml::_('bootstrap.addTab', 'myTab', 'details', JText::_('COM_MENUS_ITEM_DETAILS')); ?> diff --git a/administrator/language/en-GB/en-GB.com_menus.ini b/administrator/language/en-GB/en-GB.com_menus.ini index 3f4f886c4daef..c1cdd452e045a 100644 --- a/administrator/language/en-GB/en-GB.com_menus.ini +++ b/administrator/language/en-GB/en-GB.com_menus.ini @@ -213,6 +213,7 @@ COM_MENUS_SUCCESS_REORDERED="Menu item reordered." COM_MENUS_TIP_ALIAS_LABEL="<strong>Warning!</strong><br />Leave the alias field empty if the menu item alias and the menu item linked to by the alias have the same parent." COM_MENUS_TIP_ASSOCIATION="Associated menu items" COM_MENUS_TITLE_EDIT_ITEM="Menu Manager: Title Edit Item" +COM_MENUS_TITLE_TRANSLATION="Title (%s)" COM_MENUS_TOOLBAR_SET_HOME="Home" COM_MENUS_TYPE_ALIAS="Menu Item Alias" COM_MENUS_TYPE_ALIAS_DESC="Create an alias to another menu item." From 5c853dd7eea9d096aa25a09f7a65337b910c5755 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 18 Mar 2018 00:53:43 +0900 Subject: [PATCH 170/255] In theory, you may not always be working with the default database. So use the correct one. (#19474) --- administrator/components/com_banners/tables/banner.php | 8 +++++--- administrator/components/com_contact/tables/contact.php | 2 +- administrator/components/com_finder/tables/filter.php | 2 +- .../components/com_newsfeeds/tables/newsfeed.php | 2 +- administrator/components/com_users/tables/note.php | 2 +- libraries/src/Table/Content.php | 2 +- libraries/src/Table/Menu.php | 6 +++--- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/administrator/components/com_banners/tables/banner.php b/administrator/components/com_banners/tables/banner.php index 75576947f46f1..eadd70c12f4b7 100644 --- a/administrator/components/com_banners/tables/banner.php +++ b/administrator/components/com_banners/tables/banner.php @@ -173,6 +173,8 @@ public function bind($array, $ignore = array()) */ public function store($updateNulls = false) { + $db = $this->getDbo(); + if (empty($this->id)) { $purchaseType = $this->purchase_type; @@ -180,7 +182,7 @@ public function store($updateNulls = false) if ($purchaseType < 0 && $this->cid) { /** @var BannersTableClient $client */ - $client = JTable::getInstance('Client', 'BannersTable'); + $client = JTable::getInstance('Client', 'BannersTable', array('dbo' => $db)); $client->load($this->cid); $purchaseType = $client->purchase_type; } @@ -220,7 +222,7 @@ public function store($updateNulls = false) { // Get the old row /** @var BannersTableBanner $oldrow */ - $oldrow = JTable::getInstance('Banner', 'BannersTable'); + $oldrow = JTable::getInstance('Banner', 'BannersTable', array('dbo' => $db)); if (!$oldrow->load($this->id) && $oldrow->getError()) { @@ -229,7 +231,7 @@ public function store($updateNulls = false) // Verify that the alias is unique /** @var BannersTableBanner $table */ - $table = JTable::getInstance('Banner', 'BannersTable'); + $table = JTable::getInstance('Banner', 'BannersTable', array('dbo' => $db)); if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0)) { diff --git a/administrator/components/com_contact/tables/contact.php b/administrator/components/com_contact/tables/contact.php index cc137a712b4a5..6b837e791f510 100644 --- a/administrator/components/com_contact/tables/contact.php +++ b/administrator/components/com_contact/tables/contact.php @@ -110,7 +110,7 @@ public function store($updateNulls = false) $this->webpage = JStringPunycode::urlToPunycode($this->webpage); // Verify that the alias is unique - $table = JTable::getInstance('Contact', 'ContactTable'); + $table = JTable::getInstance('Contact', 'ContactTable', array('dbo' => $this->_db)); if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0)) { diff --git a/administrator/components/com_finder/tables/filter.php b/administrator/components/com_finder/tables/filter.php index 524ce6c6c20bf..c9bd00bbe63cc 100644 --- a/administrator/components/com_finder/tables/filter.php +++ b/administrator/components/com_finder/tables/filter.php @@ -240,7 +240,7 @@ public function store($updateNulls = false) } // Verify that the alias is unique - $table = JTable::getInstance('Filter', 'FinderTable'); + $table = JTable::getInstance('Filter', 'FinderTable', array('dbo' => $this->_db)); if ($table->load(array('alias' => $this->alias)) && ($table->filter_id != $this->filter_id || $this->filter_id == 0)) { diff --git a/administrator/components/com_newsfeeds/tables/newsfeed.php b/administrator/components/com_newsfeeds/tables/newsfeed.php index f192137906b30..5a0085c0c3fad 100644 --- a/administrator/components/com_newsfeeds/tables/newsfeed.php +++ b/administrator/components/com_newsfeeds/tables/newsfeed.php @@ -149,7 +149,7 @@ public function store($updateNulls = false) } // Verify that the alias is unique - $table = JTable::getInstance('Newsfeed', 'NewsfeedsTable'); + $table = JTable::getInstance('Newsfeed', 'NewsfeedsTable', array('dbo' => $this->_db)); if ($table->load(array('alias' => $this->alias, 'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0)) { diff --git a/administrator/components/com_users/tables/note.php b/administrator/components/com_users/tables/note.php index a608c562c5a03..e8a644d4a2563 100644 --- a/administrator/components/com_users/tables/note.php +++ b/administrator/components/com_users/tables/note.php @@ -52,7 +52,7 @@ public function store($updateNulls = false) if (!((int) $this->review_time)) { // Null date. - $this->review_time = JFactory::getDbo()->getNullDate(); + $this->review_time = $this->_db->getNullDate(); } if (empty($this->id)) diff --git a/libraries/src/Table/Content.php b/libraries/src/Table/Content.php index 31b6a3dd25dfc..f600549c2579b 100644 --- a/libraries/src/Table/Content.php +++ b/libraries/src/Table/Content.php @@ -294,7 +294,7 @@ public function check() protected function getDefaultAssetValues($component) { // Need to find the asset id by the name of the component. - $db = \JFactory::getDbo(); + $db = $this->getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('id')) ->from($db->quoteName('#__assets')) diff --git a/libraries/src/Table/Menu.php b/libraries/src/Table/Menu.php index 45c434f797c8d..d85c6922f18cd 100644 --- a/libraries/src/Table/Menu.php +++ b/libraries/src/Table/Menu.php @@ -144,10 +144,10 @@ public function check() */ public function store($updateNulls = false) { - $db = \JFactory::getDbo(); + $db = $this->getDbo(); // Verify that the alias is unique - $table = Table::getInstance('Menu', 'JTable', array('dbo' => $this->getDbo())); + $table = Table::getInstance('Menu', 'JTable', array('dbo' => $db)); $originalAlias = trim($this->alias); $this->alias = !$originalAlias ? $this->title : $originalAlias; @@ -227,7 +227,7 @@ public function store($updateNulls = false) // The alias already exists. Enqueue an error message. if ($error) { - $menuTypeTable = Table::getInstance('MenuType', 'JTable', array('dbo' => $this->getDbo())); + $menuTypeTable = Table::getInstance('MenuType', 'JTable', array('dbo' => $db)); $menuTypeTable->load(array('menutype' => $table->menutype)); $this->setError(\JText::sprintf('JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS', $this->alias, $table->title, $menuTypeTable->title)); From 4172f792979f85acb6aa29562ba8ece5297fe847 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sat, 17 Mar 2018 16:55:47 +0100 Subject: [PATCH 171/255] [plugin][content] - loadmodule by id (#19362) * [plugin][content] - loadmodule by id * [plugin][content] - loadmodule by id * getModuleById * getModuleById * id not found * id not found * simple syntax * js side * modal * minify js * regex only digits * remove title * use static load() * regex * cs * return * cs tabs removed * simplify code * clean code * no style * replace loadmodule with loadmoduleid * cs * replace loadmodule with loadmoduleid * replace * missed echo * moved back * Update loadmodule.php fixed cs --- .../com_modules/views/modules/tmpl/modal.php | 2 +- libraries/src/Helper/ModuleHelper.php | 39 +++++++++++++++ media/com_modules/js/admin-modules-modal.js | 10 ++-- .../com_modules/js/admin-modules-modal.min.js | 2 +- plugins/content/loadmodule/loadmodule.php | 48 +++++++++++++++++++ 5 files changed, 94 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_modules/views/modules/tmpl/modal.php b/administrator/components/com_modules/views/modules/tmpl/modal.php index a44d0517b4978..02e43c14e0371 100644 --- a/administrator/components/com_modules/views/modules/tmpl/modal.php +++ b/administrator/components/com_modules/views/modules/tmpl/modal.php @@ -89,7 +89,7 @@ <span class="<?php echo $iconStates[$this->escape($item->published)]; ?>" aria-hidden="true"></span> </td> <td class="has-context"> - <a class="js-module-insert btn btn-small btn-block btn-success" href="#" data-module="<?php echo $this->escape($item->module); ?>" data-title="<?php echo $this->escape($item->title); ?>" data-editor="<?php echo $this->escape($editor); ?>"> + <a class="js-module-insert btn btn-small btn-block btn-success" href="#" data-module="<?php echo $item->id; ?>" data-editor="<?php echo $this->escape($editor); ?>"> <?php echo $this->escape($item->title); ?> </a> </td> diff --git a/libraries/src/Helper/ModuleHelper.php b/libraries/src/Helper/ModuleHelper.php index 8e398e3ca95e3..54bd223f75ef4 100644 --- a/libraries/src/Helper/ModuleHelper.php +++ b/libraries/src/Helper/ModuleHelper.php @@ -644,4 +644,43 @@ public static function isAdminMultilang() return $enabled; } + + /** + * Get module by id + * + * @param string $id The id of the module + * + * @return \stdClass The Module object + * + * @since __DEPLOY_VERSION__ + */ + public static function &getModuleById($id) + { + $modules =& static::load(); + + $total = count($modules); + + for ($i = 0; $i < $total; $i++) + { + // Match the id of the module + if ($modules[$i]->id === $id) + { + // Found it + return $modules[$i]; + } + } + + // If we didn't find it, create a dummy object + $result = new \stdClass; + $result->id = 0; + $result->title = ''; + $result->module = ''; + $result->position = ''; + $result->content = ''; + $result->showtitle = 0; + $result->control = ''; + $result->params = ''; + + return $result; + } } diff --git a/media/com_modules/js/admin-modules-modal.js b/media/com_modules/js/admin-modules-modal.js index c6c10d6ef9d88..d3f6062b9434e 100644 --- a/media/com_modules/js/admin-modules-modal.js +++ b/media/com_modules/js/admin-modules-modal.js @@ -10,19 +10,18 @@ document.addEventListener('DOMContentLoaded', function() { var modulesLinks = document.querySelectorAll('.js-module-insert'), i, positionsLinks = document.querySelectorAll('.js-position-insert'); - /** Assign listener for click event (for single module insertion) **/ + /** Assign listener for click event (for single module id insertion) **/ for (i= 0; modulesLinks.length > i; i++) { modulesLinks[i].addEventListener('click', function(event) { event.preventDefault(); - var type = event.target.getAttribute('data-module'), - name = event.target.getAttribute('data-title'), + var modid = event.target.getAttribute('data-module'), editor = event.target.getAttribute('data-editor'); /** Use the API, if editor supports it **/ if (window.parent.Joomla && window.parent.Joomla.editors && window.parent.Joomla.editors.instances && window.parent.Joomla.editors.instances.hasOwnProperty(editor)) { - window.parent.Joomla.editors.instances[editor].replaceSelection("{loadmodule " + type + "," + name + "}") + window.parent.Joomla.editors.instances[editor].replaceSelection("{loadmoduleid " + modid + "}") } else { - window.parent.jInsertEditorText("{loadmodule " + type + "," + name + "}", editor); + window.parent.jInsertEditorText("{loadmoduleid " + modid + "}", editor); } window.parent.jModalClose(); @@ -46,4 +45,5 @@ document.addEventListener('DOMContentLoaded', function() { window.parent.jModalClose(); }); } + }); diff --git a/media/com_modules/js/admin-modules-modal.min.js b/media/com_modules/js/admin-modules-modal.min.js index 965dadb96f996..8396f641de5c2 100644 --- a/media/com_modules/js/admin-modules-modal.min.js +++ b/media/com_modules/js/admin-modules-modal.min.js @@ -1 +1 @@ -document.addEventListener("DOMContentLoaded",function(){"use strict";var b,a=document.querySelectorAll(".js-module-insert"),c=document.querySelectorAll(".js-position-insert");for(b=0;a.length>b;b++)a[b].addEventListener("click",function(a){a.preventDefault();var b=a.target.getAttribute("data-module"),c=a.target.getAttribute("data-title"),d=a.target.getAttribute("data-editor");window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(d)?window.parent.Joomla.editors.instances[d].replaceSelection("{loadmodule "+b+","+c+"}"):window.parent.jInsertEditorText("{loadmodule "+b+","+c+"}",d),window.parent.jModalClose()});for(b=0;c.length>b;b++)c[b].addEventListener("click",function(a){a.preventDefault();var b=a.target.getAttribute("data-position"),c=a.target.getAttribute("data-editor");window.Joomla&&window.Joomla.editors&&Joomla.editors.instances&&Joomla.editors.instances.hasOwnProperty(c)?Joomla.editors.instances[c].replaceSelection("{loadposition "+b+"}"):window.parent.jInsertEditorText("{loadposition "+b+"}",c),window.parent.jModalClose()})}); \ No newline at end of file +document.addEventListener('DOMContentLoaded',function(){'use strict';var b,a=document.querySelectorAll('.js-module-insert'),c=document.querySelectorAll('.js-position-insert');for(b=0;a.length>b;b++)a[b].addEventListener('click',function(d){d.preventDefault();var e=d.target.getAttribute('data-module'),f=d.target.getAttribute('data-editor');window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(f)?window.parent.Joomla.editors.instances[f].replaceSelection('{loadmoduleid '+e+'}'):window.parent.jInsertEditorText('{loadmoduleid '+e+'}',f),window.parent.jModalClose()});for(b=0;c.length>b;b++)c[b].addEventListener('click',function(d){d.preventDefault();var e=d.target.getAttribute('data-position'),f=d.target.getAttribute('data-editor');window.Joomla&&window.Joomla.editors&&Joomla.editors.instances&&Joomla.editors.instances.hasOwnProperty(f)?Joomla.editors.instances[f].replaceSelection('{loadposition '+e+'}'):window.parent.jInsertEditorText('{loadposition '+e+'}',f),window.parent.jModalClose()})}); diff --git a/plugins/content/loadmodule/loadmodule.php b/plugins/content/loadmodule/loadmodule.php index 7e166cd532387..84c2545afbdde 100644 --- a/plugins/content/loadmodule/loadmodule.php +++ b/plugins/content/loadmodule/loadmodule.php @@ -55,6 +55,9 @@ public function onContentPrepare($context, &$article, &$params, $page = 0) $regexmod = '/{loadmodule\s(.*?)}/i'; $stylemod = $this->params->def('style', 'none'); + // Expression to search for(id) + $regexmodid = '/{loadmoduleid\s([1-9][0-9]*)}/i'; + // Find all instances of plugin and put in $matches for loadposition // $matches[0] is full pattern match, $matches[1] is the position preg_match_all($regex, $article->text, $matches, PREG_SET_ORDER); @@ -117,6 +120,23 @@ public function onContentPrepare($context, &$article, &$params, $page = 0) $stylemod = $this->params->def('style', 'none'); } } + + // Find all instances of plugin and put in $matchesmodid for loadmoduleid + preg_match_all($regexmodid, $article->text, $matchesmodid, PREG_SET_ORDER); + + // If no matches, skip this + if ($matchesmodid) + { + foreach ($matchesmodid as $match) + { + $id = trim($match[1]); + $output = $this->_loadid($id); + + // We should replace only first occurrence in order to allow positions with the same name to regenerate their content: + $article->text = preg_replace("|$match[0]|", addcslashes($output, '\\$'), $article->text, 1); + $style = $this->params->def('style', 'none'); + } + } } /** @@ -187,4 +207,32 @@ protected function _loadmod($module, $title, $style = 'none') return self::$mods[$module]; } + + /** + * Loads and renders the module + * + * @param string $id The id of the module + * + * @return mixed + * + * @since __DEPLOY_VERSION__ + */ + protected function _loadid($id) + { + self::$modules[$id] = ''; + $document = JFactory::getDocument(); + $renderer = $document->loadRenderer('module'); + $modules = JModuleHelper::getModuleById($id); + $params = array('style' => 'none'); + ob_start(); + + if ($modules->id > 0) + { + echo $renderer->render($modules, $params); + } + + self::$modules[$id] = ob_get_clean(); + + return self::$modules[$id]; + } } From db9b8185a5e0b0775b1b13390e8f52a04c012b59 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Sat, 17 Mar 2018 10:56:16 -0500 Subject: [PATCH 172/255] Revert "[plugin][content] - loadmodule by id (#19362)" (#19931) This reverts commit 4172f792979f85acb6aa29562ba8ece5297fe847. --- .../com_modules/views/modules/tmpl/modal.php | 2 +- libraries/src/Helper/ModuleHelper.php | 39 --------------- media/com_modules/js/admin-modules-modal.js | 10 ++-- .../com_modules/js/admin-modules-modal.min.js | 2 +- plugins/content/loadmodule/loadmodule.php | 48 ------------------- 5 files changed, 7 insertions(+), 94 deletions(-) diff --git a/administrator/components/com_modules/views/modules/tmpl/modal.php b/administrator/components/com_modules/views/modules/tmpl/modal.php index 02e43c14e0371..a44d0517b4978 100644 --- a/administrator/components/com_modules/views/modules/tmpl/modal.php +++ b/administrator/components/com_modules/views/modules/tmpl/modal.php @@ -89,7 +89,7 @@ <span class="<?php echo $iconStates[$this->escape($item->published)]; ?>" aria-hidden="true"></span> </td> <td class="has-context"> - <a class="js-module-insert btn btn-small btn-block btn-success" href="#" data-module="<?php echo $item->id; ?>" data-editor="<?php echo $this->escape($editor); ?>"> + <a class="js-module-insert btn btn-small btn-block btn-success" href="#" data-module="<?php echo $this->escape($item->module); ?>" data-title="<?php echo $this->escape($item->title); ?>" data-editor="<?php echo $this->escape($editor); ?>"> <?php echo $this->escape($item->title); ?> </a> </td> diff --git a/libraries/src/Helper/ModuleHelper.php b/libraries/src/Helper/ModuleHelper.php index 54bd223f75ef4..8e398e3ca95e3 100644 --- a/libraries/src/Helper/ModuleHelper.php +++ b/libraries/src/Helper/ModuleHelper.php @@ -644,43 +644,4 @@ public static function isAdminMultilang() return $enabled; } - - /** - * Get module by id - * - * @param string $id The id of the module - * - * @return \stdClass The Module object - * - * @since __DEPLOY_VERSION__ - */ - public static function &getModuleById($id) - { - $modules =& static::load(); - - $total = count($modules); - - for ($i = 0; $i < $total; $i++) - { - // Match the id of the module - if ($modules[$i]->id === $id) - { - // Found it - return $modules[$i]; - } - } - - // If we didn't find it, create a dummy object - $result = new \stdClass; - $result->id = 0; - $result->title = ''; - $result->module = ''; - $result->position = ''; - $result->content = ''; - $result->showtitle = 0; - $result->control = ''; - $result->params = ''; - - return $result; - } } diff --git a/media/com_modules/js/admin-modules-modal.js b/media/com_modules/js/admin-modules-modal.js index d3f6062b9434e..c6c10d6ef9d88 100644 --- a/media/com_modules/js/admin-modules-modal.js +++ b/media/com_modules/js/admin-modules-modal.js @@ -10,18 +10,19 @@ document.addEventListener('DOMContentLoaded', function() { var modulesLinks = document.querySelectorAll('.js-module-insert'), i, positionsLinks = document.querySelectorAll('.js-position-insert'); - /** Assign listener for click event (for single module id insertion) **/ + /** Assign listener for click event (for single module insertion) **/ for (i= 0; modulesLinks.length > i; i++) { modulesLinks[i].addEventListener('click', function(event) { event.preventDefault(); - var modid = event.target.getAttribute('data-module'), + var type = event.target.getAttribute('data-module'), + name = event.target.getAttribute('data-title'), editor = event.target.getAttribute('data-editor'); /** Use the API, if editor supports it **/ if (window.parent.Joomla && window.parent.Joomla.editors && window.parent.Joomla.editors.instances && window.parent.Joomla.editors.instances.hasOwnProperty(editor)) { - window.parent.Joomla.editors.instances[editor].replaceSelection("{loadmoduleid " + modid + "}") + window.parent.Joomla.editors.instances[editor].replaceSelection("{loadmodule " + type + "," + name + "}") } else { - window.parent.jInsertEditorText("{loadmoduleid " + modid + "}", editor); + window.parent.jInsertEditorText("{loadmodule " + type + "," + name + "}", editor); } window.parent.jModalClose(); @@ -45,5 +46,4 @@ document.addEventListener('DOMContentLoaded', function() { window.parent.jModalClose(); }); } - }); diff --git a/media/com_modules/js/admin-modules-modal.min.js b/media/com_modules/js/admin-modules-modal.min.js index 8396f641de5c2..965dadb96f996 100644 --- a/media/com_modules/js/admin-modules-modal.min.js +++ b/media/com_modules/js/admin-modules-modal.min.js @@ -1 +1 @@ -document.addEventListener('DOMContentLoaded',function(){'use strict';var b,a=document.querySelectorAll('.js-module-insert'),c=document.querySelectorAll('.js-position-insert');for(b=0;a.length>b;b++)a[b].addEventListener('click',function(d){d.preventDefault();var e=d.target.getAttribute('data-module'),f=d.target.getAttribute('data-editor');window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(f)?window.parent.Joomla.editors.instances[f].replaceSelection('{loadmoduleid '+e+'}'):window.parent.jInsertEditorText('{loadmoduleid '+e+'}',f),window.parent.jModalClose()});for(b=0;c.length>b;b++)c[b].addEventListener('click',function(d){d.preventDefault();var e=d.target.getAttribute('data-position'),f=d.target.getAttribute('data-editor');window.Joomla&&window.Joomla.editors&&Joomla.editors.instances&&Joomla.editors.instances.hasOwnProperty(f)?Joomla.editors.instances[f].replaceSelection('{loadposition '+e+'}'):window.parent.jInsertEditorText('{loadposition '+e+'}',f),window.parent.jModalClose()})}); +document.addEventListener("DOMContentLoaded",function(){"use strict";var b,a=document.querySelectorAll(".js-module-insert"),c=document.querySelectorAll(".js-position-insert");for(b=0;a.length>b;b++)a[b].addEventListener("click",function(a){a.preventDefault();var b=a.target.getAttribute("data-module"),c=a.target.getAttribute("data-title"),d=a.target.getAttribute("data-editor");window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&window.parent.Joomla.editors.instances.hasOwnProperty(d)?window.parent.Joomla.editors.instances[d].replaceSelection("{loadmodule "+b+","+c+"}"):window.parent.jInsertEditorText("{loadmodule "+b+","+c+"}",d),window.parent.jModalClose()});for(b=0;c.length>b;b++)c[b].addEventListener("click",function(a){a.preventDefault();var b=a.target.getAttribute("data-position"),c=a.target.getAttribute("data-editor");window.Joomla&&window.Joomla.editors&&Joomla.editors.instances&&Joomla.editors.instances.hasOwnProperty(c)?Joomla.editors.instances[c].replaceSelection("{loadposition "+b+"}"):window.parent.jInsertEditorText("{loadposition "+b+"}",c),window.parent.jModalClose()})}); \ No newline at end of file diff --git a/plugins/content/loadmodule/loadmodule.php b/plugins/content/loadmodule/loadmodule.php index 84c2545afbdde..7e166cd532387 100644 --- a/plugins/content/loadmodule/loadmodule.php +++ b/plugins/content/loadmodule/loadmodule.php @@ -55,9 +55,6 @@ public function onContentPrepare($context, &$article, &$params, $page = 0) $regexmod = '/{loadmodule\s(.*?)}/i'; $stylemod = $this->params->def('style', 'none'); - // Expression to search for(id) - $regexmodid = '/{loadmoduleid\s([1-9][0-9]*)}/i'; - // Find all instances of plugin and put in $matches for loadposition // $matches[0] is full pattern match, $matches[1] is the position preg_match_all($regex, $article->text, $matches, PREG_SET_ORDER); @@ -120,23 +117,6 @@ public function onContentPrepare($context, &$article, &$params, $page = 0) $stylemod = $this->params->def('style', 'none'); } } - - // Find all instances of plugin and put in $matchesmodid for loadmoduleid - preg_match_all($regexmodid, $article->text, $matchesmodid, PREG_SET_ORDER); - - // If no matches, skip this - if ($matchesmodid) - { - foreach ($matchesmodid as $match) - { - $id = trim($match[1]); - $output = $this->_loadid($id); - - // We should replace only first occurrence in order to allow positions with the same name to regenerate their content: - $article->text = preg_replace("|$match[0]|", addcslashes($output, '\\$'), $article->text, 1); - $style = $this->params->def('style', 'none'); - } - } } /** @@ -207,32 +187,4 @@ protected function _loadmod($module, $title, $style = 'none') return self::$mods[$module]; } - - /** - * Loads and renders the module - * - * @param string $id The id of the module - * - * @return mixed - * - * @since __DEPLOY_VERSION__ - */ - protected function _loadid($id) - { - self::$modules[$id] = ''; - $document = JFactory::getDocument(); - $renderer = $document->loadRenderer('module'); - $modules = JModuleHelper::getModuleById($id); - $params = array('style' => 'none'); - ob_start(); - - if ($modules->id > 0) - { - echo $renderer->render($modules, $params); - } - - self::$modules[$id] = ob_get_clean(); - - return self::$modules[$id]; - } } From dc21181e70ec57b76cb0bb85b0edc9a508ceb8ea Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 17 Mar 2018 16:01:53 +0000 Subject: [PATCH 173/255] Category Modal - add notes (#19131) * Category Modal - add notes If you add a note to a category then it is displayed in the category list but not displayed in the category modal (eg when you select a category for a blog menu item) This PR adds the note, alias, and full path (on hover) to the modal to make it consistent with the list view * space --- .../com_categories/views/categories/tmpl/modal.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_categories/views/categories/tmpl/modal.php b/administrator/components/com_categories/views/categories/tmpl/modal.php index 9577931315091..436dff200da84 100644 --- a/administrator/components/com_categories/views/categories/tmpl/modal.php +++ b/administrator/components/com_categories/views/categories/tmpl/modal.php @@ -113,8 +113,14 @@ <td> <?php echo JLayoutHelper::render('joomla.html.treeprefix', array('level' => $item->level)); ?> <a href="javascript:void(0)" onclick="if (window.parent) window.parent.<?php echo $this->escape($function); ?>('<?php echo $item->id; ?>', '<?php echo $this->escape(addslashes($item->title)); ?>', null, '<?php echo $this->escape(ContentHelperRoute::getCategoryRoute($item->id, $item->language)); ?>', '<?php echo $this->escape($lang); ?>', null);"> - <?php echo $this->escape($item->title); ?> - </a> + <?php echo $this->escape($item->title); ?></a> + <span class="small" title="<?php echo $this->escape($item->path); ?>"> + <?php if (empty($item->note)) : ?> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias)); ?> + <?php else : ?> + <?php echo JText::sprintf('JGLOBAL_LIST_ALIAS_NOTE', $this->escape($item->alias), $this->escape($item->note)); ?> + <?php endif; ?> + </span> </td> <td class="small hidden-phone"> <?php echo $this->escape($item->access_level); ?> From e9ba23baca5df57d019a980a518104bb07e02a48 Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Sun, 18 Mar 2018 07:31:20 -0600 Subject: [PATCH 174/255] Please consider a blank line preceding your comment (#19936) --- components/com_finder/views/search/view.feed.php | 1 + 1 file changed, 1 insertion(+) diff --git a/components/com_finder/views/search/view.feed.php b/components/com_finder/views/search/view.feed.php index f72b1ad347dd3..cbf91e33e3ac8 100644 --- a/components/com_finder/views/search/view.feed.php +++ b/components/com_finder/views/search/view.feed.php @@ -84,6 +84,7 @@ public function display($tpl = null) $item->title = $result->title; $item->link = JRoute::_($result->route); $item->description = $result->description; + // Use Unix date to cope for non-english languages $item->date = (int) $result->start_date ? JHtml::_('date', $result->start_date, 'U') : $result->indexdate; From e2befb09d2db6af8b7e2f3e02b275d5f59d8e385 Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle <bembelimen@users.noreply.github.com> Date: Mon, 19 Mar 2018 13:53:39 +0100 Subject: [PATCH 175/255] Fix typo in editor field (#19938) --- libraries/src/Form/Field/EditorField.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Form/Field/EditorField.php b/libraries/src/Form/Field/EditorField.php index e17fb72b6d84b..2def265d7493b 100644 --- a/libraries/src/Form/Field/EditorField.php +++ b/libraries/src/Form/Field/EditorField.php @@ -277,7 +277,7 @@ protected function getEditor() // Get the database object. $db = Factory::getDbo(); - // Iterate over teh types looking for an existing editor. + // Iterate over the types looking for an existing editor. foreach ($types as $element) { // Build the query. From b56a9d017b97cf00f9b229d121d2fb57d1e630fe Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Mon, 19 Mar 2018 13:06:47 -0600 Subject: [PATCH 176/255] [CS] long form function return types; round 1 (#19934) * PHPCS2 - fixes * 2 spaces after * Expected 2 spaces after the longest param type --- .../controllers/associations.php | 2 +- .../com_associations/helpers/associations.php | 8 ++--- .../com_associations/models/associations.php | 7 +++-- .../components/com_banners/models/banner.php | 4 +-- .../com_categories/controllers/categories.php | 2 +- .../com_categories/helpers/categories.php | 2 +- .../com_config/controllers/application.php | 4 +-- .../components/com_fields/helpers/fields.php | 2 +- .../components/com_finder/helpers/finder.php | 2 +- .../components/com_finder/models/index.php | 2 +- .../com_installer/models/discover.php | 2 +- .../com_languages/models/overrides.php | 14 ++++----- .../com_menus/controllers/items.php | 2 +- .../com_menus/controllers/menus.php | 2 +- .../components/com_menus/models/item.php | 30 +++++++++---------- .../com_modules/models/positions.php | 2 +- .../com_redirect/helpers/redirect.php | 2 +- administrator/modules/mod_menu/menu.php | 14 ++++----- .../hathor/postinstall/hathormessage.php | 2 +- 19 files changed, 53 insertions(+), 52 deletions(-) diff --git a/administrator/components/com_associations/controllers/associations.php b/administrator/components/com_associations/controllers/associations.php index 043e4d1bf8092..6ef44726748b4 100644 --- a/administrator/components/com_associations/controllers/associations.php +++ b/administrator/components/com_associations/controllers/associations.php @@ -34,7 +34,7 @@ class AssociationsControllerAssociations extends JControllerAdmin * @param string $prefix The class prefix. Optional. * @param array $config The array of possible config values. Optional. * - * @return JModel|bool + * @return JModel|boolean * * @since 3.7.0 */ diff --git a/administrator/components/com_associations/helpers/associations.php b/administrator/components/com_associations/helpers/associations.php index c1bcf70dcbd54..be4e55b7cb5cd 100644 --- a/administrator/components/com_associations/helpers/associations.php +++ b/administrator/components/com_associations/helpers/associations.php @@ -112,7 +112,7 @@ public static function getItem($extensionName, $typeName, $itemId) * * @param string $extensionName The extension name with com_ * - * @return bool + * @return boolean * * @since 3.7.0 */ @@ -131,7 +131,7 @@ public static function hasSupport($extensionName) * * @param string $extensionName The extension name with com_ * - * @return bool + * @return boolean * * @since 3.7.0 */ @@ -456,7 +456,7 @@ public static function getContentLanguages() * @param string $typeName The item type * @param int $itemId The id of item for which we need the associated items * - * @return bool + * @return boolean * * @since 3.7.0 */ @@ -636,7 +636,7 @@ public static function getTypeFieldName($extensionName, $typeName, $fieldName) /** * Gets the language filter system plugin extension id. * - * @return int The language filter system plugin extension id. + * @return integer The language filter system plugin extension id. * * @since 3.7.2 */ diff --git a/administrator/components/com_associations/models/associations.php b/administrator/components/com_associations/models/associations.php index e7dc9a21e0ec2..bee4212e780ce 100644 --- a/administrator/components/com_associations/models/associations.php +++ b/administrator/components/com_associations/models/associations.php @@ -60,7 +60,7 @@ public function __construct($config = array()) * * @return void * - * @since 3.7.0 + * @since 3.7.0 */ protected function populateState($ordering = 'ordering', $direction = 'asc') { @@ -144,7 +144,7 @@ protected function getStoreId($id = '') /** * Build an SQL query to load the list data. * - * @return JDatabaseQuery|bool + * @return JDatabaseQuery|boolean * * @since 3.7.0 */ @@ -395,7 +395,8 @@ protected function getListQuery() { $search = $db->quote('%' . str_replace(' ', '%', $db->escape(trim($search), true) . '%')); $query->where('(' . $db->qn($fields['title']) . ' LIKE ' . $search - . ' OR ' . $db->qn($fields['alias']) . ' LIKE ' . $search . ')'); + . ' OR ' . $db->qn($fields['alias']) . ' LIKE ' . $search . ')' + ); } } diff --git a/administrator/components/com_banners/models/banner.php b/administrator/components/com_banners/models/banner.php index 0a57e9af5bf6b..001353023eef8 100644 --- a/administrator/components/com_banners/models/banner.php +++ b/administrator/components/com_banners/models/banner.php @@ -104,7 +104,7 @@ protected function batchClient($value, $pks, $contexts) * * @return mixed An array of new IDs on success, boolean false on failure. * - * @since 2.5 + * @since 2.5 */ protected function batchCopy($value, $pks, $contexts) { @@ -562,7 +562,7 @@ public function save($data) /** * Is the user allowed to create an on the fly category? * - * @return bool + * @return boolean * * @since 3.6.1 */ diff --git a/administrator/components/com_categories/controllers/categories.php b/administrator/components/com_categories/controllers/categories.php index 73d1a7fae9132..c501c16677ccd 100644 --- a/administrator/components/com_categories/controllers/categories.php +++ b/administrator/components/com_categories/controllers/categories.php @@ -37,7 +37,7 @@ public function getModel($name = 'Category', $prefix = 'CategoriesModel', $confi /** * Rebuild the nested set tree. * - * @return bool False on failure or error, true on success. + * @return boolean False on failure or error, true on success. * * @since 1.6 */ diff --git a/administrator/components/com_categories/helpers/categories.php b/administrator/components/com_categories/helpers/categories.php index e4dfd25cd6211..6b10a6c8dfe92 100644 --- a/administrator/components/com_categories/helpers/categories.php +++ b/administrator/components/com_categories/helpers/categories.php @@ -146,7 +146,7 @@ public static function getAssociations($pk, $extension = 'com_content') * @param mixed $catid Name or ID of category. * @param string $extension Extension that triggers this function * - * @return int $catid Category ID. + * @return integer $catid Category ID. */ public static function validateCategoryId($catid, $extension) { diff --git a/administrator/components/com_config/controllers/application.php b/administrator/components/com_config/controllers/application.php index fe89752dcf232..33e3efae1d05b 100644 --- a/administrator/components/com_config/controllers/application.php +++ b/administrator/components/com_config/controllers/application.php @@ -36,7 +36,7 @@ public function __construct($config = array()) /** * Method to save the configuration. * - * @return bool True on success, false on failure. + * @return boolean True on success, false on failure. * * @since 1.5 * @deprecated 4.0 Use ConfigControllerApplicationSave instead. @@ -91,7 +91,7 @@ public function cancel() /** * Method to remove the root property from the configuration. * - * @return bool True on success, false on failure. + * @return boolean True on success, false on failure. * * @since 1.5 * @deprecated 4.0 Use ConfigControllerApplicationRemoveroot instead. diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 25fb66d220956..afbc2cefafbd0 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -621,7 +621,7 @@ public static function getAssignedCategoriesTitles($fieldId) /** * Gets the fields system plugin extension id. * - * @return int The fields system plugin extension id. + * @return integer The fields system plugin extension id. * * @since 3.7.0 */ diff --git a/administrator/components/com_finder/helpers/finder.php b/administrator/components/com_finder/helpers/finder.php index 3441420f4563d..07b6c82ed409c 100644 --- a/administrator/components/com_finder/helpers/finder.php +++ b/administrator/components/com_finder/helpers/finder.php @@ -55,7 +55,7 @@ public static function addSubmenu($vName) /** * Gets the finder system plugin extension id. * - * @return int The finder system plugin extension id. + * @return integer The finder system plugin extension id. * * @since 3.6.0 */ diff --git a/administrator/components/com_finder/models/index.php b/administrator/components/com_finder/models/index.php index 796ea78113db8..d1862184e6ba7 100644 --- a/administrator/components/com_finder/models/index.php +++ b/administrator/components/com_finder/models/index.php @@ -287,7 +287,7 @@ protected function getStoreId($id = '') /** * Gets the total of indexed items. * - * @return int The total of indexed items. + * @return integer The total of indexed items. * * @since 3.6.0 */ diff --git a/administrator/components/com_installer/models/discover.php b/administrator/components/com_installer/models/discover.php index 4123ac7705832..e2c45141ba8c3 100644 --- a/administrator/components/com_installer/models/discover.php +++ b/administrator/components/com_installer/models/discover.php @@ -228,7 +228,7 @@ public function discover_install() /** * Cleans out the list of discovered extensions. * - * @return bool True on success + * @return boolean True on success * * @since 1.6 */ diff --git a/administrator/components/com_languages/models/overrides.php b/administrator/components/com_languages/models/overrides.php index 6e53ba9f5c906..a7baba6a8bfb0 100644 --- a/administrator/components/com_languages/models/overrides.php +++ b/administrator/components/com_languages/models/overrides.php @@ -21,7 +21,7 @@ class LanguagesModelOverrides extends JModelList * * @param array $config An optional associative array of configuration settings. * - * @since 2.5 + * @since 2.5 */ public function __construct($config = array()) { @@ -112,9 +112,9 @@ public function getOverrides($all = false) /** * Method to get the total number of overrides. * - * @return int The total number of overrides. + * @return integer The total number of overrides. * - * @since 2.5 + * @since 2.5 */ public function getTotal() { @@ -190,7 +190,7 @@ protected function populateState($ordering = 'key', $direction = 'asc') * * @return array Sorted associative array of languages. * - * @since 2.5 + * @since 2.5 */ public function getLanguages() { @@ -230,9 +230,9 @@ public function getLanguages() * * @param array $cids Array of keys to delete. * - * @return integer Number of successfully deleted overrides, boolean false if an error occurred. + * @return integer Number of successfully deleted overrides, boolean false if an error occurred. * - * @since 2.5 + * @since 2.5 */ public function delete($cids) { @@ -277,7 +277,7 @@ public function delete($cids) /** * Removes all of the cached strings from the table. * - * @return boolean result of operation + * @return boolean result of operation * * @since 3.4.2 */ diff --git a/administrator/components/com_menus/controllers/items.php b/administrator/components/com_menus/controllers/items.php index a128d0192534b..b215017cc9bf0 100644 --- a/administrator/components/com_menus/controllers/items.php +++ b/administrator/components/com_menus/controllers/items.php @@ -50,7 +50,7 @@ public function getModel($name = 'Item', $prefix = 'MenusModel', $config = array /** * Rebuild the nested set tree. * - * @return bool False on failure or error, true on success. + * @return boolean False on failure or error, true on success. * * @since 1.6 */ diff --git a/administrator/components/com_menus/controllers/menus.php b/administrator/components/com_menus/controllers/menus.php index 5604ca39c0e42..3754891524460 100644 --- a/administrator/components/com_menus/controllers/menus.php +++ b/administrator/components/com_menus/controllers/menus.php @@ -107,7 +107,7 @@ public function delete() /** * Rebuild the menu tree. * - * @return bool False on failure or error, true on success. + * @return boolean False on failure or error, true on success. * * @since 1.6 */ diff --git a/administrator/components/com_menus/models/item.php b/administrator/components/com_menus/models/item.php index cb81098a11604..01c56069a84f6 100644 --- a/administrator/components/com_menus/models/item.php +++ b/administrator/components/com_menus/models/item.php @@ -26,40 +26,40 @@ class MenusModelItem extends JModelAdmin /** * The type alias for this content type. * - * @var string - * @since 3.4 + * @var string + * @since 3.4 */ public $typeAlias = 'com_menus.item'; /** * The context used for the associations table * - * @var string - * @since 3.4.4 + * @var string + * @since 3.4.4 */ protected $associationsContext = 'com_menus.item'; /** - * @var string The prefix to use with controller messages. - * @since 1.6 + * @var string The prefix to use with controller messages. + * @since 1.6 */ protected $text_prefix = 'COM_MENUS_ITEM'; /** - * @var string The help screen key for the menu item. - * @since 1.6 + * @var string The help screen key for the menu item. + * @since 1.6 */ protected $helpKey = 'JHELP_MENUS_MENU_ITEM_MANAGER_EDIT'; /** - * @var string The help screen base URL for the menu item. - * @since 1.6 + * @var string The help screen base URL for the menu item. + * @since 1.6 */ protected $helpURL; /** - * @var boolean True to use local lookup for the help screen. - * @since 1.6 + * @var boolean True to use local lookup for the help screen. + * @since 1.6 */ protected $helpLocal = false; @@ -67,14 +67,14 @@ class MenusModelItem extends JModelAdmin * Batch copy/move command. If set to false, * the batch copy/move command is not supported * - * @var string + * @var string */ protected $batch_copymove = 'menu_id'; /** * Allowed batch commands * - * @var array + * @var array */ protected $batch_commands = array( 'assetgroup_id' => 'batchAccess', @@ -864,7 +864,7 @@ public function getModules() /** * Get the list of all view levels * - * @return array|bool An array of all view levels (id, title). + * @return array|boolean An array of all view levels (id, title). * * @since 3.4 */ diff --git a/administrator/components/com_modules/models/positions.php b/administrator/components/com_modules/models/positions.php index 941068aec8032..9daa4b36d794c 100644 --- a/administrator/components/com_modules/models/positions.php +++ b/administrator/components/com_modules/models/positions.php @@ -228,7 +228,7 @@ public function getItems() /** * Method to get the total number of items. * - * @return int The total number of items. + * @return integer The total number of items. * * @since 1.6 */ diff --git a/administrator/components/com_redirect/helpers/redirect.php b/administrator/components/com_redirect/helpers/redirect.php index e5a9b07eb0438..763e7ab672968 100644 --- a/administrator/components/com_redirect/helpers/redirect.php +++ b/administrator/components/com_redirect/helpers/redirect.php @@ -84,7 +84,7 @@ public static function publishedOptions() /** * Gets the redirect system plugin extension id. * - * @return int The redirect system plugin extension id. + * @return integer The redirect system plugin extension id. * * @since 3.6.0 */ diff --git a/administrator/modules/mod_menu/menu.php b/administrator/modules/mod_menu/menu.php index f7280b1dfa51c..d6aa6ac4b10ea 100644 --- a/administrator/modules/mod_menu/menu.php +++ b/administrator/modules/mod_menu/menu.php @@ -25,27 +25,27 @@ class JAdminCssMenu /** * The Menu tree object * - * @var Tree + * @var Tree * - * @since 3.8.0 + * @since 3.8.0 */ protected $tree; /** * The module options * - * @var Registry + * @var Registry * - * @since 3.8.0 + * @since 3.8.0 */ protected $params; /** * The menu bar state * - * @var bool + * @var bool * - * @since 3.8.0 + * @since 3.8.0 */ protected $enabled; @@ -157,7 +157,7 @@ public function renderSubmenu($layoutFile) * @param array $items The menu items array * @param Registry $params Module options * - * @return bool Whether to show recovery menu + * @return boolean Whether to show recovery menu * * @since 3.8.0 */ diff --git a/administrator/templates/hathor/postinstall/hathormessage.php b/administrator/templates/hathor/postinstall/hathormessage.php index 1d5677e4af138..bacfbca2f176e 100644 --- a/administrator/templates/hathor/postinstall/hathormessage.php +++ b/administrator/templates/hathor/postinstall/hathormessage.php @@ -12,7 +12,7 @@ * Checks if hathor is the default backend template or currently used as default style. * If yes we want to show a message and action button. * - * @return bool + * @return boolean * * @since 3.7 */ From f96b98429bbb7116345efa19f371eaa31412f0fa Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sun, 25 Mar 2018 16:53:43 +0200 Subject: [PATCH 177/255] [libraries][legacy][request] - fix php 7.1 warning not numeric (#19710) * [libraries][legacy][request] - fix php 7.1 warning not numeric * dry --- libraries/legacy/request/request.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/legacy/request/request.php b/libraries/legacy/request/request.php index 9f03d2ff89c65..01528dc898167 100644 --- a/libraries/legacy/request/request.php +++ b/libraries/legacy/request/request.php @@ -514,6 +514,8 @@ public static function checkToken($method = 'post') */ protected static function _cleanVar($var, $mask = 0, $type = null) { + $mask = (int) $mask; + // If the no trim flag is not set, trim the variable if (!($mask & 1) && is_string($var)) { From 7fcc0e223cbe48cf4e1ff7fae5ca19d01a73c034 Mon Sep 17 00:00:00 2001 From: Allon Moritz <allon.moritz@digital-peak.com> Date: Sun, 25 Mar 2018 16:55:02 +0200 Subject: [PATCH 178/255] [com_fields] Normalise the request com_fields data (#19884) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Normalise the request com_fields data * CS * PHP 5.3 compat * Fields in com_fields array (#9) Fields should be set in com_fields array and not direcly in $data * Spelling * Also normalise request data on front-end user profile save (#10) * Also normalise request data on front-end user profile save * correct context and option * Handle 0 properly in empty check * Simplify * allowing value 0 to be saved (#11) when setting a value of 0 in a text field the function empty will return true > setting the value to null * correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (#12) * correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true' * Update field.php * Update field.php --- .../components/com_fields/models/field.php | 5 +- components/com_users/controllers/profile.php | 8 +++ .../src/MVC/Controller/FormController.php | 8 +++ plugins/system/fields/fields.php | 56 +++++++++++++++++-- 4 files changed, 69 insertions(+), 8 deletions(-) diff --git a/administrator/components/com_fields/models/field.php b/administrator/components/com_fields/models/field.php index 02802f897d0ef..6cf51090da0f1 100644 --- a/administrator/components/com_fields/models/field.php +++ b/administrator/components/com_fields/models/field.php @@ -589,8 +589,9 @@ public function setFieldValue($fieldId, $itemId, $value) } elseif (count($value) == 1 && count((array) $oldValue) == 1) { - // Only a single row value update can be done - $needsUpdate = true; + // Only a single row value update can be done when not empty + $needsUpdate = is_array($value[0]) ? count($value[0]) : strlen($value[0]); + $needsDelete = !$needsUpdate; } else { diff --git a/components/com_users/controllers/profile.php b/components/com_users/controllers/profile.php index 594ee0b404ac6..3175402a60221 100644 --- a/components/com_users/controllers/profile.php +++ b/components/com_users/controllers/profile.php @@ -113,6 +113,14 @@ public function save() return false; } + // Send an object which can be modified through the plugin event + $objData = (object) $requestData; + $app->triggerEvent( + 'onContentNormaliseRequestData', + array('com_users.user', $objData, $form) + ); + $requestData = (array) $objData; + // Validate the posted data. $data = $model->validate($form, $requestData); diff --git a/libraries/src/MVC/Controller/FormController.php b/libraries/src/MVC/Controller/FormController.php index 5052dedd5c560..27d532a5d00b8 100644 --- a/libraries/src/MVC/Controller/FormController.php +++ b/libraries/src/MVC/Controller/FormController.php @@ -694,6 +694,14 @@ public function save($key = null, $urlVar = null) return false; } + // Send an object which can be modified through the plugin event + $objData = (object) $data; + $app->triggerEvent( + 'onContentNormaliseRequestData', + array($this->option . '.' . $this->context, $objData, $form) + ); + $data = (array) $objData; + // Test whether the data is valid. $validData = $model->validate($form, $data); diff --git a/plugins/system/fields/fields.php b/plugins/system/fields/fields.php index ba1e1396b3009..746f689f5eedb 100644 --- a/plugins/system/fields/fields.php +++ b/plugins/system/fields/fields.php @@ -9,6 +9,7 @@ defined('_JEXEC') or die; +use Joomla\CMS\Form\Form; use Joomla\Registry\Registry; use Joomla\CMS\Factory; use Joomla\CMS\Language\Multilanguage; @@ -30,6 +31,38 @@ class PlgSystemFields extends JPlugin */ protected $autoloadLanguage = true; + /** + * Normalizes the request data. + * + * @param string $context The context + * @param object $data The object + * @param Form $form The form + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function onContentNormaliseRequestData($context, $data, Form $form) + { + if (!FieldsHelper::extract($context, $data)) + { + return true; + } + + // Loop over all fields + foreach ($form->getGroup('com_fields') as $field) + { + // Make sure the data object has an entry + if (isset($data->com_fields[$field->fieldname])) + { + continue; + } + + // Set a default value for the field + $data->com_fields[$field->fieldname] = false; + } + } + /** * The save event. * @@ -45,7 +78,7 @@ class PlgSystemFields extends JPlugin public function onContentAfterSave($context, $item, $isNew, $data = array()) { // Check if data is an array and the item has an id - if (!is_array($data) || empty($item->id)) + if (!is_array($data) || empty($item->id) || empty($data['com_fields'])) { return true; } @@ -78,17 +111,28 @@ public function onContentAfterSave($context, $item, $isNew, $data = array()) return true; } - // Get the fields data - $fieldsData = !empty($data['com_fields']) ? $data['com_fields'] : array(); - // Loading the model $model = JModelLegacy::getInstance('Field', 'FieldsModel', array('ignore_request' => true)); // Loop over the fields foreach ($fields as $field) { - // Determine the value if it is available from the data - $value = key_exists($field->name, $fieldsData) ? $fieldsData[$field->name] : null; + // Determine the value if it is (un)available from the data + if (key_exists($field->name, $data['com_fields'])) + { + $value = $data['com_fields'][$field->name] === false ? null : $data['com_fields'][$field->name]; + } + // Field not available on form, use stored value + else + { + $value = $field->rawvalue; + } + + // If no value set (empty) remove value from database + if (is_array($value) ? !count($value) : !strlen($value)) + { + $value = null; + } // JSON encode value for complex fields if (is_array($value) && (count($value, COUNT_NORMAL) !== count($value, COUNT_RECURSIVE) || !count(array_filter(array_keys($value), 'is_numeric')))) From 116138f4f0ff7a962a61e5ee0d3c0ac31ff54cc3 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sun, 25 Mar 2018 16:55:31 +0200 Subject: [PATCH 179/255] [event dispatcher] - use strict comparison (#19907) --- libraries/joomla/event/dispatcher.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/joomla/event/dispatcher.php b/libraries/joomla/event/dispatcher.php index 90c662c8a4611..5c16fc7e2c970 100644 --- a/libraries/joomla/event/dispatcher.php +++ b/libraries/joomla/event/dispatcher.php @@ -195,7 +195,7 @@ public function attach($observer) // Make sure we haven't already attached this array as an observer foreach ($this->_observers as $check) { - if (is_array($check) && $check['event'] == $observer['event'] && $check['handler'] == $observer['handler']) + if (is_array($check) && $check['event'] === $observer['event'] && $check['handler'] === $observer['handler']) { return; } From 40215406fd5dd98cdc29a5236f508c988d8f782d Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Sun, 25 Mar 2018 07:56:32 -0700 Subject: [PATCH 180/255] [com_users] Fix display of custom field of value 0 (#19933) --- components/com_users/views/profile/tmpl/default_custom.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_users/views/profile/tmpl/default_custom.php b/components/com_users/views/profile/tmpl/default_custom.php index 7b369b7e28962..92d1a5424bae9 100644 --- a/components/com_users/views/profile/tmpl/default_custom.php +++ b/components/com_users/views/profile/tmpl/default_custom.php @@ -51,7 +51,7 @@ </dt> <dd> <?php if (key_exists($field->fieldname, $customFields)) : ?> - <?php echo $customFields[$field->fieldname]->value ?: JText::_('COM_USERS_PROFILE_VALUE_NOT_FOUND'); ?> + <?php echo strlen($customFields[$field->fieldname]->value) ? $customFields[$field->fieldname]->value : JText::_('COM_USERS_PROFILE_VALUE_NOT_FOUND'); ?> <?php elseif (JHtml::isRegistered('users.' . $field->id)) : ?> <?php echo JHtml::_('users.' . $field->id, $field->value); ?> <?php elseif (JHtml::isRegistered('users.' . $field->fieldname)) : ?> From 6a1f5ac2365396cebcaaa15f199f03c565f30b6a Mon Sep 17 00:00:00 2001 From: Walt Sorensen <photodude@users.noreply.github.com> Date: Sun, 25 Mar 2018 08:57:40 -0600 Subject: [PATCH 181/255] [CS] long form function return types; round 2 (#19935) * PHPCS2 Auto Fixes - Expected "boolean" but found "bool" for function return type - Expected "integer" but found "int" for function return type * Manual correction of docBlock spacing * Manual correction of docBlock spacing * Manual correction of docBlock spacing * Manual correction of docBlock spacing * Add some Member var comments * Manual correction of docBlock spacing * Add some Member Var comments * return tag after access tag * 3 spaces after var tag before the type * add tag since 3.1 to Class Properties and align var tags * add tag since 3.1 and align var tag * adjust some tag alignments * Two spaces after type * integer not int --- .../com_config/controller/modules/display.php | 2 +- .../com_config/controller/modules/save.php | 2 +- components/com_search/models/search.php | 26 +++++------ components/com_tags/views/tag/view.html.php | 46 ++++++++++++++++++- installation/model/languages.php | 22 ++++----- libraries/src/Access/Access.php | 2 +- libraries/src/Application/WebApplication.php | 8 ++-- .../src/Http/Transport/StreamTransport.php | 2 +- .../Installer/Adapter/ComponentAdapter.php | 2 +- libraries/src/Menu/Node.php | 8 ++-- libraries/src/Updater/UpdateAdapter.php | 2 +- libraries/src/Utility/BufferStreamHandler.php | 6 +-- libraries/src/Utility/Utility.php | 2 +- plugins/user/joomla/joomla.php | 2 +- plugins/user/profile/profile.php | 10 ++-- 15 files changed, 92 insertions(+), 50 deletions(-) diff --git a/components/com_config/controller/modules/display.php b/components/com_config/controller/modules/display.php index ef62182749f9e..e0a789e21b4bc 100644 --- a/components/com_config/controller/modules/display.php +++ b/components/com_config/controller/modules/display.php @@ -21,7 +21,7 @@ class ConfigControllerModulesDisplay extends ConfigControllerDisplay /** * Method to display module editing. * - * @return bool True on success, false on failure. + * @return boolean True on success, false on failure. * * @since 3.2 */ diff --git a/components/com_config/controller/modules/save.php b/components/com_config/controller/modules/save.php index 32b8bcc97a916..f059a3a114029 100644 --- a/components/com_config/controller/modules/save.php +++ b/components/com_config/controller/modules/save.php @@ -21,7 +21,7 @@ class ConfigControllerModulesSave extends JControllerBase /** * Method to save module editing. * - * @return bool True on success. + * @return boolean True on success. * * @since 3.2 */ diff --git a/components/com_search/models/search.php b/components/com_search/models/search.php index 6df6e0e4af213..d80f35d9b1e79 100644 --- a/components/com_search/models/search.php +++ b/components/com_search/models/search.php @@ -19,35 +19,35 @@ class SearchModelSearch extends JModelLegacy /** * Search data array * - * @var array + * @var array */ protected $_data = null; /** * Search total * - * @var integer + * @var integer */ protected $_total = null; /** * Search areas * - * @var integer + * @var integer */ - protected $_areas = null; + protected $_areas = null; /** * Pagination object * - * @var object + * @var object */ protected $_pagination = null; /** * Constructor * - * @since 1.5 + * @since 1.5 */ public function __construct() { @@ -95,9 +95,9 @@ public function __construct() * @param string $match matching option, exact|any|all * @param string $ordering option, newest|oldest|popular|alpha|category * - * @return void + * @access public * - * @access public + * @return void */ public function setSearch($keyword, $match = 'all', $ordering = 'newest') { @@ -127,8 +127,8 @@ public function setSearch($keyword, $match = 'all', $ordering = 'newest') /** * Method to get weblink item data for the category * - * @access public - * @return array + * @access public + * @return array */ public function getData() { @@ -199,7 +199,7 @@ public function setAreas($active = array(), $search = array()) /** * Method to get a pagination object of the weblink items for the category * - * @access public + * @access public * @return integer */ public function getPagination() @@ -216,9 +216,9 @@ public function getPagination() /** * Method to get the search areas * - * @return int + * @return integer * - * @since 1.5 + * @since 1.5 */ public function getAreas() { diff --git a/components/com_tags/views/tag/view.html.php b/components/com_tags/views/tag/view.html.php index b25af2a71f6cf..936c8da59cc2a 100644 --- a/components/com_tags/views/tag/view.html.php +++ b/components/com_tags/views/tag/view.html.php @@ -18,18 +18,60 @@ */ class TagsViewTag extends JViewLegacy { + /** + * The model state + * + * @var \Joomla\Registry\Registry + * @since 3.1 + */ protected $state; + /** + * An array of items. + * + * @var array + * @since 3.1 + */ protected $items; + /** + * The active JObject (on success, false on failure) + * + * @var JObject|boolean + * @since 3.1 + */ protected $item; + /** + * Array of Children objects + * + * @var array + * @since 3.1 + */ protected $children; + /** + * The pagination object. + * + * @var JPagination + * @since 3.1 + */ protected $pagination; + /** + * The application parameters + * + * @var \Joomla\Registry\Registry The parameters object + * @since 3.1 + */ protected $params; + /** + * Array of tags title + * + * @var array + * @since 3.1 + */ protected $tags_title; /** @@ -204,7 +246,7 @@ public function display($tpl = null) /** * Prepares the document. * - * @return void + * @return void */ protected function _prepareDocument() { @@ -292,7 +334,7 @@ protected function _prepareDocument() /** * Creates the tags title for the output * - * @return bool + * @return boolean */ protected function getTagsTitle() { diff --git a/installation/model/languages.php b/installation/model/languages.php index 2af62f392cb75..d07b10b0a60d6 100644 --- a/installation/model/languages.php +++ b/installation/model/languages.php @@ -131,7 +131,7 @@ public function getItems() * * @param array $lids List of the update_id value of the languages to install. * - * @return boolean True if successful + * @return boolean True if successful */ public function install($lids) { @@ -227,7 +227,7 @@ protected function getLanguageManifest($uid) * * @param string $remote_manifest URL to the manifest XML file of the remote package. * - * @return string|bool + * @return string|boolean * * @since 3.1 */ @@ -244,7 +244,7 @@ protected function getPackageUrl($remote_manifest) * * @param string $url URL of the package. * - * @return array|bool Package details or false on failure. + * @return array|boolean Package details or false on failure. * * @since 3.1 */ @@ -876,7 +876,7 @@ public function addMenuGroup($itemLanguage) * * @param stdClass $itemLanguage Language Object. * - * @return JTable|boolean Menu Item Object. False otherwise. + * @return JTable|boolean Menu Item Object. False otherwise. * * @since 3.2 */ @@ -948,7 +948,7 @@ public function addFeaturedMenuItem($itemLanguage) * * @param stdClass $itemLanguage Language Object. * - * @return JTable|boolean Menu Item Object. False otherwise. + * @return JTable|boolean Menu Item Object. False otherwise. * * @since 3.8.0 */ @@ -1151,7 +1151,7 @@ public function enableModule($moduleName) * * @param stdClass $itemLanguage Language Object. * - * @return JTable|boolean Category Object. False otherwise. + * @return JTable|boolean Category Object. False otherwise. * * @since 3.2 */ @@ -1212,9 +1212,9 @@ public function addCategory($itemLanguage) * Create an article in a specific language. * * @param stdClass $itemLanguage Language Object. - * @param int $categoryId The id of the category where we want to add the article. + * @param integer $categoryId The id of the category where we want to add the article. * - * @return JTable|boolean Article Object. False otherwise. + * @return JTable|boolean Article Object. False otherwise. * * @since 3.2 */ @@ -1302,9 +1302,9 @@ public function addArticle($itemLanguage, $categoryId) * Add Blog Menu Item. * * @param stdClass $itemLanguage Language Object. - * @param int $categoryId The id of the category displayed by the blog. + * @param integer $categoryId The id of the category displayed by the blog. * - * @return JTable|boolean Menu Item Object. False otherwise. + * @return JTable|boolean Menu Item Object. False otherwise. * * @since 3.8.0 */ @@ -1418,7 +1418,7 @@ public function addAssociations($groupedAssociations) /** * Retrieve the admin user id. * - * @return int|bool One Administrator ID. + * @return integer|boolean One Administrator ID. * * @since 3.2 */ diff --git a/libraries/src/Access/Access.php b/libraries/src/Access/Access.php index 0a4eaa059110b..b6e6d2ef91488 100644 --- a/libraries/src/Access/Access.php +++ b/libraries/src/Access/Access.php @@ -327,7 +327,7 @@ protected static function &preloadPermissionsParentIdMapping($assetType) * (e.g. 'com_content.article', 'com_menus.menu.2', 'com_contact'). * @param boolean $reload Reload the preloaded assets. * - * @return bool True + * @return boolean True * * @since 1.6 * @note This function will return void in 4.0. diff --git a/libraries/src/Application/WebApplication.php b/libraries/src/Application/WebApplication.php index 4cba9b1f9494e..ca71bc5ec0b04 100644 --- a/libraries/src/Application/WebApplication.php +++ b/libraries/src/Application/WebApplication.php @@ -633,9 +633,9 @@ public function redirect($url, $status = 303) * * @param integer $state The HTTP 1.1 status code. * - * @return bool + * @return boolean * - * @since 3.8.0 + * @since 3.8.0 */ protected function isRedirectState($state) { @@ -810,9 +810,9 @@ public function sendHeaders() * * @param string $value The given status as int or string * - * @return string + * @return string * - * @since 3.8.0 + * @since 3.8.0 */ protected function getHttpStatusValue($value) { diff --git a/libraries/src/Http/Transport/StreamTransport.php b/libraries/src/Http/Transport/StreamTransport.php index b258b7ae88033..b51bd748ae0b6 100644 --- a/libraries/src/Http/Transport/StreamTransport.php +++ b/libraries/src/Http/Transport/StreamTransport.php @@ -274,7 +274,7 @@ protected function getResponse(array $headers, $body) /** * Method to check if http transport stream available for use * - * @return bool true if available else false + * @return boolean true if available else false * * @since 12.1 */ diff --git a/libraries/src/Installer/Adapter/ComponentAdapter.php b/libraries/src/Installer/Adapter/ComponentAdapter.php index ec770a50b083f..88341c9f9d237 100644 --- a/libraries/src/Installer/Adapter/ComponentAdapter.php +++ b/libraries/src/Installer/Adapter/ComponentAdapter.php @@ -1312,7 +1312,7 @@ public function refreshManifestCache() * @param array &$data The menu item data to create * @param integer $parentId The parent menu item ID * - * @return bool|int Menu item ID on success, false on failure + * @return boolean|integer Menu item ID on success, false on failure */ protected function _createAdminMenuItem(array &$data, $parentId) { diff --git a/libraries/src/Menu/Node.php b/libraries/src/Menu/Node.php index 239ee1ffe5b19..c1e9a5dc0ce21 100644 --- a/libraries/src/Menu/Node.php +++ b/libraries/src/Menu/Node.php @@ -136,7 +136,7 @@ public function removeChild(Node $child) /** * Test if this node has a parent * - * @return bool True if there is a parent + * @return boolean True if there is a parent * * @since 3.8.0 */ @@ -160,7 +160,7 @@ public function getParent() /** * Test if this node has children * - * @return bool + * @return boolean * * @since 3.8.0 */ @@ -184,7 +184,7 @@ public function getChildren() /** * Find the current node depth in the tree hierarchy * - * @return int The node level in the hierarchy, where ROOT == 0, First level menu item == 1, and so on. + * @return integer The node level in the hierarchy, where ROOT == 0, First level menu item == 1, and so on. * * @since 3.8.0 */ @@ -196,7 +196,7 @@ public function getLevel() /** * Check whether the object instance node is the root node * - * @return bool + * @return boolean * * @since 3.8.0 */ diff --git a/libraries/src/Updater/UpdateAdapter.php b/libraries/src/Updater/UpdateAdapter.php index 7fdad743ac849..494ace11c5cd5 100644 --- a/libraries/src/Updater/UpdateAdapter.php +++ b/libraries/src/Updater/UpdateAdapter.php @@ -207,7 +207,7 @@ protected function getUpdateSiteName($updateSiteId) * * @param array $options The update options, see findUpdate() in children classes * - * @return bool|\JHttpResponse False if we can't connect to the site, JHttpResponse otherwise + * @return boolean|\JHttpResponse False if we can't connect to the site, JHttpResponse otherwise * * @throws \Exception */ diff --git a/libraries/src/Utility/BufferStreamHandler.php b/libraries/src/Utility/BufferStreamHandler.php index 60465bccd1c78..494aff3ab52d0 100644 --- a/libraries/src/Utility/BufferStreamHandler.php +++ b/libraries/src/Utility/BufferStreamHandler.php @@ -200,7 +200,7 @@ public function stream_seek($offset, $whence) * * @param integer $offset The offset in bytes * - * @return bool + * @return boolean */ protected function seek_set($offset) { @@ -219,7 +219,7 @@ protected function seek_set($offset) * * @param integer $offset The offset in bytes * - * @return bool + * @return boolean */ protected function seek_cur($offset) { @@ -238,7 +238,7 @@ protected function seek_cur($offset) * * @param integer $offset The offset in bytes * - * @return bool + * @return boolean */ protected function seek_end($offset) { diff --git a/libraries/src/Utility/Utility.php b/libraries/src/Utility/Utility.php index bea775e0d2836..9e4cacc5b4acc 100644 --- a/libraries/src/Utility/Utility.php +++ b/libraries/src/Utility/Utility.php @@ -52,7 +52,7 @@ public static function parseAttributes($string) * * @param mixed $custom A custom upper limit, if the PHP settings are all above this then this will be used * - * @return int Size in number of bytes + * @return integer Size in number of bytes * * @since 3.7.0 */ diff --git a/plugins/user/joomla/joomla.php b/plugins/user/joomla/joomla.php index e248f07c65a88..4f7f9d8d5936e 100644 --- a/plugins/user/joomla/joomla.php +++ b/plugins/user/joomla/joomla.php @@ -276,7 +276,7 @@ public function onUserLogin($user, $options = array()) * @param array $user Holds the user data. * @param array $options Array holding options (client, ...). * - * @return bool True on success + * @return boolean True on success * * @since 1.5 */ diff --git a/plugins/user/profile/profile.php b/plugins/user/profile/profile.php index 2e57c76226306..e9b2253945caa 100644 --- a/plugins/user/profile/profile.php +++ b/plugins/user/profile/profile.php @@ -135,7 +135,7 @@ public function onContentPrepareData($context, $data) * * @param string $value URL to use * - * @return mixed|string + * @return mixed|string */ public static function url($value) { @@ -200,7 +200,7 @@ public static function dob($value) * * @param boolean $value input value * - * @return string + * @return string */ public static function tos($value) { @@ -357,10 +357,10 @@ public function onContentPrepareForm($form, $data) * @param boolean $isnew True if a new user is stored. * @param array $data Holds the new user data. * - * @return boolean + * @return boolean * * @since 3.1 - * @throws InvalidArgumentException on invalid date. + * @throws InvalidArgumentException on invalid date. */ public function onUserBeforeSave($user, $isnew, $data) { @@ -408,7 +408,7 @@ public function onUserBeforeSave($user, $isnew, $data) * @param boolean $result true if saving the user worked * @param string $error error message * - * @return bool + * @return boolean */ public function onUserAfterSave($data, $isNew, $result, $error) { From 3c6b4b86e345dfb23a99c583ac821a240398fbba Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sun, 25 Mar 2018 15:58:27 +0100 Subject: [PATCH 182/255] Redirects Plugin - Make Relative or Absolute. (#19942) * Redirects Plugin - Make Relative or Absolute. * Orderiing and capital I. * Update en-GB.plg_system_redirect.ini * Update en-GB.plg_system_redirect.ini updated as per @quys comment. * Update en-GB.plg_system_redirect.ini --- .../language/en-GB/en-GB.plg_system_redirect.ini | 2 ++ plugins/system/redirect/redirect.php | 5 +++++ plugins/system/redirect/redirect.xml | 11 +++++++++++ 3 files changed, 18 insertions(+) diff --git a/administrator/language/en-GB/en-GB.plg_system_redirect.ini b/administrator/language/en-GB/en-GB.plg_system_redirect.ini index ce68e07134984..c8533535be1a2 100644 --- a/administrator/language/en-GB/en-GB.plg_system_redirect.ini +++ b/administrator/language/en-GB/en-GB.plg_system_redirect.ini @@ -13,4 +13,6 @@ PLG_SYSTEM_REDIRECT_FIELD_EXCLUDE_URLS_REGEXP_DESC="Should the term be handled a PLG_SYSTEM_REDIRECT_FIELD_EXCLUDE_URLS_REGEXP_LABEL="Regular Expression" PLG_SYSTEM_REDIRECT_FIELD_EXCLUDE_URLS_TERM_DESC="A regular expression or a term which should be excluded." PLG_SYSTEM_REDIRECT_FIELD_EXCLUDE_URLS_TERM_LABEL="Term" +PLG_SYSTEM_REDIRECT_FIELD_STORE_FULL_URL_DESC="Save the expired URL as absolute (include domain) or relative (exclude domain)." +PLG_SYSTEM_REDIRECT_FIELD_STORE_FULL_URL_LABEL="Include Domain Name in Expired URL" PLG_SYSTEM_REDIRECT_XML_DESCRIPTION="The system redirect plugin enables the Joomla Redirect system to catch missing pages and redirect users." diff --git a/plugins/system/redirect/redirect.php b/plugins/system/redirect/redirect.php index 7a7a99d047cae..bda4602eefc71 100644 --- a/plugins/system/redirect/redirect.php +++ b/plugins/system/redirect/redirect.php @@ -297,6 +297,11 @@ private static function doErrorHandling($error) if ((bool) $params->get('collect_urls', true)) { + if (!$params->get('includeUrl', 1)) + { + $url = $urlRel; + } + $data = (object) array( 'id' => 0, 'old_url' => $url, diff --git a/plugins/system/redirect/redirect.xml b/plugins/system/redirect/redirect.xml index 7bfa8ecfc7b32..8e4c04a4fe8ce 100644 --- a/plugins/system/redirect/redirect.xml +++ b/plugins/system/redirect/redirect.xml @@ -31,6 +31,17 @@ <option value="1">JENABLED</option> <option value="0">JDISABLED</option> </field> + <field + name="includeUrl" + type="radio" + label="PLG_SYSTEM_REDIRECT_FIELD_STORE_FULL_URL_LABEL" + description="PLG_SYSTEM_REDIRECT_FIELD_STORE_FULL_URL_DESC" + default="1" + class="btn-group btn-group-yesno" + > + <option value="1">JYES</option> + <option value="0">JNO</option> + </field> <field name="exclude_urls" type="subform" From 0048a5d65b04e1e48708eabeae2cc39d47f6f345 Mon Sep 17 00:00:00 2001 From: Guido De Gobbis <10517822+degobbis@users.noreply.github.com> Date: Sun, 25 Mar 2018 16:58:52 +0200 Subject: [PATCH 183/255] Make calendar output usable in other css-frameworks (#19944) * Revert changes expect css * Make calendar output usable in other css-frameworks * A min-width makes look better --- media/system/css/fields/calendar-rtl.css | 3 ++- media/system/css/fields/calendar.css | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/media/system/css/fields/calendar-rtl.css b/media/system/css/fields/calendar-rtl.css index 7a17cb51e20c6..5cea9f21b4b7d 100644 --- a/media/system/css/fields/calendar-rtl.css +++ b/media/system/css/fields/calendar-rtl.css @@ -75,6 +75,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" border: 0; cursor : pointer; font-size: 12px; + min-width: 38px; } .calendar-container table tbody td.day.wn { @@ -91,7 +92,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" .calendar-container table tbody td.today { position: relative; height: 100%; - width: 100%; + width: auto; font-weight: bold; } .calendar-container table tbody td.today:after { diff --git a/media/system/css/fields/calendar.css b/media/system/css/fields/calendar.css index 64cfaf9631d91..474a5ab376ae6 100644 --- a/media/system/css/fields/calendar.css +++ b/media/system/css/fields/calendar.css @@ -75,6 +75,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" border: 0; cursor : pointer; font-size: 12px; + min-width: 38px; } .calendar-container table tbody td.day.wn { @@ -91,7 +92,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" .calendar-container table tbody td.today { position: relative; height: 100%; - width: 100%; + width: auto; font-weight: bold; } .calendar-container table tbody td.today:after { From 221d84860c5147af0aa1e7c2c78dc830b477e3b2 Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sun, 25 Mar 2018 15:59:27 +0100 Subject: [PATCH 184/255] =?UTF-8?q?Fix=20for=20duplicate=20url=20check=20b?= =?UTF-8?q?ug=20introduced=20by=20#19734=20and=20support=20utf8=E2=80=A6?= =?UTF-8?q?=20(#19950)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix for duplicate url check bug introduced by #19734 and support utf8 on old_urls. Couldn't find a solution to handle this within mysql. So a simple foreach handles it perfectly. * Update link.php --- .../components/com_redirect/tables/link.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/administrator/components/com_redirect/tables/link.php b/administrator/components/com_redirect/tables/link.php index 3eec8aa8e7798..7e7eb654184b1 100644 --- a/administrator/components/com_redirect/tables/link.php +++ b/administrator/components/com_redirect/tables/link.php @@ -85,17 +85,20 @@ public function check() // Check for existing name $query = $db->getQuery(true) ->select($db->quoteName('id')) + ->select($db->quoteName('old_url')) ->from('#__redirect_links') - ->where($db->quoteName('old_url') . ' = ' . $db->quote(rawurlencode($this->old_url))); + ->where($db->quoteName('old_url') . ' = ' . $db->quote($this->old_url)); $db->setQuery($query); + $urls = $db->loadAssocList(); - $xid = (int) $db->loadResult(); - - if ($xid && $xid != (int) $this->id) + foreach ($urls as $url) { - $this->setError(JText::_('COM_REDIRECT_ERROR_DUPLICATE_OLD_URL')); + if ($url['old_url'] === $this->old_url && (int) $url['id'] != (int) $this->id) + { + $this->setError(JText::_('COM_REDIRECT_ERROR_DUPLICATE_OLD_URL')); - return false; + return false; + } } return true; From 848431775319c3206bcf3791baf188644cccf572 Mon Sep 17 00:00:00 2001 From: Akhil Mittal <31512096+amone4@users.noreply.github.com> Date: Sun, 25 Mar 2018 20:30:02 +0530 Subject: [PATCH 185/255] solved issue number #19930 (#19969) corrected typo to ensure proper checkbox functionality --- components/com_finder/helpers/html/filter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/com_finder/helpers/html/filter.php b/components/com_finder/helpers/html/filter.php index 8ac87b7c2f955..402959561e073 100644 --- a/components/com_finder/helpers/html/filter.php +++ b/components/com_finder/helpers/html/filter.php @@ -188,9 +188,9 @@ public static function slider($options = array()) $html .= '<div class="control-group">'; $html .= '<div class="controls">'; $html .= '<label class="checkbox" for="tax-' - . $bk . '">'; + . $nk . '">'; $html .= '<input type="checkbox" class="selector filter-node' . $classSuffix . '" value="' . $nk . '" name="t[]" id="tax-' - . $bk . '"' . $checked . ' />'; + . $nk . '"' . $checked . ' />'; $html .= $nv->title; $html .= '</label>'; $html .= '</div>'; From 136c7ebcc6ac7c26cda4b66b63bf178b973c9708 Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sun, 25 Mar 2018 16:00:49 +0100 Subject: [PATCH 186/255] Removed text-output and enabled a disabled tick box for consistency (#19974) --- .../com_users/views/users/tmpl/default.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_users/views/users/tmpl/default.php b/administrator/components/com_users/views/users/tmpl/default.php index 8662c067d4a11..7b949f8079b0e 100644 --- a/administrator/components/com_users/views/users/tmpl/default.php +++ b/administrator/components/com_users/views/users/tmpl/default.php @@ -123,14 +123,14 @@ <?php echo $this->escape($item->username); ?> </td> <td class="center"> - <?php if ($canChange) : ?> - <?php - $self = $loggeduser->id == $item->id; + <?php + $self = $loggeduser->id == $item->id; + + if ($canChange) : echo JHtml::_('jgrid.state', JHtmlUsers::blockStates($self), $item->block, $i, 'users.', !$self); - ?> - <?php else : ?> - <?php echo JText::_($item->block ? 'JNO' : 'JYES'); ?> - <?php endif; ?> + else : + echo JHtml::_('jgrid.state', JHtmlUsers::blockStates($self), $item->block, $i, 'users.', false); + endif; ?> </td> <td class="center hidden-phone"> <?php From dbd33e5edd85d040fd51bd3726e7ad7326c36322 Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sun, 25 Mar 2018 16:01:04 +0100 Subject: [PATCH 187/255] =?UTF-8?q?Change=20to=20allow=20str=5Fpos=20to=20?= =?UTF-8?q?match=20when=20the=20exclude=20term=20is=20at=20the=20root?= =?UTF-8?q?=E2=80=A6=20(#19979)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Change to allow str_pos to match when the exclude term is at the root of the path * updated redirect.php - clearly I was tired with the first pr. --- plugins/system/redirect/redirect.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/redirect/redirect.php b/plugins/system/redirect/redirect.php index bda4602eefc71..3983bd9f40014 100644 --- a/plugins/system/redirect/redirect.php +++ b/plugins/system/redirect/redirect.php @@ -169,7 +169,7 @@ private static function doErrorHandling($error) } else { - if (StringHelper::strpos($orgurlRel, $exclude->term)) + if (StringHelper::strpos($orgurlRel, $exclude->term) !== false) { $skipUrl = true; break; From 7f0d819042de4edad6a194ed5303443bd1016a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boinnard?= <rvbgnu@users.noreply.github.com> Date: Sun, 25 Mar 2018 16:03:48 +0100 Subject: [PATCH 188/255] =?UTF-8?q?Fix=20for=20#11070=20(tag-category)=20-?= =?UTF-8?q?=20Improve=20also=20views=20newsfeed-category=20=E2=80=A6=20(#1?= =?UTF-8?q?6627)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix for #11070 (tag-category) - Improve also views newsfeed-category and category-list * Correctly modifying .LESS and regenerate .CSS (#16627) --- administrator/templates/isis/css/template-rtl.css | 8 ++++++++ administrator/templates/isis/css/template.css | 8 ++++++++ media/jui/less/responsive-767px-max.less | 10 ++++++++++ templates/protostar/css/template.css | 8 ++++++++ 4 files changed, 34 insertions(+) diff --git a/administrator/templates/isis/css/template-rtl.css b/administrator/templates/isis/css/template-rtl.css index 807e28ffbf3a4..4e1ee9fe69113 100644 --- a/administrator/templates/isis/css/template-rtl.css +++ b/administrator/templates/isis/css/template-rtl.css @@ -4743,6 +4743,14 @@ a.badge:focus { padding-left: 10px; padding-right: 10px; } + .tag-category input#filter-search, + .newsfeed-category input#filter-search { + width: auto; + margin-bottom: 9px; + } + .category-list input#filter-search { + width: auto; + } .media .pull-left, .media .pull-right { float: none; diff --git a/administrator/templates/isis/css/template.css b/administrator/templates/isis/css/template.css index f7d1a8d8f8fa9..c7ae130221745 100644 --- a/administrator/templates/isis/css/template.css +++ b/administrator/templates/isis/css/template.css @@ -4743,6 +4743,14 @@ a.badge:focus { padding-left: 10px; padding-right: 10px; } + .tag-category input#filter-search, + .newsfeed-category input#filter-search { + width: auto; + margin-bottom: 9px; + } + .category-list input#filter-search { + width: auto; + } .media .pull-left, .media .pull-right { float: none; diff --git a/media/jui/less/responsive-767px-max.less b/media/jui/less/responsive-767px-max.less index 194a2e4a14848..c4a82f75da718 100644 --- a/media/jui/less/responsive-767px-max.less +++ b/media/jui/less/responsive-767px-max.less @@ -161,6 +161,16 @@ } } + // Gracefully displays the filter-search fields and buttons + .tag-category input#filter-search, + .newsfeed-category input#filter-search { + width: auto; + margin-bottom: @baseLineHeight / 2; + } + .category-list input#filter-search { + width: auto; + } + // Medias // Reset float and spacing to stack .media .pull-left, diff --git a/templates/protostar/css/template.css b/templates/protostar/css/template.css index f0a97dac5f5f3..7b83175a67212 100644 --- a/templates/protostar/css/template.css +++ b/templates/protostar/css/template.css @@ -4904,6 +4904,14 @@ a.badge:focus { padding-left: 10px; padding-right: 10px; } + .tag-category input#filter-search, + .newsfeed-category input#filter-search { + width: auto; + margin-bottom: 9px; + } + .category-list input#filter-search { + width: auto; + } .media .pull-left, .media .pull-right { float: none; From e25f741b543f3ae04081e3e50c9ff2fdc9911e56 Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Thu, 29 Mar 2018 12:53:08 +0100 Subject: [PATCH 189/255] Simple enhancement to allow the user to make all Post Install Messages read (#19958) * Simple enhancement to allow the user to make all Post Install Messages as read. * Update message.php * Update messages.php * Update messages.php * Added onDisplay function for handling the display of the button. * removed blank lines. * updated quotes around ints. As per @alikon comments * Added (int) just to be safe. * Update messages.php * Update messages.php * Update messages.php --- .../com_postinstall/controllers/message.php | 24 +++++++++++++ .../com_postinstall/models/messages.php | 34 +++++++++++++++---- .../views/messages/tmpl/default.php | 3 +- .../views/messages/view.html.php | 21 ++++++++++++ .../language/en-GB/en-GB.com_postinstall.ini | 1 + 5 files changed, 76 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_postinstall/controllers/message.php b/administrator/components/com_postinstall/controllers/message.php index f7c3d3e9a4571..55685a7e1b6f6 100644 --- a/administrator/components/com_postinstall/controllers/message.php +++ b/administrator/components/com_postinstall/controllers/message.php @@ -40,6 +40,30 @@ public function reset() $this->setRedirect('index.php?option=com_postinstall&eid=' . $eid); } + /** + * Hides all post-installation messages of the specified extension. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function hideAll() + { + /** @var PostinstallModelMessages $model */ + $model = $this->getThisModel(); + + $eid = (int) $model->getState('eid', '700', 'int'); + + if (empty($eid)) + { + $eid = 700; + } + + $model->hideMessages($eid); + + $this->setRedirect('index.php?option=com_postinstall&eid=' . $eid); + } + /** * Executes the action associated with an item. * diff --git a/administrator/components/com_postinstall/models/messages.php b/administrator/components/com_postinstall/models/messages.php index 7228f8d27077b..a08bdc4a33878 100644 --- a/administrator/components/com_postinstall/models/messages.php +++ b/administrator/components/com_postinstall/models/messages.php @@ -37,7 +37,7 @@ public function buildQuery($overrideLimits = false) // Force filter only enabled messages $published = $this->getState('published', 1, 'int'); - $query->where($db->qn('enabled') . ' = ' . $db->q($published)); + $query->where($db->qn('enabled') . ' = ' . (int) $published); return $query; } @@ -59,7 +59,7 @@ public function getExtensionName($eid) $query = $db->getQuery(true) ->select(array('name', 'element', 'client_id')) ->from($db->qn('#__extensions')) - ->where($db->qn('extension_id') . ' = ' . $db->q((int) $eid)); + ->where($db->qn('extension_id') . ' = ' . (int) $eid); $db->setQuery($query, 0, 1); @@ -100,8 +100,30 @@ public function resetMessages($eid) $query = $db->getQuery(true) ->update($db->qn('#__postinstall_messages')) - ->set($db->qn('enabled') . ' = ' . $db->q(1)) - ->where($db->qn('extension_id') . ' = ' . $db->q($eid)); + ->set($db->qn('enabled') . ' = 1') + ->where($db->qn('extension_id') . ' = ' . (int) $eid); + $db->setQuery($query); + + return $db->execute(); + } + + /** + * Hides all messages for an extension + * + * @param integer $eid The extension ID whose messages we'll hide + * + * @return mixed False if we fail, a db cursor otherwise + * + * @since __DEPLOY_VERSION__ + */ + public function hideMessages($eid) + { + $db = $this->getDbo(); + + $query = $db->getQuery(true) + ->update($db->qn('#__postinstall_messages')) + ->set($db->qn('enabled') . ' = 0') + ->where($db->qn('extension_id') . ' = ' . (int) $eid); $db->setQuery($query); return $db->execute(); @@ -420,7 +442,7 @@ public function addPostInstallationMessage(array $options) $query = $db->getQuery(true) ->select('*') ->from($db->qn($tableName)) - ->where($db->qn('extension_id') . ' = ' . $db->q($options['extension_id'])) + ->where($db->qn('extension_id') . ' = ' . (int) $options['extension_id']) ->where($db->qn('type') . ' = ' . $db->q($options['type'])) ->where($db->qn('title_key') . ' = ' . $db->q($options['title_key'])); @@ -449,7 +471,7 @@ public function addPostInstallationMessage(array $options) // Otherwise it's not the same row. Remove the old row before insert a new one. $query = $db->getQuery(true) ->delete($db->qn($tableName)) - ->where($db->q('extension_id') . ' = ' . $db->q($options['extension_id'])) + ->where($db->q('extension_id') . ' = ' . (int) $options['extension_id']) ->where($db->q('type') . ' = ' . $db->q($options['type'])) ->where($db->q('title_key') . ' = ' . $db->q($options['title_key'])); diff --git a/administrator/components/com_postinstall/views/messages/tmpl/default.php b/administrator/components/com_postinstall/views/messages/tmpl/default.php index 4e0f81a6a58df..b9c8b62b51c89 100644 --- a/administrator/components/com_postinstall/views/messages/tmpl/default.php +++ b/administrator/components/com_postinstall/views/messages/tmpl/default.php @@ -27,8 +27,9 @@ JHtml::_('formbehavior.chosen', 'select'); ?> -<form action="index.php" method="post" name="adminForm" class="form-inline"> +<form action="index.php" method="post" name="adminForm" class="form-inline" id="adminForm"> <input type="hidden" name="option" value="com_postinstall"> + <input type="hidden" name="task" value=""> <label for="eid"><?php echo JText::_('COM_POSTINSTALL_MESSAGES_FOR'); ?></label> <?php echo JHtml::_('select.genericlist', $this->extension_options, 'eid', array('onchange' => 'this.form.submit()', 'class' => 'input-xlarge'), 'value', 'text', $this->eid, 'eid'); ?> </form> diff --git a/administrator/components/com_postinstall/views/messages/view.html.php b/administrator/components/com_postinstall/views/messages/view.html.php index b035633bf936f..86670acf16038 100644 --- a/administrator/components/com_postinstall/views/messages/view.html.php +++ b/administrator/components/com_postinstall/views/messages/view.html.php @@ -44,4 +44,25 @@ protected function onBrowse($tpl = null) return parent::onBrowse($tpl); } + + /** + * Executes on display of the page + * + * @param string $tpl Subtemplate to use + * + * @return boolean Return true to allow rendering of the page + * + * @since __DEPLOY_VERSION__ + */ + protected function onDisplay($tpl = null) + { + $return = parent::onDisplay($tpl); + + if (!empty($this->items)) + { + JToolbarHelper::custom('hideAll', 'unpublish.png', 'unpublish_f2.png', 'COM_POSTINSTALL_HIDE_ALL_MESSAGES', false); + } + + return $return; + } } diff --git a/administrator/language/en-GB/en-GB.com_postinstall.ini b/administrator/language/en-GB/en-GB.com_postinstall.ini index 64b0b109fdbe9..567782e093ac8 100644 --- a/administrator/language/en-GB/en-GB.com_postinstall.ini +++ b/administrator/language/en-GB/en-GB.com_postinstall.ini @@ -7,6 +7,7 @@ COM_POSTINSTALL="Post-installation Messages" COM_POSTINSTALL_BTN_HIDE="Hide this message" COM_POSTINSTALL_BTN_RESET="Reset Messages" COM_POSTINSTALL_CONFIGURATION="Post-installation Messages: Options" +COM_POSTINSTALL_HIDE_ALL_MESSAGES="Hide all messages" COM_POSTINSTALL_LBL_MESSAGES="Post-installation and Upgrade Messages" COM_POSTINSTALL_LBL_NOMESSAGES_DESC="You have read all the messages." COM_POSTINSTALL_LBL_NOMESSAGES_TITLE="No Messages" From da10da895534a8c4b377b811e4782fed388be0c8 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Thu, 29 Mar 2018 04:53:25 -0700 Subject: [PATCH 190/255] [com_mailto] Add missing placeholder (#19999) --- language/en-GB/en-GB.com_mailto.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/en-GB/en-GB.com_mailto.ini b/language/en-GB/en-GB.com_mailto.ini index bfa35c9789b9e..8eb5596a54100 100644 --- a/language/en-GB/en-GB.com_mailto.ini +++ b/language/en-GB/en-GB.com_mailto.ini @@ -16,6 +16,6 @@ COM_MAILTO_EMAIL_TO_A_FRIEND="Email this link to a friend." COM_MAILTO_LINK_IS_MISSING="Link is missing" COM_MAILTO_SEND="Send" COM_MAILTO_SENDER="Sender" -COM_MAILTO_SENT_BY="Item sent by" +COM_MAILTO_SENT_BY="Item sent by %s" COM_MAILTO_SUBJECT="Subject" COM_MAILTO_YOUR_EMAIL="Your Email" From 9b0ad042bb862a0abfb8f4975f682bd3f0548bd8 Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Thu, 29 Mar 2018 12:53:43 +0100 Subject: [PATCH 191/255] Make sure items is an array. (#20000) * Make sure items is an array. Resolved #19998 * Update default_items.php * Update tag.php * Update tag.php * Update tag.php * Update tag.php --- components/com_tags/models/tag.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/components/com_tags/models/tag.php b/components/com_tags/models/tag.php index 9eecc42e93036..80247d44bc000 100644 --- a/components/com_tags/models/tag.php +++ b/components/com_tags/models/tag.php @@ -110,13 +110,9 @@ public function getItems() break; } } - - return $items; - } - else - { - return false; } + + return $items; } /** From 59fff4e5a65c62b831c7816d43326232353c42c9 Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Thu, 29 Mar 2018 14:55:22 +0300 Subject: [PATCH 192/255] [com_fields] Fix fields display HTML prepared 4 or 5 times per article, make it be prepared only twice (#17895) * Pass field displayType (aka event type) to getFields * Update getFields to respect the 'display' parameter of every field * Update onContentPrepare to respect 'display' parameter of every field * Prepare for manual display * Do not create $item->jcfields multiple times * Revert the code for manual display to always prepare the field value * Wrong function name * Fix docblock * Better comment for parameter of getFields method --- administrator/components/com_fields/helpers/fields.php | 5 +++-- plugins/system/fields/fields.php | 10 +++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index afbc2cefafbd0..52c9c46c19136 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -79,7 +79,7 @@ public static function extract($contextString, $item = null) * * @param string $context The context of the content passed to the helper * @param stdClass $item item - * @param boolean $prepareValue prepareValue + * @param int|bool $prepareValue (if int is display event): 1 - AfterTitle, 2 - BeforeDisplay, 3 - AfterDisplay, 0 - OFF * @param array $valuesToOverride The values to override * * @return array @@ -187,7 +187,8 @@ function ($f) $field->rawvalue = $field->value; - if ($prepareValue) + // If boolean prepare, if int, it is the event type: 1 - After Title, 2 - Before Display, 3 - After Display, 0 - Do not prepare + if ($prepareValue && (is_bool($prepareValue) || $prepareValue === (int) $field->params->get('display', '2'))) { JPluginHelper::importPlugin('fields'); diff --git a/plugins/system/fields/fields.php b/plugins/system/fields/fields.php index 746f689f5eedb..b142067da281b 100644 --- a/plugins/system/fields/fields.php +++ b/plugins/system/fields/fields.php @@ -385,7 +385,7 @@ private function display($context, $item, $params, $displayType) $params = new Registry($params); } - $fields = FieldsHelper::getFields($context, $item, true); + $fields = FieldsHelper::getFields($context, $item, $displayType); if ($fields) { @@ -450,6 +450,12 @@ private function display($context, $item, $params, $displayType) */ public function onContentPrepare($context, $item) { + // Check property exists (avoid costly & useless recreation), if need to recreate them, just unset the property! + if (isset($item->jcfields)) + { + return; + } + $parts = FieldsHelper::extract($context, $item); if (!$parts) @@ -468,6 +474,8 @@ public function onContentPrepare($context, $item) $item = $this->prepareTagItem($item); } + // Get item's fields, also preparing their value property for manual display + // (calling plugins events and loading layouts to get their HTML display) $fields = FieldsHelper::getFields($context, $item, true); // Adding the fields to the object From ac792d85456287c9c6da9edf5b1f1f73758c31ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20N=C3=BCbel?= <n.nuebel@nn-medienagentur.de> Date: Thu, 29 Mar 2018 13:56:08 +0200 Subject: [PATCH 193/255] fix media field in ISIS Template (#17205) * fix media field in ISIS Template * fix media field in ISIS Template --- media/system/js/repeatable-uncompressed.js | 6 ++++++ media/system/js/repeatable.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/media/system/js/repeatable-uncompressed.js b/media/system/js/repeatable-uncompressed.js index 6357645ea231b..8e69e2e76d5b9 100644 --- a/media/system/js/repeatable-uncompressed.js +++ b/media/system/js/repeatable-uncompressed.js @@ -483,6 +483,12 @@ $select.attr('href', oldHref.replace(/&fieldid=(.+)&/, '&fieldid=' + inputId + '&')); jMediaRefreshPreview(inputId); }); + + // fix media field in ISIS Template + $row.find('.field-media-wrapper').each(function(){ + var $el = $(this); + $el.fieldMedia(); + }); // another modals if(window.SqueezeBox && window.SqueezeBox.assign){ diff --git a/media/system/js/repeatable.js b/media/system/js/repeatable.js index c5c24dab085be..934f6d793e44a 100644 --- a/media/system/js/repeatable.js +++ b/media/system/js/repeatable.js @@ -1 +1 @@ -(function($){"use strict";$.JRepeatable=function(input,options){var self=this;if(!self||self===window){return new $.JRepeatable(input,options)}self.$input=$(input);if(self.$input.data("JRepeatable")){return self}self.$input.data("JRepeatable",self);self.init=function(){self.options=$.extend({},$.JRepeatable.defaults,options);self.$container=$(self.options.container);$("body").append(self.$container);self.$rowsContainer=self.$container.find(self.options.repeatableElement).parent();self.prepareModal();self.inputs=[];self.values={};self.prepareTemplate();var val=self.$input.val();if(val){try{self.values=JSON.parse(val)}catch(e){if(e instanceof SyntaxError){try{val=val.replace(/'/g,'"').replace(/\\"/g,"'");self.values=JSON.parse(val)}catch(e){if(window.console){console.log(e)}}}else if(window.console){console.log(e)}}}self.buildRows();$(document).on("click",self.options.btModalOpen,function(e){e.preventDefault();self.$modalWindow.modal("show")});self.$modalWindow.on("click",self.options.btModalClose,function(e){e.preventDefault();self.$modalWindow.modal("hide");self.buildRows()});self.$modalWindow.on("click",self.options.btModalSaveData,function(e){e.preventDefault();self.$modalWindow.modal("hide");self.refreshValue()});self.$container.on("click",self.options.btAdd,function(e){e.preventDefault();var after=$(this).parents(self.options.repeatableElement);if(!after.length){after=null}self.addRow(after)});self.$container.on("click",self.options.btRemove,function(e){e.preventDefault();var row=$(this).parents(self.options.repeatableElement);self.removeRow(row)});self.$input.trigger("weready")};self.prepareTemplate=function(){var $rows=self.$container.find(self.options.repeatableElement);var $row=$($rows.get(0));try{self.clearScripts($row)}catch(e){if(window.console){console.log(e)}}var inputs=$row.find("*[name]");for(var i=0,l=inputs.length;i<l;i++){var name=$(inputs[i]).attr("name");if(self.values[name]){continue}self.inputs.push({name:name,type:$(inputs[i]).attr("type")||inputs[i].tagName.toLowerCase()});self.values[name]=[]}self.template=$row.prop("outerHTML");$rows.remove();self.$input.trigger("prepare-template",self.template)};self.prepareModal=function(){var modalEl=$(self.options.modalElement);modalEl.css({position:"absolute",width:"auto","max-width":"100%"});modalEl.on("shown",function(){self.resizeModal()});$(window).resize(function(){self.resizeModal()});self.$modalWindow=modalEl.modal({show:false,backdrop:"static"});self.$input.trigger("prepare-modal",self.$modalWindow)};self.resizeModal=function(){if(!self.$modalWindow.is(":visible")){return}var docHalfWidth=$(document).width()/2,modalHalfWidth=self.$modalWindow.width()/2,rowsHalfWidth=self.$rowsContainer.width()/2,marginLeft=modalHalfWidth>=docHalfWidth?0:-modalHalfWidth,left=marginLeft?"50%":0,top=$(document).scrollTop()+$(window).height()*.2;self.$modalWindow.css({top:top,left:left,"margin-left":marginLeft,overflow:rowsHalfWidth>modalHalfWidth?"auto":"visible"})};self.buildRows=function(){var $oldRows=self.$rowsContainer.children();if($oldRows.length){self.removeRow($oldRows)}var count=self.values[Object.keys(self.values)[0]].length||1,row=null;for(var i=0;i<count;i++){row=self.addRow(row,i)}};self.addRow=function(after,valueKey){var count=self.$container.find(self.options.repeatableElement).length;if(count>=self.options.maximum){return null}var row=$.parseHTML(self.template);if(after){$(after).after(row)}else{self.$rowsContainer.append(row)}var $row=$(row);self.fixUniqueAttributes($row,count+1);if(valueKey!==null&&valueKey!==undefined){for(var i=0,l=self.inputs.length;i<l;i++){var name=self.inputs[i].name,type=self.inputs[i].type,value=null;if(self.values[name]){value=self.values[name][valueKey]}if(value===null||value===undefined){continue}if(type==="radio"){$row.find('*[name*="'+name+'"][value="'+value+'"]').attr("checked","checked")}else if(type==="checkbox"){if(value.length){for(var v=0,vl=value.length;v<vl;v++){$row.find('*[name*="'+name+'"][value="'+value[v]+'"]').attr("checked","checked")}}else{$row.find('*[name*="'+name+'"][value="'+value+'"]').attr("checked","checked")}}else{$row.find('*[name*="'+name+'"]').val(value)}}}try{self.fixScripts($row)}catch(e){if(window.console){console.log(e)}}self.$input.trigger("row-add",$row);return $row};self.removeRow=function(row){self.$input.trigger("row-remove",row);$(row).remove()};self.fixUniqueAttributes=function($row,count){var haveIds=$row.find("*[id]");self.increaseAttrName(haveIds,"id",count);var haveFor=$row.find("label[for]");self.increaseAttrName(haveFor,"for",count);var haveName=$row.find("*[name]");self.increaseAttrName(haveName,"name",count)};self.increaseAttrName=function(elements,attr,count){for(var i=0,l=elements.length;i<l;i++){var $el=$(elements[i]);var oldValue=$el.attr(attr);$el.attr(attr,count+"-"+oldValue)}};self.refreshValue=function(){var $rows=self.$container.find(self.options.repeatableElement);self.values={};for(var i=0,l=self.inputs.length;i<l;i++){var name=self.inputs[i].name,type=self.inputs[i].type;self.values[name]=[];for(var r=0,rl=$rows.length;r<rl;r++){var $row=$($rows[r]),val=null;if(type==="radio"){val=$row.find('*[name*="'+name+'"]:checked').val()}else if(type==="checkbox"){var checked=$row.find('*[name*="'+name+'"]:checked');if(checked.length>1){val=[];for(var c=0,cl=checked.length;c<cl;c++){val.push($(checked[c]).val())}}else{val=checked.val()}}else{val=$row.find('*[name*="'+name+'"]').val()}val=val===null?"":val;self.values[name].push(val)}}self.$input.val(JSON.stringify(self.values));self.$input.trigger("value-update",self.values)};self.clearScripts=function($row){if($.fn.chosen){$row.find("select").each(function(){var $el=$(this);if($el.data("chosen")){$el.chosen("destroy");$el.addClass("here-was-chosen")}})}if($.fn.minicolors){$row.find(".minicolors input").each(function(){$(this).minicolors("destroy",$(this))})}};self.fixScripts=function($row){if($.fn.chosen){$row.find("select.here-was-chosen").removeClass("here-was-chosen").chosen()}$row.find(".minicolors").each(function(){var $el=$(this);$el.minicolors({control:$el.attr("data-control")||"hue",position:$el.attr("data-position")||"right",theme:"bootstrap"})});$row.find('a[onclick*="jInsertFieldValue"]').each(function(){var $el=$(this),inputId=$el.siblings('input[type="text"]').attr("id"),$select=$el.prev(),oldHref=$select.attr("href");$el.attr("onclick","jInsertFieldValue('', '"+inputId+"');return false;");$select.attr("href",oldHref.replace(/&fieldid=(.+)&/,"&fieldid="+inputId+"&"));jMediaRefreshPreview(inputId)});if(window.SqueezeBox&&window.SqueezeBox.assign){SqueezeBox.assign($row.find("a.modal").get(),{parse:"rel"})}};self.init()};$.JRepeatable.defaults={modalElement:"#modal-container",btModalOpen:"#open-modal",btModalClose:".close-modal",btModalSaveData:".save-modal-data",btAdd:"a.add",btRemove:"a.remove",maximum:10,repeatableElement:"table tbody tr"};$.fn.JRepeatable=function(options){return this.each(function(){var options=options||{},data=$(this).data();for(var p in data){if(data.hasOwnProperty(p)){options[p]=data[p]}}new $.JRepeatable(this,options)})};$(window).on("load",function(){$("input.form-field-repeatable").JRepeatable()})})(jQuery); \ No newline at end of file +!function(e){"use strict";e.JRepeatable=function(t,n){var a=this;return a&&a!==window?(a.$input=e(t),a.$input.data("JRepeatable")?a:(a.$input.data("JRepeatable",a),a.init=function(){a.options=e.extend({},e.JRepeatable.defaults,n),a.$container=e(a.options.container),e("body").append(a.$container),a.$rowsContainer=a.$container.find(a.options.repeatableElement).parent(),a.prepareModal(),a.inputs=[],a.values={},a.prepareTemplate();var t=a.$input.val();if(t)try{a.values=JSON.parse(t)}catch(e){if(e instanceof SyntaxError)try{t=t.replace(/'/g,'"').replace(/\\"/g,"'"),a.values=JSON.parse(t)}catch(e){window.console&&console.log(e)}else window.console&&console.log(e)}a.buildRows(),e(document).on("click",a.options.btModalOpen,function(e){e.preventDefault(),a.$modalWindow.modal("show")}),a.$modalWindow.on("click",a.options.btModalClose,function(e){e.preventDefault(),a.$modalWindow.modal("hide"),a.buildRows()}),a.$modalWindow.on("click",a.options.btModalSaveData,function(e){e.preventDefault(),a.$modalWindow.modal("hide"),a.refreshValue()}),a.$container.on("click",a.options.btAdd,function(t){t.preventDefault();var n=e(this).parents(a.options.repeatableElement);n.length||(n=null),a.addRow(n)}),a.$container.on("click",a.options.btRemove,function(t){t.preventDefault();var n=e(this).parents(a.options.repeatableElement);a.removeRow(n)}),a.$input.trigger("weready")},a.prepareTemplate=function(){var t=a.$container.find(a.options.repeatableElement),n=e(t.get(0));try{a.clearScripts(n)}catch(e){window.console&&console.log(e)}for(var o=n.find("*[name]"),i=0,r=o.length;i<r;i++){var l=e(o[i]).attr("name");a.values[l]||(a.inputs.push({name:l,type:e(o[i]).attr("type")||o[i].tagName.toLowerCase()}),a.values[l]=[])}a.template=n.prop("outerHTML"),t.remove(),a.$input.trigger("prepare-template",a.template)},a.prepareModal=function(){var t=e(a.options.modalElement);t.css({position:"absolute",width:"auto","max-width":"100%"}),t.on("shown",function(){a.resizeModal()}),e(window).resize(function(){a.resizeModal()}),a.$modalWindow=t.modal({show:!1,backdrop:"static"}),a.$input.trigger("prepare-modal",a.$modalWindow)},a.resizeModal=function(){if(a.$modalWindow.is(":visible")){var t=e(document).width()/2,n=a.$modalWindow.width()/2,o=a.$rowsContainer.width()/2,i=n>=t?0:-n,r=i?"50%":0,l=e(document).scrollTop()+.2*e(window).height();a.$modalWindow.css({top:l,left:r,"margin-left":i,overflow:o>n?"auto":"visible"})}},a.buildRows=function(){var e=a.$rowsContainer.children();e.length&&a.removeRow(e);for(var t=a.values[Object.keys(a.values)[0]].length||1,n=null,o=0;o<t;o++)n=a.addRow(n,o)},a.addRow=function(t,n){var o=a.$container.find(a.options.repeatableElement).length;if(o>=a.options.maximum)return null;var i=e.parseHTML(a.template);t?e(t).after(i):a.$rowsContainer.append(i);var r=e(i);if(a.fixUniqueAttributes(r,o+1),null!==n&&void 0!==n)for(var l=0,d=a.inputs.length;l<d;l++){var s=a.inputs[l].name,c=a.inputs[l].type,p=null;if(a.values[s]&&(p=a.values[s][n]),null!==p&&void 0!==p)if("radio"===c)r.find('*[name*="'+s+'"][value="'+p+'"]').attr("checked","checked");else if("checkbox"===c)if(p.length)for(var u=0,f=p.length;u<f;u++)r.find('*[name*="'+s+'"][value="'+p[u]+'"]').attr("checked","checked");else r.find('*[name*="'+s+'"][value="'+p+'"]').attr("checked","checked");else r.find('*[name*="'+s+'"]').val(p)}try{a.fixScripts(r)}catch(e){window.console&&console.log(e)}return a.$input.trigger("row-add",r),r},a.removeRow=function(t){a.$input.trigger("row-remove",t),e(t).remove()},a.fixUniqueAttributes=function(e,t){var n=e.find("*[id]");a.increaseAttrName(n,"id",t);var o=e.find("label[for]");a.increaseAttrName(o,"for",t);var i=e.find("*[name]");a.increaseAttrName(i,"name",t)},a.increaseAttrName=function(t,n,a){for(var o=0,i=t.length;o<i;o++){var r=e(t[o]),l=r.attr(n);r.attr(n,a+"-"+l)}},a.refreshValue=function(){var t=a.$container.find(a.options.repeatableElement);a.values={};for(var n=0,o=a.inputs.length;n<o;n++){var i=a.inputs[n].name,r=a.inputs[n].type;a.values[i]=[];for(var l=0,d=t.length;l<d;l++){var s=e(t[l]),c=null;if("radio"===r)c=s.find('*[name*="'+i+'"]:checked').val();else if("checkbox"===r){var p=s.find('*[name*="'+i+'"]:checked');if(p.length>1){c=[];for(var u=0,f=p.length;u<f;u++)c.push(e(p[u]).val())}else c=p.val()}else c=s.find('*[name*="'+i+'"]').val();c=null===c?"":c,a.values[i].push(c)}}a.$input.val(JSON.stringify(a.values)),a.$input.trigger("value-update",a.values)},a.clearScripts=function(t){e.fn.chosen&&t.find("select").each(function(){e(this).data("chosen")&&e(this).chosen("destroy")}),e.fn.minicolors&&t.find(".minicolors input").each(function(){e(this).minicolors("destroy",e(this))})},a.fixScripts=function(t){t.find(".minicolors").each(function(){var t=e(this);t.minicolors({control:t.attr("data-control")||"hue",position:t.attr("data-position")||"right",theme:"bootstrap"})}),t.find('a[onclick*="jInsertFieldValue"]').each(function(){var t=e(this),n=t.siblings('input[type="text"]').attr("id"),a=t.prev(),o=a.attr("href");t.attr("onclick","jInsertFieldValue('', '"+n+"');return false;"),a.attr("href",o.replace(/&fieldid=(.+)&/,"&fieldid="+n+"&")),jMediaRefreshPreview(n)}),t.find(".field-media-wrapper").each(function(){e(this).fieldMedia()}),window.SqueezeBox&&window.SqueezeBox.assign&&SqueezeBox.assign(t.find("a.modal").get(),{parse:"rel"})},void a.init())):new e.JRepeatable(t,n)},e.JRepeatable.defaults={modalElement:"#modal-container",btModalOpen:"#open-modal",btModalClose:".close-modal",btModalSaveData:".save-modal-data",btAdd:"a.add",btRemove:"a.remove",maximum:10,repeatableElement:"table tbody tr"},e.fn.JRepeatable=function(t){return this.each(function(){var t=t||{},n=e(this).data();for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);new e.JRepeatable(this,t)})},e(window).on("load",function(){e("input.form-field-repeatable").JRepeatable()})}(jQuery); \ No newline at end of file From 850948c9002a2817549a372b9dee279454573a10 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Sun, 1 Apr 2018 12:32:30 +0200 Subject: [PATCH 194/255] [3.x] New sessiongc plugin is not declared as core plugin for manifest cache refresh (#20038) * add sessiongc plugin to the core plugins * alphasorting thanks @brianteeman --- libraries/src/Extension/ExtensionHelper.php | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index b1b6b23e5a44e..373fd1b6f6bee 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -223,6 +223,7 @@ class ExtensionHelper array('plugin', 'redirect', 'system', 0), array('plugin', 'remember', 'system', 0), array('plugin', 'sef', 'system', 0), + array('plugin', 'sessiongc', 'system', 0), array('plugin', 'stats', 'system', 0), array('plugin', 'updatenotification', 'system', 0), From 4b95b2a9c7b306fae4ba4cfb627d02842653d077 Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sun, 1 Apr 2018 17:28:18 +0200 Subject: [PATCH 195/255] [module] [articles category] filter by multiple tags (#19983) * [module] [articles category] filter by multiple tags * multiple tags * spelling --- modules/mod_articles_category/helper.php | 7 ++----- modules/mod_articles_category/mod_articles_category.xml | 9 +++++---- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index 7921945298c98..d046a8fb0e97e 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -189,11 +189,8 @@ public static function getList(&$params) break; } - // New Parameters - if ($params->get('filter_tag', '')) - { - $articles->setState('filter.tag', $params->get('filter_tag', '')); - } + // Filter by multiple tags + $articles->setState('filter.tag', $params->get('filter_tag', array())); $articles->setState('filter.featured', $params->get('show_front', 'show')); $articles->setState('filter.author_id', $params->get('created_by', '')); diff --git a/modules/mod_articles_category/mod_articles_category.xml b/modules/mod_articles_category/mod_articles_category.xml index 9057e0a5bb464..b165a209000ff 100644 --- a/modules/mod_articles_category/mod_articles_category.xml +++ b/modules/mod_articles_category/mod_articles_category.xml @@ -137,10 +137,11 @@ name="filter_tag" type="tag" label="JTAG" - description="JTAG_FIELD_SELECT_DESC" - > - <option value="">JNONE</option> - </field> + description="JTAG_FIELD_SELECT_DESC" + mode="nested" + multiple="true" + class="multipleTags" + /> <field name="filteringspacer2" From 8cafd3662f03b96c32844f0c75d27de2f925be3c Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Sun, 1 Apr 2018 18:30:17 +0300 Subject: [PATCH 196/255] [com_finder] Remove unused params (#20009) * [com_finder] Unused params * Update en-GB.com_finder.ini * Update sample_learn.sql * Update sample_testing.sql * Update sample_learn.sql * Update sample_testing.sql * Update sample_learn.sql * Update sample_testing.sql * Update jos_menu.csv * Restore and deprecate strings --- .../language/en-GB/en-GB.com_finder.ini | 1 + .../com_finder/views/search/tmpl/default.xml | 25 ------------------- installation/sql/mysql/sample_learn.sql | 2 +- installation/sql/mysql/sample_testing.sql | 2 +- installation/sql/postgresql/sample_learn.sql | 2 +- .../sql/postgresql/sample_testing.sql | 2 +- installation/sql/sqlazure/sample_learn.sql | 2 +- installation/sql/sqlazure/sample_testing.sql | 2 +- tests/unit/stubs/database/jos_menu.csv | 2 +- 9 files changed, 8 insertions(+), 32 deletions(-) diff --git a/administrator/language/en-GB/en-GB.com_finder.ini b/administrator/language/en-GB/en-GB.com_finder.ini index 247a5a67fcb54..6a3b7474156d2 100644 --- a/administrator/language/en-GB/en-GB.com_finder.ini +++ b/administrator/language/en-GB/en-GB.com_finder.ini @@ -56,6 +56,7 @@ COM_FINDER_CONFIG_SHOW_DESCRIPTION_DESCRIPTION="Toggle if the description should COM_FINDER_CONFIG_SHOW_DESCRIPTION_LABEL="Result Description" COM_FINDER_CONFIG_SHOW_EXPLAINED_QUERY_DESC="Show or hide a detailed explanation of the search requested." COM_FINDER_CONFIG_SHOW_EXPLAINED_QUERY_LABEL="Query Explanation" +; The following 4 strings are deprecated and will be removed with 4.0. COM_FINDER_CONFIG_SHOW_FEED_DESC="Show the syndication feed link." COM_FINDER_CONFIG_SHOW_FEED_LABEL="Show Feed" COM_FINDER_CONFIG_SHOW_FEED_TEXT_DESC="Show the associated text with the feed, otherwise the title is shown in the feed." diff --git a/components/com_finder/views/search/tmpl/default.xml b/components/com_finder/views/search/tmpl/default.xml index 9e0bf4db156e3..7e13ae766bf94 100644 --- a/components/com_finder/views/search/tmpl/default.xml +++ b/components/com_finder/views/search/tmpl/default.xml @@ -198,31 +198,6 @@ <option value="desc">COM_FINDER_CONFIG_SORT_OPTION_DESCENDING</option> <option value="asc">COM_FINDER_CONFIG_SORT_OPTION_ASCENDING</option> </field> - <field type="spacer" /> - <field - name="show_feed" - type="radio" - label="COM_FINDER_CONFIG_SHOW_FEED_LABEL" - description="COM_FINDER_CONFIG_SHOW_FEED_DESC" - class="btn-group btn-group-yesno" - default="0" - validate="options" - > - <option value="1">JSHOW</option> - <option value="0">JHIDE</option> - </field> - <field - name="show_feed_text" - type="radio" - label="COM_FINDER_CONFIG_SHOW_FEED_TEXT_LABEL" - description="COM_FINDER_CONFIG_SHOW_FEED_TEXT_DESC" - class="btn-group btn-group-yesno" - default="0" - validate="options" - > - <option value="1">JYES</option> - <option value="0">JNO</option> - </field> </fieldset> <fieldset name="integration"> <field diff --git a/installation/sql/mysql/sample_learn.sql b/installation/sql/mysql/sample_learn.sql index e79a40cb39298..ccdc502812a2b 100644 --- a/installation/sql/mysql/sample_learn.sql +++ b/installation/sql/mysql/sample_learn.sql @@ -496,7 +496,7 @@ INSERT INTO `#__menu` (`id`, `menutype`, `title`, `alias`, `note`, `path`, `link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 4, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 259, 260, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 209, 210, 0, '*', 0), -(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), +(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), (467, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/modules/utility-modules/smart-search', 'index.php?option=com_content&view=article&id=70', 'component', 1, 414, 5, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 167, 168, 0, '*', 0), (468, 'aboutjoomla', 'Protostar', 'protostar', '', 'using-joomla/extensions/templates/protostar', 'index.php?option=com_content&view=category&layout=blog&id=78', 'component', 1, 282, 4, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"layout_type":"blog","show_category_title":"","show_description":"1","show_description_image":"","maxLevel":"","show_empty_categories":"","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","show_subcategory_content":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 178, 183, 0, '*', 0), (469, 'aboutjoomla', 'Home Page Protostar', 'home-page-protostar', '', 'using-joomla/extensions/templates/protostar/home-page-protostar', 'index.php?option=com_content&view=featured', 'component', 1, 468, 5, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 7, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 179, 180, 0, '*', 0), diff --git a/installation/sql/mysql/sample_testing.sql b/installation/sql/mysql/sample_testing.sql index 028ea65df4cfe..967fd9893aa31 100644 --- a/installation/sql/mysql/sample_testing.sql +++ b/installation/sql/mysql/sample_testing.sql @@ -510,7 +510,7 @@ INSERT INTO `#__menu` (`id`, `menutype`, `title`, `alias`, `note`, `path`, `link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 4, '', 7, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 131, 132, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 7, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 133, 134, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 89, 90, 0, '*', 0), -(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), +(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), (467, 'modules', 'Smart Search', 'smart-search-module', '', 'smart-search-module', 'index.php?option=com_content&view=article&id=70', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","urls_position":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 217, 218, 0, '*', 0), (468, 'top', 'Parks ', '2012-07-19-17-38-59', '', '2012-07-19-17-38-59', 'index.php?Itemid=', 'alias', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"aliasoptions":"243","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 239, 240, 0, '*', 0), (469, 'top', 'Fruit Shop', '2012-07-19-17-39-29', '', '2012-07-19-17-39-29', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"aliasoptions":"429","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 241, 242, 0, '*', 0), diff --git a/installation/sql/postgresql/sample_learn.sql b/installation/sql/postgresql/sample_learn.sql index ca2376bf5a3f1..483348846f7b0 100644 --- a/installation/sql/postgresql/sample_learn.sql +++ b/installation/sql/postgresql/sample_learn.sql @@ -504,7 +504,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 4, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 259, 260, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 209, 210, 0, '*', 0), -(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), +(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), (467, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/modules/utility-modules/smart-search', 'index.php?option=com_content&view=article&id=70', 'component', 1, 414, 5, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 167, 168, 0, '*', 0), (468, 'aboutjoomla', 'Protostar', 'protostar', '', 'using-joomla/extensions/templates/protostar', 'index.php?option=com_content&view=category&layout=blog&id=78', 'component', 1, 282, 4, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"layout_type":"blog","show_category_title":"","show_description":"1","show_description_image":"","maxLevel":"","show_empty_categories":"","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","show_subcategory_content":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 178, 183, 0, '*', 0), (469, 'aboutjoomla', 'Home Page Protostar', 'home-page-protostar', '', 'using-joomla/extensions/templates/protostar/home-page-protostar', 'index.php?option=com_content&view=featured', 'component', 1, 468, 5, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 7, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 179, 180, 0, '*', 0), diff --git a/installation/sql/postgresql/sample_testing.sql b/installation/sql/postgresql/sample_testing.sql index b86a4aee3982c..10b76245657a0 100644 --- a/installation/sql/postgresql/sample_testing.sql +++ b/installation/sql/postgresql/sample_testing.sql @@ -518,7 +518,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 4, '', 7, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 131, 132, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 7, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 133, 134, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 89, 90, 0, '*', 0), -(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), +(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), (467, 'modules', 'Smart Search', 'smart-search-module', '', 'smart-search-module', 'index.php?option=com_content&view=article&id=70', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","urls_position":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 217, 218, 0, '*', 0), (468, 'top', 'Parks ', '2012-07-19-17-38-59', '', '2012-07-19-17-38-59', 'index.php?Itemid=', 'alias', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"243","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 239, 240, 0, '*', 0), (469, 'top', 'Fruit Shop', '2012-07-19-17-39-29', '', '2012-07-19-17-39-29', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"429","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 241, 242, 0, '*', 0), diff --git a/installation/sql/sqlazure/sample_learn.sql b/installation/sql/sqlazure/sample_learn.sql index 7525cc3586ec8..c0a03d32322e8 100644 --- a/installation/sql/sqlazure/sample_learn.sql +++ b/installation/sql/sqlazure/sample_learn.sql @@ -518,7 +518,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 4, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 259, 260, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 209, 210, 0, '*', 0), -(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), +(466, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/components/search-component/smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 276, 5, 27, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 107, 108, 0, '*', 0), (467, 'aboutjoomla', 'Smart Search', 'smart-search', '', 'using-joomla/extensions/modules/utility-modules/smart-search', 'index.php?option=com_content&view=article&id=70', 'component', 1, 414, 5, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 167, 168, 0, '*', 0), (468, 'aboutjoomla', 'Protostar', 'protostar', '', 'using-joomla/extensions/templates/protostar', 'index.php?option=com_content&view=category&layout=blog&id=78', 'component', 1, 282, 4, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"layout_type":"blog","show_category_title":"","show_description":"1","show_description_image":"","maxLevel":"","show_empty_categories":"","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","show_subcategory_content":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 178, 183, 0, '*', 0), (469, 'aboutjoomla', 'Home Page Protostar', 'home-page-protostar', '', 'using-joomla/extensions/templates/protostar/home-page-protostar', 'index.php?option=com_content&view=featured', 'component', 1, 468, 5, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 7, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 179, 180, 0, '*', 0), diff --git a/installation/sql/sqlazure/sample_testing.sql b/installation/sql/sqlazure/sample_testing.sql index 44307613b05bb..cc13c6f0f76fe 100644 --- a/installation/sql/sqlazure/sample_testing.sql +++ b/installation/sql/sqlazure/sample_testing.sql @@ -531,7 +531,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 4, '', 7, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 131, 132, 0, '*', 0), (463, 'fruitshop', 'Recipes', 'recipes', '', 'recipes', 'index.php?option=com_content&view=category&id=76', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 7, '{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 133, 134, 0, '*', 0), (464, 'top', 'Home', 'home', '', 'home', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 89, 90, 0, '*', 0), -(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), +(466, 'frontendviews', 'Smart Search', 'smart-search', '', 'smart-search', 'index.php?option=com_finder&view=search&q=&f=', 'component', 1, 1, 1, 27, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 187, 188, 0, '*', 0), (467, 'modules', 'Smart Search', 'smart-search-module', '', 'smart-search-module', 'index.php?option=com_content&view=article&id=70', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","urls_position":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 217, 218, 0, '*', 0), (468, 'top', 'Parks ', '2012-07-19-17-38-59', '', '2012-07-19-17-38-59', 'index.php?Itemid=', 'alias', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"243","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 239, 240, 0, '*', 0), (469, 'top', 'Fruit Shop', '2012-07-19-17-39-29', '', '2012-07-19-17-39-29', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"429","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1}', 241, 242, 0, '*', 0), diff --git a/tests/unit/stubs/database/jos_menu.csv b/tests/unit/stubs/database/jos_menu.csv index 3afc6613cc7a2..4b65a743318b7 100644 --- a/tests/unit/stubs/database/jos_menu.csv +++ b/tests/unit/stubs/database/jos_menu.csv @@ -133,7 +133,7 @@ '462','fruitshop','Add a recipe','add-a-recipe',,'add-a-recipe','index.php?option=com_content&view=form&layout=edit','component','1','1','1','22','0','0000-00-00 00:00:00','0','4',,'4','{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','273','274','0','*','0' '463','fruitshop','Recipes','recipes',,'recipes','index.php?option=com_content&view=category&id=76','component','1','1','1','22','0','0000-00-00 00:00:00','0','1',,'4','{"show_category_title":"1","show_description":"1","show_description_image":"","maxLevel":"0","show_empty_categories":"0","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","show_pagination_limit":"","filter_field":"","show_headings":"","list_show_date":"","date_format":"","list_show_hits":"","list_show_author":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","display_num":"10","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','275','276','0','*','0' '464','top','Home','home',,'home','index.php?Itemid=','alias','1','1','1','0','0','0000-00-00 00:00:00','0','1',,'0','{"aliasoptions":"435","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}','221','222','0','*','0' -'466','aboutjoomla','Smart Search','smart-search',,'using-joomla/extensions/components/search-component/smart-search','index.php?option=com_finder&view=search&q=&f=','component','1','276','5','27','0','0000-00-00 00:00:00','0','1',,'0','{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed":"0","show_feed_text":"0","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','117','118','0','*','0' +'466','aboutjoomla','Smart Search','smart-search',,'using-joomla/extensions/components/search-component/smart-search','index.php?option=com_finder&view=search&q=&f=','component','1','276','5','27','0','0000-00-00 00:00:00','0','1',,'0','{"show_date_filters":"","show_advanced":"","expand_advanced":"","show_description":"","description_length":255,"show_url":"","show_pagination_limit":"","show_pagination":"","show_pagination_results":"","allow_empty_query":"0","search_order":"","show_feed_link":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','117','118','0','*','0' '467','aboutjoomla','Smart Search','smart-search',,'using-joomla/extensions/modules/utility-modules/smart-search','index.php?option=com_content&view=article&id=70','component','1','414','5','22','0','0000-00-00 00:00:00','0','1',,'0','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','179','180','0','*','0' '468','aboutjoomla','Protostar','protostar',,'using-joomla/extensions/templates/protostar','index.php?option=com_content&view=category&layout=blog&id=78','component','1','282','4','22','0','0000-00-00 00:00:00','0','1',,'0','{"layout_type":"blog","show_category_title":"","show_description":"1","show_description_image":"","maxLevel":"","show_empty_categories":"","show_no_articles":"","show_subcat_desc":"","show_cat_num_articles":"","page_subheading":"","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","show_subcategory_content":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','190','195','0','*','0' '469','aboutjoomla','Home Page Protostar','home-page-protostar',,'using-joomla/extensions/templates/protostar/home-page-protostar','index.php?option=com_content&view=featured','component','1','468','5','22','0','0000-00-00 00:00:00','0','1',,'7','{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"","num_intro_articles":"","num_columns":"","num_links":"","multi_column_order":"","orderby_pri":"","orderby_sec":"","order_date":"","show_pagination":"","show_pagination_results":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","info_bloc_position":"0","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","show_noauth":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','191','192','0','*','0' From bea22cb508bfb4a1c7d26f018e4eb3254ee070df Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Mon, 2 Apr 2018 00:30:36 +0900 Subject: [PATCH 197/255] Two new fonts for CodeMirror: IBM Plex Mono, Nanum Gothic Coding (#20017) --- plugins/editors/codemirror/fonts.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/editors/codemirror/fonts.json b/plugins/editors/codemirror/fonts.json index 84d78120ab93c..a16b859d542ae 100644 --- a/plugins/editors/codemirror/fonts.json +++ b/plugins/editors/codemirror/fonts.json @@ -24,6 +24,11 @@ "url": "https://fonts.googleapis.com/css?family=Fira+Mono", "css": "'Fira Mono', monospace" }, + "ibm_plex_mono": { + "name": "IBM Plex Mono", + "url": "https://fonts.googleapis.com/css?family=IBM+Plex+Mono", + "css": "'IBM Plex Mono', monospace;" + }, "inconsolata": { "name": "Inconsolata", "url": "https://fonts.googleapis.com/css?family=Inconsolata", @@ -34,6 +39,11 @@ "url": "https://fonts.googleapis.com/css?family=Lekton", "css": "Lekton, monospace" }, + "nanum_gothic_coding": { + "name": "Nanum Gothic Coding", + "url": "https://fonts.googleapis.com/css?family=Nanum+Gothic+Coding", + "css": "'Nanum Gothic Coding', monospace" + }, "nova_mono": { "name": "Nova Mono", "url": "https://fonts.googleapis.com/css?family=Nova+Mono", From 426bce01c3656485af26c9bb04c09abed7ac6669 Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Sun, 1 Apr 2018 18:31:23 +0300 Subject: [PATCH 198/255] CategoryEdit field published filter (#20018) --- .../com_categories/models/fields/categoryedit.php | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/administrator/components/com_categories/models/fields/categoryedit.php b/administrator/components/com_categories/models/fields/categoryedit.php index f655a6ab2f0e1..6d6e19e095108 100644 --- a/administrator/components/com_categories/models/fields/categoryedit.php +++ b/administrator/components/com_categories/models/fields/categoryedit.php @@ -119,7 +119,7 @@ public function __set($name, $value) protected function getOptions() { $options = array(); - $published = $this->element['published'] ?: array(0, 1); + $published = $this->element['published'] ? explode(',', (string) $this->element['published']) : array(0, 1); $name = (string) $this->element['name']; // Let's get the id for the current item, either category or content item. @@ -179,14 +179,7 @@ protected function getOptions() } // Filter on the published state - if (is_numeric($published)) - { - $query->where('a.published = ' . (int) $published); - } - elseif (is_array($published)) - { - $query->where('a.published IN (' . implode(',', ArrayHelper::toInteger($published)) . ')'); - } + $query->where('a.published IN (' . implode(',', ArrayHelper::toInteger($published)) . ')'); // Filter categories on User Access Level // Filter by access level on categories. From cc160f7d799ea598d63acd3ef8f397f9b6333234 Mon Sep 17 00:00:00 2001 From: infograf768 <infografjms@gmail.com> Date: Sun, 1 Apr 2018 17:31:57 +0200 Subject: [PATCH 199/255] Smart Search: Highlighting terms also in fulltext when using readmore (#20019) * Smart Search: Highlighting terms also in fulltext when using readmore * parsing summary + body to get text only --- .../views/search/tmpl/default_result.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/components/com_finder/views/search/tmpl/default_result.php b/components/com_finder/views/search/tmpl/default_result.php index f765b9dcddffb..06d462d8e6753 100644 --- a/components/com_finder/views/search/tmpl/default_result.php +++ b/components/com_finder/views/search/tmpl/default_result.php @@ -23,17 +23,27 @@ $desc_length = $this->params->get('description_length', 255); $pad_length = $term_length < $desc_length ? (int) floor(($desc_length - $term_length) / 2) : 0; + // Make sure we highlight term both in introtext and fulltext + if (!empty($this->result->summary) && !empty($this->result->body)) + { + $full_description = FinderIndexerHelper::parse($this->result->summary . $this->result->body); + } + else + { + $full_description = $this->result->description; + } + // Find the position of the search term - $pos = $term_length ? StringHelper::strpos(StringHelper::strtolower($this->result->description), StringHelper::strtolower($this->query->input)) : false; + $pos = $term_length ? StringHelper::strpos(StringHelper::strtolower($full_description), StringHelper::strtolower($this->query->input)) : false; // Find a potential start point $start = ($pos && $pos > $pad_length) ? $pos - $pad_length : 0; // Find a space between $start and $pos, start right after it. - $space = StringHelper::strpos($this->result->description, ' ', $start > 0 ? $start - 1 : 0); + $space = StringHelper::strpos($full_description, ' ', $start > 0 ? $start - 1 : 0); $start = ($space && $space < $pos) ? $space + 1 : $start; - $description = JHtml::_('string.truncate', StringHelper::substr($this->result->description, $start), $desc_length, true); + $description = JHtml::_('string.truncate', StringHelper::substr($full_description, $start), $desc_length, true); } $route = $this->result->route; From b1712e88f039ee539e658c8a37ffbed8e6605a3e Mon Sep 17 00:00:00 2001 From: David Jardin <d.jardin@djumla.de> Date: Sun, 1 Apr 2018 17:32:54 +0200 Subject: [PATCH 200/255] Escape full query in NestedTable debug mode (#20024) --- libraries/src/Table/Nested.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index d5fbf54bda470..b29417cfbf0eb 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -1733,7 +1733,7 @@ protected function _logtable($showData = true, $showQuery = true) if ($showQuery) { - $buffer .= "\n" . $this->_db->getQuery() . $sep; + $buffer .= "\n" . htmlspecialchars($this->_db->getQuery(), ENT_QUOTES, 'UTF-8') . $sep; } if ($showData) From 55da14e20bfa252d6438e891a7bd4c09a2e120e1 Mon Sep 17 00:00:00 2001 From: David Jardin <d.jardin@djumla.de> Date: Sun, 1 Apr 2018 17:33:19 +0200 Subject: [PATCH 201/255] Changed viewname filter in RouteHelper (#20031) --- libraries/src/Helper/RouteHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Helper/RouteHelper.php b/libraries/src/Helper/RouteHelper.php index 23a59e95a177b..09e26fe30aab0 100644 --- a/libraries/src/Helper/RouteHelper.php +++ b/libraries/src/Helper/RouteHelper.php @@ -71,7 +71,7 @@ public function getRoute($id, $typealias, $link = '', $language = null, $catid = } else { - $this->view = \JFactory::getApplication()->input->getString('view'); + $this->view = \JFactory::getApplication()->input->getCmd('view'); $this->extension = \JFactory::getApplication()->input->getCmd('option'); } From 2a32a7528222930a7ee4d0948d2a8688a2228ff7 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Tue, 3 Apr 2018 00:58:12 -0500 Subject: [PATCH 202/255] Fix GMail plugin so it doesn't crash and burn on 4.0 upgrades (#20043) --- plugins/authentication/gmail/gmail.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/authentication/gmail/gmail.php b/plugins/authentication/gmail/gmail.php index edca44575e22e..15154e98009e7 100644 --- a/plugins/authentication/gmail/gmail.php +++ b/plugins/authentication/gmail/gmail.php @@ -9,6 +9,7 @@ defined('_JEXEC') or die; +use Joomla\CMS\Authentication\AuthenticationResponse; use Joomla\Registry\Registry; /** @@ -21,11 +22,11 @@ class PlgAuthenticationGMail extends JPlugin /** * This method should handle any authentication and report back to the subject * - * @param array $credentials Array holding the user credentials - * @param array $options Array of extra options - * @param object &$response Authentication response object + * @param array $credentials Array holding the user credentials + * @param array $options Array of extra options + * @param AuthenticationResponse &$response Authentication response object * - * @return boolean + * @return void * * @since 1.5 */ @@ -121,9 +122,11 @@ public function onUserAuthenticate($credentials, $options, &$response) } catch (Exception $e) { - // If there was an error in the request then create a 'false' dummy response. - $result = new JHttpResponse; - $result->code = false; + $response->status = JAuthentication::STATUS_FAILURE; + $response->type = 'GMail'; + $response->error_message = JText::sprintf('JGLOBAL_AUTH_FAILED', JText::_('JGLOBAL_AUTH_UNKNOWN_ACCESS_DENIED')); + + return; } $code = $result->code; From 68f074b35bf616e706b1afb3e6e78c58c67cf365 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Wed, 4 Apr 2018 06:52:22 -0500 Subject: [PATCH 203/255] Tweak build script for added flexibility (#19848) --- build/build.php | 126 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 98 insertions(+), 28 deletions(-) diff --git a/build/build.php b/build/build.php index 5d93c7683b562..a620d70242351 100644 --- a/build/build.php +++ b/build/build.php @@ -23,6 +23,21 @@ use Joomla\CMS\Version; +const PHP_TAB = "\t"; + +function usage($command) +{ + echo PHP_EOL; + echo 'Usage: php ' . $command . ' [options]' . PHP_EOL; + echo PHP_TAB . '[options]:'.PHP_EOL; + echo PHP_TAB . PHP_TAB . '--remote <remote>:' . PHP_TAB . 'The git remote reference to build from (ex: `tags/3.8.6`, `4.0-dev`), defaults to the most recent tag for the repository' . PHP_EOL; + echo PHP_TAB . PHP_TAB . '--exclude-zip:' . PHP_TAB . PHP_TAB . 'Exclude the generation of .zip packages' . PHP_EOL; + echo PHP_TAB . PHP_TAB . '--exclude-gzip:' . PHP_TAB . PHP_TAB . 'Exclude the generation of .tar.gz packages' . PHP_EOL; + echo PHP_TAB . PHP_TAB . '--exclude-bzip2:' . PHP_TAB . 'Exclude the generation of .tar.bz2 packages' . PHP_EOL; + echo PHP_TAB . PHP_TAB . '--help:' . PHP_TAB . PHP_TAB . PHP_TAB . 'Show this help output' . PHP_EOL; + echo PHP_EOL; +} + if (version_compare(PHP_VERSION, '5.4', '<')) { echo "The build script requires PHP 5.4.\n"; @@ -30,6 +45,8 @@ exit(1); } +$time = time(); + // Set path to git binary (e.g., /usr/local/git/bin/git or /usr/bin/git) ob_start(); passthru('which git', $systemGit); @@ -38,24 +55,39 @@ // Make sure file and folder permissions are set correctly umask(022); -// Import the version class to set the version information -define('JPATH_PLATFORM', 1); -require_once dirname(__DIR__) . '/libraries/src/Version.php'; - -// Set version information for the build -$version = Version::MAJOR_VERSION . '.' . Version::MINOR_VERSION; -$release = Version::PATCH_VERSION; -$fullVersion = (new Version)->getShortVersion(); - // Shortcut the paths to the repository root and build folder $repo = dirname(__DIR__); $here = __DIR__; // Set paths for the build packages $tmp = $here . '/tmp'; -$fullpath = $tmp . '/' . $fullVersion; +$fullpath = $tmp . '/' . $time; -echo "Start build for version $fullVersion.\n"; +// Parse input options +$options = getopt('', ['help', 'remote::', 'exclude-zip', 'exclude-gzip', 'exclude-bzip2']); + +$remote = isset($options['remote']) ? $options['remote'] : false; +$excludeZip = isset($options['exclude-zip']); +$excludeGzip = isset($options['exclude-gzip']); +$excludeBzip2 = isset($options['exclude-bzip2']); +$showHelp = isset($options['help']); + +if ($showHelp) +{ + usage($argv[0]); + die; +} + +// If not given a remote, assume we are looking for the latest local tag +if (!$remote) +{ + chdir($repo); + $tagVersion = system($systemGit . ' describe --tags `' . $systemGit . ' rev-list --tags --max-count=1`', $tagVersion); + $remote = 'tags/' . $tagVersion; + chdir($here); +} + +echo "Start build for remote $remote.\n"; echo "Delete old release folder.\n"; system('rm -rf ' . $tmp); mkdir($tmp); @@ -63,14 +95,23 @@ echo "Copy the files from the git repository.\n"; chdir($repo); -system($systemGit . ' archive ' . $fullVersion . ' | tar -x -C ' . $fullpath); +system($systemGit . ' archive ' . $remote . ' | tar -x -C ' . $fullpath); + +// Import the version class to set the version information +define('JPATH_PLATFORM', 1); +require_once $fullpath . '/libraries/src/Version.php'; + +// Set version information for the build +$version = Version::MAJOR_VERSION . '.' . Version::MINOR_VERSION; +$release = Version::PATCH_VERSION; +$fullVersion = (new Version)->getShortVersion(); chdir($tmp); system('mkdir diffdocs'); system('mkdir diffconvert'); system('mkdir packages' . $version); -echo "Create list of changed files from git repository.\n"; +echo "Create list of changed files from git repository for version $fullVersion.\n"; /* * Here we force add every top-level directory and file in our diff archive, even if they haven't changed. @@ -154,9 +195,9 @@ { echo "Create version $num update packages.\n"; - // Here we get a list of all files that have changed between the two tags ($previousTag and $fullVersion) and save in diffdocs + // Here we get a list of all files that have changed between the two references ($previousTag and $remote) and save in diffdocs $previousTag = $version . '.' . $num; - $command = $systemGit . ' diff tags/' . $previousTag . ' tags/' . $fullVersion . ' --name-status > diffdocs/' . $version . '.' . $num; + $command = $systemGit . ' diff tags/' . $previousTag . ' ' . $remote . ' --name-status > diffdocs/' . $version . '.' . $num; system($command); @@ -226,13 +267,24 @@ } $fromName = $num == 0 ? 'x' : $num; + // Create the diff archive packages using the file name list. - system('tar --create --bzip2 --no-recursion --directory ' . $fullVersion . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.bz2 --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); - system('tar --create --gzip --no-recursion --directory ' . $fullVersion . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.gz --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + if (!$excludeBzip2) + { + system('tar --create --bzip2 --no-recursion --directory ' . $time . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.bz2 --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + } + + if (!$excludeGzip) + { + system('tar --create --gzip --no-recursion --directory ' . $time . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.gz --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + } - chdir($fullVersion); - system('zip ../packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.zip -@ < ../diffconvert/' . $version . '.' . $num . '> /dev/null'); - chdir('..'); + if (!$excludeZip) + { + chdir($time); + system('zip ../packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.zip -@ < ../diffconvert/' . $version . '.' . $num . '> /dev/null'); + chdir('..'); + } } // Delete the files and folders we exclude from the packages (tests, docs, build, etc.). @@ -240,23 +292,32 @@ foreach ($doNotPackage as $removeFile) { - system('rm -rf ' . $fullVersion . '/' . $removeFile); + system('rm -rf ' . $time . '/' . $removeFile); } // Recreate empty directories before creating new archives. system('mkdir packages_full' . $fullVersion); echo "Build full package files.\n"; -chdir($fullVersion); +chdir($time); // The weblinks package manifest should not be present for new installs, temporarily move it system('mv administrator/manifests/packages/pkg_weblinks.xml ../pkg_weblinks.xml'); // Create full archive packages. -system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.bz2 * > /dev/null'); +if (!$excludeBzip2) +{ + system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.bz2 * > /dev/null'); +} -system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.gz * > /dev/null'); +if (!$excludeGzip) +{ + system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.gz * > /dev/null'); +} -system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.zip * > /dev/null'); +if (!$excludeZip) +{ + system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.zip * > /dev/null'); +} // Create full update file without the default logs directory, installation folder, or sample images. echo "Build full update package.\n"; @@ -271,10 +332,19 @@ // Move the weblinks manifest back system('mv ../pkg_weblinks.xml administrator/manifests/packages/pkg_weblinks.xml'); -system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.bz2 * > /dev/null'); +if (!$excludeBzip2) +{ + system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.bz2 * > /dev/null'); +} -system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.gz * > /dev/null'); +if (!$excludeGzip) +{ + system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.gz * > /dev/null'); +} -system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.zip * > /dev/null'); +if (!$excludeZip) +{ + system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.zip * > /dev/null'); +} echo "Build of version $fullVersion complete!\n"; From 3b7bdf9471d6b244ca3d23c08affcbf410b7ab17 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sat, 7 Apr 2018 10:02:25 +0100 Subject: [PATCH 204/255] Refresh Manifest Cache failed: Extension is not currently installed (#19560) * Refresh Manifest Cache failed: Extension is not currently installed PR for #17604 Change the message to include the name of the extension. I have no idea how to test this - sorry - only code review - unless someone knows how? * partial revert * revert comment --- administrator/language/en-GB/en-GB.lib_joomla.ini | 2 +- language/en-GB/en-GB.lib_joomla.ini | 2 +- libraries/src/Installer/Installer.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/administrator/language/en-GB/en-GB.lib_joomla.ini b/administrator/language/en-GB/en-GB.lib_joomla.ini index 7d25468d1b213..6ccd43d954329 100644 --- a/administrator/language/en-GB/en-GB.lib_joomla.ini +++ b/administrator/language/en-GB/en-GB.lib_joomla.ini @@ -531,7 +531,7 @@ JLIB_INSTALLER_ABORT_PLG_INSTALL_NO_FILE="Plugin %s: No plugin file specified." JLIB_INSTALLER_ABORT_PLG_INSTALL_ROLLBACK="Plugin %1$s: %2$s" JLIB_INSTALLER_ABORT_PLG_INSTALL_SQL_ERROR="Plugin %1$s: SQL error file %2$s" JLIB_INSTALLER_ABORT_PLG_UNINSTALL_SQL_ERROR="Plugin Uninstall: SQL error file %s" -JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not installed." +JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: %s Extension is not currently installed." JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE_VALID="Refresh Manifest Cache failed: Extension is not valid." JLIB_INSTALLER_ABORT_ROLLBACK="Extension %1$s: %2$s" JLIB_INSTALLER_ABORT_SQL_ERROR="Extension %1$s: SQL error processing query: %2$s" diff --git a/language/en-GB/en-GB.lib_joomla.ini b/language/en-GB/en-GB.lib_joomla.ini index 7d25468d1b213..6ccd43d954329 100644 --- a/language/en-GB/en-GB.lib_joomla.ini +++ b/language/en-GB/en-GB.lib_joomla.ini @@ -531,7 +531,7 @@ JLIB_INSTALLER_ABORT_PLG_INSTALL_NO_FILE="Plugin %s: No plugin file specified." JLIB_INSTALLER_ABORT_PLG_INSTALL_ROLLBACK="Plugin %1$s: %2$s" JLIB_INSTALLER_ABORT_PLG_INSTALL_SQL_ERROR="Plugin %1$s: SQL error file %2$s" JLIB_INSTALLER_ABORT_PLG_UNINSTALL_SQL_ERROR="Plugin Uninstall: SQL error file %s" -JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: Extension is not installed." +JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE="Refresh Manifest Cache failed: %s Extension is not currently installed." JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE_VALID="Refresh Manifest Cache failed: Extension is not valid." JLIB_INSTALLER_ABORT_ROLLBACK="Extension %1$s: %2$s" JLIB_INSTALLER_ABORT_SQL_ERROR="Extension %1$s: SQL error processing query: %2$s" diff --git a/libraries/src/Installer/Installer.php b/libraries/src/Installer/Installer.php index 4b5ae9ed2bbd0..fccb9042b9324 100644 --- a/libraries/src/Installer/Installer.php +++ b/libraries/src/Installer/Installer.php @@ -801,7 +801,7 @@ public function refreshManifestCache($eid) if ($this->extension->state == -1) { - $this->abort(\JText::_('JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE')); + $this->abort(\JText::sprintf('JLIB_INSTALLER_ABORT_REFRESH_MANIFEST_CACHE', $this->extension->name)); return false; } From df11df4d2cfaa63d2999ad1c54bf9b1f03e6a6c7 Mon Sep 17 00:00:00 2001 From: Octavian Cinciu <octavian@rsjoomla.com> Date: Sat, 7 Apr 2018 17:30:42 +0300 Subject: [PATCH 205/255] Remove rtrim() since it allows invalid emails (#20080) --- libraries/src/Mail/MailHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Mail/MailHelper.php b/libraries/src/Mail/MailHelper.php index f0f145803d496..041819bc44867 100644 --- a/libraries/src/Mail/MailHelper.php +++ b/libraries/src/Mail/MailHelper.php @@ -153,7 +153,7 @@ public static function isEmailAddress($email) } // Check the domain - $domain_array = explode('.', rtrim($domain, '.')); + $domain_array = explode('.', $domain); $regex = '/^[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/'; foreach ($domain_array as $domain) From 0c82311d389f231e4d6ad227b291200126fc2f80 Mon Sep 17 00:00:00 2001 From: Ruud <info@onlinecommunityhub.nl> Date: Sat, 7 Apr 2018 16:32:19 +0200 Subject: [PATCH 206/255] Custom Fields toggle display on read only rights (#20068) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [com_fields] Normalise the request com_fields data (#19884) * Normalise the request com_fields data * CS * PHP 5.3 compat * Fields in com_fields array (#9) Fields should be set in com_fields array and not direcly in $data * Spelling * Also normalise request data on front-end user profile save (#10) * Also normalise request data on front-end user profile save * correct context and option * Handle 0 properly in empty check * Simplify * allowing value 0 to be saved (#11) when setting a value of 0 in a text field the function empty will return true > setting the value to null * correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (#12) * correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true' * Update field.php * Update field.php * Custom fields view on form via toggle on read-only rights * fix back-end new article * first / seperate check on read-only access * refactor code so show_on parameter is part of helper function * implement inherit value in fields + language things * loadmodel only when needed * changed function comment * change values order so default value (inherit) is displayed first * Must use self:: for local static member reference --- .../components/com_fields/helpers/fields.php | 46 +++++++++++++++++++ .../com_fields/libraries/fieldsplugin.php | 10 +--- .../com_fields/models/forms/field.xml | 13 ++++++ .../com_fields/models/forms/group.xml | 20 +++++++- .../components/com_fields/models/group.php | 12 +++++ .../components/com_fields/models/groups.php | 28 +++++++++++ administrator/language/en-GB/en-GB.ini | 2 + 7 files changed, 121 insertions(+), 10 deletions(-) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 52c9c46c19136..029ea680b4bed 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -542,6 +542,52 @@ public static function canEditFieldValue($field) return JFactory::getUser()->authorise('core.edit.value', $parts[0] . '.field.' . (int) $field->id); } + /** + * Return a boolean based on field (and field group) display / show_on settings + * + * @param stdClass $field The field + * + * @return boolean + * + * @since __DEPLOY_VERSION__ + */ + public static function displayFieldOnForm($field) + { + $app = JFactory::getApplication(); + + // Detect if the field should be shown at all + if ($field->params->get('show_on') == 1 && $app->isClient('administrator')) + { + return false; + } + elseif ($field->params->get('show_on') == 2 && $app->isClient('site')) + { + return false; + } + + if (!self::canEditFieldValue($field)) + { + $fieldDisplayReadOnly = $field->params->get('display_readonly', '2'); + + if ($fieldDisplayReadOnly == '2') + { + // Inherit from field group display read-only setting + $groupModel = JModelLegacy::getInstance('Group', 'FieldsModel', array('ignore_request' => true)); + $groupDisplayReadOnly = $groupModel->getItem($field->group_id)->params->get('display_readonly', '1'); + $fieldDisplayReadOnly = $groupDisplayReadOnly; + } + + if ($fieldDisplayReadOnly == '0') + { + // Do not display field on form when field is read-only + return false; + } + } + + // Display field on form + return true; + } + /** * Adds Count Items for Category Manager. * diff --git a/administrator/components/com_fields/libraries/fieldsplugin.php b/administrator/components/com_fields/libraries/fieldsplugin.php index 9cf4eb6bb3e36..3a88cb0e774e3 100644 --- a/administrator/components/com_fields/libraries/fieldsplugin.php +++ b/administrator/components/com_fields/libraries/fieldsplugin.php @@ -152,14 +152,8 @@ public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm $form return null; } - $app = JFactory::getApplication(); - - // Detect if the field should be shown at all - if ($field->params->get('show_on') == 1 && $app->isClient('administrator')) - { - return; - } - elseif ($field->params->get('show_on') == 2 && $app->isClient('site')) + // Detect if the field is configured to be displayed on the form + if (!FieldsHelper::displayFieldOnForm($field)) { return null; } diff --git a/administrator/components/com_fields/models/forms/field.xml b/administrator/components/com_fields/models/forms/field.xml index 17de81827a690..7958234104aaf 100644 --- a/administrator/components/com_fields/models/forms/field.xml +++ b/administrator/components/com_fields/models/forms/field.xml @@ -287,6 +287,19 @@ <option value="3">COM_FIELDS_FIELD_DISPLAY_AFTER_DISPLAY</option> <option value="0">COM_FIELDS_FIELD_DISPLAY_NO_DISPLAY</option> </field> + + <field + name="display_readonly" + type="radio" + label="JFIELD_DISPLAY_READONLY_LABEL" + description="JFIELD_DISPLAY_READONLY_DESC" + class="btn-group btn-group-yesno" + default="2" + > + <option value="2">JGLOBAL_INHERIT</option> + <option value="1">JYES</option> + <option value="0">JNO</option> + </field> </fieldset> </fields> </form> diff --git a/administrator/components/com_fields/models/forms/group.xml b/administrator/components/com_fields/models/forms/group.xml index 03a6619019378..4ed5c46842c27 100644 --- a/administrator/components/com_fields/models/forms/group.xml +++ b/administrator/components/com_fields/models/forms/group.xml @@ -89,8 +89,8 @@ filter="user_utc" /> - <field - name="modified_by" + <field + name="modified_by" type="user" label="JGLOBAL_FIELD_MODIFIED_BY_LABEL" class="readonly" @@ -150,4 +150,20 @@ class="inputbox" /> </fieldset> + + <fields name="params" label="COM_FIELDS_FIELD_BASIC_LABEL"> + <fieldset name="basic"> + <field + name="display_readonly" + type="radio" + label="JFIELD_DISPLAY_READONLY_LABEL" + description="JFIELD_DISPLAY_READONLY_DESC" + class="btn-group btn-group-yesno" + default="1" + > + <option value="1">JYES</option> + <option value="0">JNO</option> + </field> + </fieldset> + </fields> </form> diff --git a/administrator/components/com_fields/models/group.php b/administrator/components/com_fields/models/group.php index d8f8c087ed470..cf9147f815af4 100644 --- a/administrator/components/com_fields/models/group.php +++ b/administrator/components/com_fields/models/group.php @@ -8,6 +8,8 @@ */ defined('_JEXEC') or die; +use Joomla\Registry\Registry; + /** * Group Model * @@ -69,6 +71,11 @@ public function save($data) */ public function getTable($name = 'Group', $prefix = 'FieldsTable', $options = array()) { + if (strpos(JPATH_COMPONENT, 'com_fields') === false) + { + $this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_fields/tables'); + } + return JTable::getInstance($name, $prefix, $options); } @@ -314,6 +321,11 @@ public function getItem($pk = null) $item->context = $this->getState('filter.context'); } + if (property_exists($item, 'params')) + { + $item->params = new Registry($item->params); + } + // Convert the created and modified dates to local user time for display in the form. $tz = new DateTimeZone(JFactory::getApplication()->get('offset')); diff --git a/administrator/components/com_fields/models/groups.php b/administrator/components/com_fields/models/groups.php index 93ddb6632d00c..a3f822df48d89 100644 --- a/administrator/components/com_fields/models/groups.php +++ b/administrator/components/com_fields/models/groups.php @@ -8,6 +8,7 @@ */ defined('_JEXEC') or die; +use Joomla\Registry\Registry; use Joomla\Utilities\ArrayHelper; /** @@ -213,4 +214,31 @@ protected function getListQuery() return $query; } + + /** + * Gets an array of objects from the results of database query. + * + * @param string $query The query. + * @param integer $limitstart Offset. + * @param integer $limit The number of records. + * + * @return array An array of results. + * + * @since __DEPLOY_VERSION__ + * @throws RuntimeException + */ + protected function _getList($query, $limitstart = 0, $limit = 0) + { + $result = parent::_getList($query, $limitstart, $limit); + + if (is_array($result)) + { + foreach ($result as $group) + { + $group->params = new Registry($group->params); + } + } + + return $result; + } } diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index b4078de2faa2d..9eca04c2ef18b 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -203,6 +203,8 @@ JFIELD_BASIS_LOGOUT_DESCRIPTION_LABEL="Logout Description Text" JFIELD_BASIS_LOGOUT_DESCRIPTION_SHOW_DESC="Show or hide logout description." JFIELD_BASIS_LOGOUT_DESCRIPTION_SHOW_LABEL="Logout Description" JFIELD_CATEGORY_DESC="The category that this item is assigned to. You may select an existing category or enter a new category by typing the name in the field and pressing enter." +JFIELD_DISPLAY_READONLY_DESC="Whether to display the field on forms when read-only. Inherit defaults to value set in field group." +JFIELD_DISPLAY_READONLY_LABEL="Display When Read-Only" JFIELD_ENABLED_DESC="The enabled status of this item." JFIELD_FIELDS_CATEGORY_DESC="Select the category that this field is assigned to." JFIELD_KEY_REFERENCE_DESC="Used to store information referring to an external resource." From a28c562755bd11e8d3da1e84554781888c57f1b2 Mon Sep 17 00:00:00 2001 From: Georgios Papadakis <ggppdk@users.noreply.github.com> Date: Sat, 7 Apr 2018 17:32:34 +0300 Subject: [PATCH 207/255] Fixed page with multiple codemirror editors fields with different syntax highlighting (#20063) --- plugins/editors/codemirror/codemirror.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/editors/codemirror/codemirror.php b/plugins/editors/codemirror/codemirror.php index ff6f0153439e5..17f8dd1f296e7 100644 --- a/plugins/editors/codemirror/codemirror.php +++ b/plugins/editors/codemirror/codemirror.php @@ -234,7 +234,9 @@ public function onDisplay( } // Load the syntax mode. - $syntax = $this->params->get('syntax', 'html'); + $syntax = !empty($params['syntax']) + ? $params['syntax'] + : $this->params->get('syntax', 'html'); $options->mode = isset($this->modeAlias[$syntax]) ? $this->modeAlias[$syntax] : $syntax; // Load the theme if specified. From de431291ff98f13379b2119af60dc5a02baeca04 Mon Sep 17 00:00:00 2001 From: Dimitri Grammatikogianni <mit505@upshift.gr> Date: Sat, 7 Apr 2018 16:33:00 +0200 Subject: [PATCH 208/255] Fix for: Can't choose module using editor plugin if you search first (#20005) * fixit * cs * Update modal.php --- .../components/com_modules/views/modules/tmpl/modal.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/administrator/components/com_modules/views/modules/tmpl/modal.php b/administrator/components/com_modules/views/modules/tmpl/modal.php index a44d0517b4978..577bfa8d64085 100644 --- a/administrator/components/com_modules/views/modules/tmpl/modal.php +++ b/administrator/components/com_modules/views/modules/tmpl/modal.php @@ -31,10 +31,16 @@ $listOrder = $this->escape($this->state->get('list.ordering')); $listDirn = $this->escape($this->state->get('list.direction')); $editor = JFactory::getApplication()->input->get('editor', '', 'cmd'); +$link = 'index.php?option=com_modules&view=modules&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1'; + +if (!empty($editor)) +{ + $link = 'index.php?option=com_modules&view=modules&layout=modal&tmpl=component&editor=' . $editor . '&' . JSession::getFormToken() . '=1'; +} ?> <div class="container-popup"> - <form action="<?php echo JRoute::_('index.php?option=com_modules&view=modules&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1'); ?>" method="post" name="adminForm" id="adminForm"> + <form action="<?php echo JRoute::_($link); ?>" method="post" name="adminForm" id="adminForm"> <?php echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?> <?php if ($this->total > 0) : ?> @@ -123,6 +129,7 @@ <input type="hidden" name="task" value="" /> <input type="hidden" name="boxchecked" value="0" /> + <input type="hidden" name="editor" value="<?php echo $editor; ?>" /> <?php echo JHtml::_('form.token'); ?> </form> From 469ccaf5c06fe20c75f2c30b4304cb31bc19952b Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sat, 7 Apr 2018 15:35:10 +0100 Subject: [PATCH 209/255] Basic check to make sure the bulk import seperator is being used. (#19982) * Basic check to make sure the bulk import seperator is being used. Added Import State function as to how the urls should be imported, enabled or disabled. * force int. * Update config.xml * Update links.php * Update en-GB.com_redirect.ini * Update config.xml * Update links.php * Update en-GB.com_redirect.ini * Update config.xml As per standards i.e: https://github.com/joomla/joomla-cms/blob/staging/administrator/components/com_config/model/form/application.xml i.e. endtag inline with options and closing tag inline with opening tag. * Update links.php --- administrator/components/com_redirect/config.xml | 15 +++++++++++++-- .../components/com_redirect/controllers/links.php | 13 ++++++++++++- .../components/com_redirect/models/links.php | 5 ++++- .../language/en-GB/en-GB.com_redirect.ini | 3 +++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/administrator/components/com_redirect/config.xml b/administrator/components/com_redirect/config.xml index a91b70005ab43..9c87ece04da68 100644 --- a/administrator/components/com_redirect/config.xml +++ b/administrator/components/com_redirect/config.xml @@ -3,7 +3,7 @@ <fieldset name="redirect" label="COM_REDIRECT_ADVANCED_OPTIONS" - > + > <field name="mode" type="radio" @@ -22,13 +22,24 @@ description="COM_REDIRECT_BULK_SEPARATOR_DESC" default="|" /> + <field + name="defaultImportState" + type="radio" + label="COM_REDIRECT_DEFAULT_IMPORT_STATE_LABEL" + description="COM_REDIRECT_DEFAULT_IMPORT_STATE_DESC" + class="btn-group btn-group-yesno" + default="0" + > + <option value="1">JENABLED</option> + <option value="0">JDISABLED</option> + </field> </fieldset> <fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC" - > + > <field name="rules" type="rules" diff --git a/administrator/components/com_redirect/controllers/links.php b/administrator/components/com_redirect/controllers/links.php index 8b5137685536d..925c5bc411288 100644 --- a/administrator/components/com_redirect/controllers/links.php +++ b/administrator/components/com_redirect/controllers/links.php @@ -133,7 +133,18 @@ public function batch() if (!empty($batch_urls_line)) { $params = JComponentHelper::getParams('com_redirect'); - $batch_urls[] = array_map('trim', explode($params->get('separator', '|'), $batch_urls_line)); + $separator = $params->get('separator', '|'); + + // Basic check to make sure the correct separator is being used + if (!\Joomla\String\StringHelper::strpos($batch_urls_line, $separator)) + { + $this->setMessage(JText::sprintf('COM_REDIRECT_NO_SEPARATOR_FOUND', $separator), 'error'); + $this->setRedirect('index.php?option=com_redirect&view=links'); + + return false; + } + + $batch_urls[] = array_map('trim', explode($separator, $batch_urls_line)); } } diff --git a/administrator/components/com_redirect/models/links.php b/administrator/components/com_redirect/models/links.php index e85e0502de2fc..088bb625c33be 100644 --- a/administrator/components/com_redirect/models/links.php +++ b/administrator/components/com_redirect/models/links.php @@ -200,6 +200,9 @@ public function batchProcess($batch_urls) $db = JFactory::getDbo(); $query = $db->getQuery(true); + $params = JComponentHelper::getParams('com_redirect'); + $state = (int) $params->get('defaultImportState', 0); + $columns = array( $db->quoteName('old_url'), $db->quoteName('new_url'), @@ -228,7 +231,7 @@ public function batchProcess($batch_urls) $query->insert($db->quoteName('#__redirect_links'), false) ->values( - $db->quote($old_url) . ', ' . $db->quote($new_url) . ' ,' . $db->quote('') . ', ' . $db->quote('') . ', 0, 0, ' . + $db->quote($old_url) . ', ' . $db->quote($new_url) . ' ,' . $db->quote('') . ', ' . $db->quote('') . ', 0, ' . $state . ', ' . $db->quote(JFactory::getDate()->toSql()) ); } diff --git a/administrator/language/en-GB/en-GB.com_redirect.ini b/administrator/language/en-GB/en-GB.com_redirect.ini index 57e55225b2b3e..f0ba0c7542e17 100644 --- a/administrator/language/en-GB/en-GB.com_redirect.ini +++ b/administrator/language/en-GB/en-GB.com_redirect.ini @@ -17,6 +17,8 @@ COM_REDIRECT_COLLECT_URLS_ENABLED="%1$s The option 'Collect URLs' is enabled." ; The following string is deprecated and will be removed with 4.0. COM_REDIRECT_COLLECT_URLS_DISABLED="The 'Collect URLs' option in the <a href="_QQ_"%s"_QQ_">Redirect System Plugin</a> is disabled. Error page URLs will not be collected by this component." COM_REDIRECT_CONFIGURATION="Redirect: Options" +COM_REDIRECT_DEFAULT_IMPORT_STATE_DESC="When batch importing redirects, enable or disable by default." +COM_REDIRECT_DEFAULT_IMPORT_STATE_LABEL="Import State" COM_REDIRECT_DISABLE_LINK="Disable Link" COM_REDIRECT_EDIT_LINK="Edit Link #%d" COM_REDIRECT_EDIT_PLUGIN_SETTINGS="Edit Plugin Settings" @@ -84,6 +86,7 @@ COM_REDIRECT_N_LINKS_UPDATED_1="1 link has been updated." COM_REDIRECT_NEW_LINK="New Link" COM_REDIRECT_NO_ITEM_ADDED="No links added." COM_REDIRECT_NO_ITEM_SELECTED="No links selected." +COM_REDIRECT_NO_SEPARATOR_FOUND="The separator %s was not found in your import." ; The following string is deprecated and will be removed with 4.0. COM_REDIRECT_PLUGIN_DISABLED="The <a href="_QQ_"%s"_QQ_">Redirect System Plugin</a> is disabled. It needs to be enabled for this component to work." COM_REDIRECT_PLUGIN_ENABLED="The Redirect Plugin is enabled." From 6267a29fdf894d3d2c1c02f990716e3a2da8045f Mon Sep 17 00:00:00 2001 From: Tony Partridge <admin@xtech.im> Date: Sat, 7 Apr 2018 15:35:52 +0100 Subject: [PATCH 210/255] =?UTF-8?q?Changed=20none=20selected=20to=20none,?= =?UTF-8?q?=20to=20be=20used=20when=20there=20are=20none=20availab?= =?UTF-8?q?=E2=80=A6=20(#19977)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Changed none selected to none, to be used when there are none available to select and when none are selected. Set select to be readonly is they cannot select any options * Update plugins.php * Update plugins.php * Update en-GB.ini * Update en-GB.ini * Update plugins.php * Update plugins.php * Update plugins.php * Update plugins.php * Update plugins.php Space/tabbing for drone. * Update plugins.php --- libraries/joomla/form/fields/plugins.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libraries/joomla/form/fields/plugins.php b/libraries/joomla/form/fields/plugins.php index 422c289747a64..328137321aaa0 100644 --- a/libraries/joomla/form/fields/plugins.php +++ b/libraries/joomla/form/fields/plugins.php @@ -157,4 +157,21 @@ protected function getOptions() return array_merge($parentOptions, $options); } + + /** + * Method to get input and also set field readonly. + * + * @return string The field input markup. + * + * @since __DEPLOY_VERSION__ + */ + protected function getInput() + { + if (count($this->options) === 1 && $this->options[0]->text === JText::_('JOPTION_DO_NOT_USE')) + { + $this->readonly = true; + } + + return parent::getInput(); + } } From 0171a5a778bcc3d689a2cfafb0ae89ed642664e6 Mon Sep 17 00:00:00 2001 From: alterweb-gr <37623783+alterweb-gr@users.noreply.github.com> Date: Sat, 7 Apr 2018 17:36:21 +0300 Subject: [PATCH 211/255] Corrected bug on empty subject of com_mailto (#19956) * Corrected bug on empty subject If the subject is empty, the posted value is an empty string (exists) so the default value is never added. * Updated code to include null value --- components/com_mailto/controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_mailto/controller.php b/components/com_mailto/controller.php index a06218c815a94..3f2b861feab1d 100644 --- a/components/com_mailto/controller.php +++ b/components/com_mailto/controller.php @@ -110,7 +110,7 @@ public function send() $sender = $this->input->post->getString('sender', ''); $from = $this->input->post->getString('from', ''); $subject_default = JText::sprintf('COM_MAILTO_SENT_BY', $sender); - $subject = $this->input->post->getString('subject', $subject_default); + $subject = $this->input->post->getString('subject', '') !== '' ? $this->input->post->getString('subject') : $subject_default; // Check for a valid to address $error = false; From ba65f4f61cb71d7bde64387e4527c49fdecd19ce Mon Sep 17 00:00:00 2001 From: mino182 <minogs@gmail.com> Date: Sun, 8 Apr 2018 20:45:49 +0200 Subject: [PATCH 212/255] text corrections (#20111) --- media/system/js/fields/calendar-locales/sk.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/media/system/js/fields/calendar-locales/sk.js b/media/system/js/fields/calendar-locales/sk.js index eadf5a7f29e85..4ee734176b12d 100644 --- a/media/system/js/fields/calendar-locales/sk.js +++ b/media/system/js/fields/calendar-locales/sk.js @@ -2,7 +2,7 @@ window.JoomlaCalLocale = { today : "Dnes", weekend : [0, 6], wk : "týž.", - time : "Èas:", + time : "Čas:", days : ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], shortDays : ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob"], months : ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], @@ -14,6 +14,6 @@ window.JoomlaCalLocale = { dateType : "gregorian", minYear : 1900, maxYear : 2100, - exit: "Zavrie", - save: "Vymaza" -}; \ No newline at end of file + exit: "Zavrieť", + save: "Vymazať" +}; From 6730c82c493e1c0c7c0e6208a625413a9b4277ee Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Mon, 9 Apr 2018 21:47:17 +0100 Subject: [PATCH 213/255] Typo and copy paste error (#20123) Someone couldn't spell and then someone else must have copy pasted the error No idea how to test but this has been wrong since 3.5 --- administrator/components/com_cache/models/cache.php | 2 +- administrator/components/com_languages/models/installed.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_cache/models/cache.php b/administrator/components/com_cache/models/cache.php index 909505fa1da0c..f9dca0ed8839a 100644 --- a/administrator/components/com_cache/models/cache.php +++ b/administrator/components/com_cache/models/cache.php @@ -54,7 +54,7 @@ public function __construct($config = array()) 'group', 'count', 'size', - 'cliend_id', + 'client_id', ); } diff --git a/administrator/components/com_languages/models/installed.php b/administrator/components/com_languages/models/installed.php index 55a491f59f996..23da9a79fafcc 100644 --- a/administrator/components/com_languages/models/installed.php +++ b/administrator/components/com_languages/models/installed.php @@ -83,7 +83,7 @@ public function __construct($config = array()) 'author', 'authorEmail', 'extension_id', - 'cliend_id', + 'client_id', ); } From 8676ecc66c30eafad8e0f2798dc89a9b49f5865d Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Tue, 10 Apr 2018 13:53:45 +0200 Subject: [PATCH 214/255] correct the use of the use command and move it below the defined command (#20130) --- libraries/joomla/controller/controller.php | 4 ++-- libraries/src/Authentication/Authentication.php | 4 ++-- libraries/src/Cache/CacheStorage.php | 4 ++-- .../src/Component/Exception/MissingComponentException.php | 4 ++-- libraries/src/Crypt/Crypt.php | 4 ++-- libraries/src/Feed/Feed.php | 4 ++-- libraries/src/Feed/FeedEntry.php | 4 ++-- libraries/src/Feed/FeedParser.php | 4 ++-- libraries/src/Helper/ContentHistoryHelper.php | 4 ++-- libraries/src/Input/Json.php | 4 ++-- libraries/src/Installer/Installer.php | 4 ++-- libraries/src/Installer/InstallerAdapter.php | 4 ++-- libraries/src/Language/Text.php | 4 ++-- libraries/src/Layout/FileLayout.php | 4 ++-- libraries/src/Mail/Mail.php | 4 ++-- libraries/src/Table/Observer/AbstractObserver.php | 4 ++-- libraries/src/Toolbar/Toolbar.php | 4 ++-- libraries/src/Toolbar/ToolbarButton.php | 4 ++-- 18 files changed, 36 insertions(+), 36 deletions(-) diff --git a/libraries/joomla/controller/controller.php b/libraries/joomla/controller/controller.php index ea44f1be17115..6d11750cf21b0 100644 --- a/libraries/joomla/controller/controller.php +++ b/libraries/joomla/controller/controller.php @@ -7,10 +7,10 @@ * @license GNU General Public License version 2 or later; see LICENSE */ -use Joomla\Application\AbstractApplication; - defined('JPATH_PLATFORM') or die; +use Joomla\Application\AbstractApplication; + /** * Joomla Platform Controller Interface * diff --git a/libraries/src/Authentication/Authentication.php b/libraries/src/Authentication/Authentication.php index e09de8473bcc8..bdff7ed4a6f63 100644 --- a/libraries/src/Authentication/Authentication.php +++ b/libraries/src/Authentication/Authentication.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Authentication; -use Joomla\CMS\Plugin\PluginHelper; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Plugin\PluginHelper; + /** * Authentication class, provides an interface for the Joomla authentication system * diff --git a/libraries/src/Cache/CacheStorage.php b/libraries/src/Cache/CacheStorage.php index 10cadf88d6cba..d923f6af06fda 100644 --- a/libraries/src/Cache/CacheStorage.php +++ b/libraries/src/Cache/CacheStorage.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Cache; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Cache\Exception\UnsupportedCacheException; use Joomla\CMS\Log\Log; -defined('JPATH_PLATFORM') or die; - /** * Abstract cache storage handler * diff --git a/libraries/src/Component/Exception/MissingComponentException.php b/libraries/src/Component/Exception/MissingComponentException.php index e77792667cfe1..3f0caac7b5ba3 100644 --- a/libraries/src/Component/Exception/MissingComponentException.php +++ b/libraries/src/Component/Exception/MissingComponentException.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Component\Exception; -use Joomla\CMS\Router\Exception\RouteNotFoundException; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Router\Exception\RouteNotFoundException; + /** * Exception class defining an error for a missing component * diff --git a/libraries/src/Crypt/Crypt.php b/libraries/src/Crypt/Crypt.php index b34b6caade705..340eedfc92de8 100644 --- a/libraries/src/Crypt/Crypt.php +++ b/libraries/src/Crypt/Crypt.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Crypt; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Crypt\Cipher\SimpleCipher; use Joomla\CMS\Log\Log; -defined('JPATH_PLATFORM') or die; - /** * Crypt is a Joomla Platform class for handling basic encryption/decryption of data. * diff --git a/libraries/src/Feed/Feed.php b/libraries/src/Feed/Feed.php index 440e7f6e5b430..1340c72f81231 100644 --- a/libraries/src/Feed/Feed.php +++ b/libraries/src/Feed/Feed.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Feed; -use Joomla\CMS\Date\Date; - defined('JPATH_PLATFORM') or die(); +use Joomla\CMS\Date\Date; + /** * Class to encapsulate a feed for the Joomla Platform. * diff --git a/libraries/src/Feed/FeedEntry.php b/libraries/src/Feed/FeedEntry.php index 2771423bbe23b..f1eb017a58851 100644 --- a/libraries/src/Feed/FeedEntry.php +++ b/libraries/src/Feed/FeedEntry.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Feed; -use Joomla\CMS\Date\Date; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Date\Date; + /** * Class to encapsulate a feed entry for the Joomla Platform. * diff --git a/libraries/src/Feed/FeedParser.php b/libraries/src/Feed/FeedParser.php index 68739fb60a8e1..e30633f858579 100644 --- a/libraries/src/Feed/FeedParser.php +++ b/libraries/src/Feed/FeedParser.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Feed; -use Joomla\CMS\Feed\Parser\NamespaceParserInterface; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Feed\Parser\NamespaceParserInterface; + /** * Feed Parser class. * diff --git a/libraries/src/Helper/ContentHistoryHelper.php b/libraries/src/Helper/ContentHistoryHelper.php index 3191653f861e9..87353ec834bc2 100644 --- a/libraries/src/Helper/ContentHistoryHelper.php +++ b/libraries/src/Helper/ContentHistoryHelper.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Helper; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Table\Table; -defined('JPATH_PLATFORM') or die; - /** * Versions helper class, provides methods to perform various tasks relevant * versioning of content. diff --git a/libraries/src/Input/Json.php b/libraries/src/Input/Json.php index 1ac1e6128c1e4..e1dd3e2090fa1 100644 --- a/libraries/src/Input/Json.php +++ b/libraries/src/Input/Json.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Input; -use Joomla\CMS\Filter\InputFilter; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Filter\InputFilter; + /** * Joomla! Input JSON Class * diff --git a/libraries/src/Installer/Installer.php b/libraries/src/Installer/Installer.php index fccb9042b9324..09632acb6af30 100644 --- a/libraries/src/Installer/Installer.php +++ b/libraries/src/Installer/Installer.php @@ -8,13 +8,13 @@ namespace Joomla\CMS\Installer; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Application\ApplicationHelper; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Table\Extension; use Joomla\CMS\Table\Table; -defined('JPATH_PLATFORM') or die; - \JLoader::import('joomla.filesystem.file'); \JLoader::import('joomla.filesystem.folder'); \JLoader::import('joomla.filesystem.path'); diff --git a/libraries/src/Installer/InstallerAdapter.php b/libraries/src/Installer/InstallerAdapter.php index 86869d25dd107..cf03eedc3b53e 100644 --- a/libraries/src/Installer/InstallerAdapter.php +++ b/libraries/src/Installer/InstallerAdapter.php @@ -8,13 +8,13 @@ namespace Joomla\CMS\Installer; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Installer\Manifest\PackageManifest; use Joomla\CMS\Table\Extension; use Joomla\CMS\Table\Table; use Joomla\CMS\Table\TableInterface; -defined('JPATH_PLATFORM') or die; - \JLoader::import('joomla.base.adapterinstance'); /** diff --git a/libraries/src/Language/Text.php b/libraries/src/Language/Text.php index 4ada0c5448313..6814f177109a8 100644 --- a/libraries/src/Language/Text.php +++ b/libraries/src/Language/Text.php @@ -8,12 +8,12 @@ namespace Joomla\CMS\Language; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Log\Log; -defined('JPATH_PLATFORM') or die; - /** * Text handling class. * diff --git a/libraries/src/Layout/FileLayout.php b/libraries/src/Layout/FileLayout.php index 3b4efeb1cfcde..e864f9c7fe594 100644 --- a/libraries/src/Layout/FileLayout.php +++ b/libraries/src/Layout/FileLayout.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Layout; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Application\ApplicationHelper; use Joomla\CMS\Component\ComponentHelper; -defined('JPATH_PLATFORM') or die; - /** * Base class for rendering a display layout * loaded from from a layout file diff --git a/libraries/src/Mail/Mail.php b/libraries/src/Mail/Mail.php index 0b6f4e2540684..b886fbdbb36eb 100644 --- a/libraries/src/Mail/Mail.php +++ b/libraries/src/Mail/Mail.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Mail; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Factory; use Joomla\CMS\Log\Log; -defined('JPATH_PLATFORM') or die; - /** * Email Class. Provides a common interface to send email from the Joomla! Platform * diff --git a/libraries/src/Table/Observer/AbstractObserver.php b/libraries/src/Table/Observer/AbstractObserver.php index fa3e261d822e7..8ecc41564c932 100644 --- a/libraries/src/Table/Observer/AbstractObserver.php +++ b/libraries/src/Table/Observer/AbstractObserver.php @@ -8,11 +8,11 @@ namespace Joomla\CMS\Table\Observer; +defined('JPATH_PLATFORM') or die; + use Joomla\CMS\Table\TableInterface; use Joomla\CMS\Table\Table; -defined('JPATH_PLATFORM') or die; - /** * Table class supporting modified pre-order tree traversal behavior. * diff --git a/libraries/src/Toolbar/Toolbar.php b/libraries/src/Toolbar/Toolbar.php index e94385c8bc147..57033d3e7b8c0 100644 --- a/libraries/src/Toolbar/Toolbar.php +++ b/libraries/src/Toolbar/Toolbar.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Toolbar; -use Joomla\CMS\Layout\FileLayout; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Layout\FileLayout; + /** * ToolBar handler * diff --git a/libraries/src/Toolbar/ToolbarButton.php b/libraries/src/Toolbar/ToolbarButton.php index 094dfbf0fb93d..4e6f31a332152 100644 --- a/libraries/src/Toolbar/ToolbarButton.php +++ b/libraries/src/Toolbar/ToolbarButton.php @@ -8,10 +8,10 @@ namespace Joomla\CMS\Toolbar; -use Joomla\CMS\Layout\FileLayout; - defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Layout\FileLayout; + /** * Button base class * From d8a87d12e34a71e484d74178685d888b45b09c7e Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 10 Apr 2018 07:27:13 -0500 Subject: [PATCH 215/255] Prepare 3.8.7 RC --- administrator/components/com_fields/helpers/fields.php | 2 +- administrator/components/com_fields/models/groups.php | 2 +- .../components/com_postinstall/controllers/message.php | 2 +- .../components/com_postinstall/models/messages.php | 2 +- .../com_postinstall/views/messages/view.html.php | 2 +- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 4 ++-- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/joomla/form/fields/plugins.php | 2 +- libraries/src/Version.php | 10 +++++----- plugins/system/fields/fields.php | 2 +- 15 files changed, 20 insertions(+), 20 deletions(-) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 029ea680b4bed..5dfbd03a8703a 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -549,7 +549,7 @@ public static function canEditFieldValue($field) * * @return boolean * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ public static function displayFieldOnForm($field) { diff --git a/administrator/components/com_fields/models/groups.php b/administrator/components/com_fields/models/groups.php index a3f822df48d89..4619ab801f0b6 100644 --- a/administrator/components/com_fields/models/groups.php +++ b/administrator/components/com_fields/models/groups.php @@ -224,7 +224,7 @@ protected function getListQuery() * * @return array An array of results. * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 * @throws RuntimeException */ protected function _getList($query, $limitstart = 0, $limit = 0) diff --git a/administrator/components/com_postinstall/controllers/message.php b/administrator/components/com_postinstall/controllers/message.php index 55685a7e1b6f6..a8277158d9af6 100644 --- a/administrator/components/com_postinstall/controllers/message.php +++ b/administrator/components/com_postinstall/controllers/message.php @@ -45,7 +45,7 @@ public function reset() * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ public function hideAll() { diff --git a/administrator/components/com_postinstall/models/messages.php b/administrator/components/com_postinstall/models/messages.php index a08bdc4a33878..824f3f77c7eb0 100644 --- a/administrator/components/com_postinstall/models/messages.php +++ b/administrator/components/com_postinstall/models/messages.php @@ -114,7 +114,7 @@ public function resetMessages($eid) * * @return mixed False if we fail, a db cursor otherwise * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ public function hideMessages($eid) { diff --git a/administrator/components/com_postinstall/views/messages/view.html.php b/administrator/components/com_postinstall/views/messages/view.html.php index 86670acf16038..2bbfe4eedd066 100644 --- a/administrator/components/com_postinstall/views/messages/view.html.php +++ b/administrator/components/com_postinstall/views/messages/view.html.php @@ -52,7 +52,7 @@ protected function onBrowse($tpl = null) * * @return boolean Return true to allow rendering of the page * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ protected function onDisplay($tpl = null) { diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index ce15674694266..6408d44b2fd19 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> <version>3.8.7</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 4fe5c259a623a..db183a521a62c 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.7</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 32906edc88712..429526e028def 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,8 +6,8 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.7-dev</version> - <creationDate>March 2018</creationDate> + <version>3.8.7-rc</version> + <creationDate>April 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> <scriptfile>administrator/components/com_admin/script.php</scriptfile> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index a06dd1bd1ed24..5b4e9c5fbfb1f 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -3,7 +3,7 @@ <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> <version>3.8.7.1</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index ed11d1b041699..844e9576762e7 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,7 +4,7 @@ client="installation"> <name>English (United Kingdom)</name> <version>3.8.7</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index f1f388801d86e..211229b180127 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ <metafile version="3.8" client="site"> <name>English (en-GB)</name> <version>3.8.7</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 01bcda355d312..07b63bd2bea6a 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ <name>English (en-GB)</name> <tag>en-GB</tag> <version>3.8.7</version> - <creationDate>March 2018</creationDate> + <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> diff --git a/libraries/joomla/form/fields/plugins.php b/libraries/joomla/form/fields/plugins.php index 328137321aaa0..0655b1af27b90 100644 --- a/libraries/joomla/form/fields/plugins.php +++ b/libraries/joomla/form/fields/plugins.php @@ -163,7 +163,7 @@ protected function getOptions() * * @return string The field input markup. * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ protected function getInput() { diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 4feacd331f22a..3ddcb960ff6e1 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7-dev'; + const DEV_LEVEL = '7-rc'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '13-March-2018'; + const RELDATE = '10-April-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '14:00'; + const RELTIME = '13:45'; /** * Release timezone. diff --git a/plugins/system/fields/fields.php b/plugins/system/fields/fields.php index b142067da281b..a7b432011a835 100644 --- a/plugins/system/fields/fields.php +++ b/plugins/system/fields/fields.php @@ -40,7 +40,7 @@ class PlgSystemFields extends JPlugin * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.7 */ public function onContentNormaliseRequestData($context, $data, Form $form) { From b5b9d49f98d3b4d95c3b16216504e4ef0c2c5ef1 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Tue, 10 Apr 2018 07:40:21 -0500 Subject: [PATCH 216/255] Reset for dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 429526e028def..6844c58941c38 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.7-rc</version> + <version>3.8.7-dev</version> <creationDate>April 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 3ddcb960ff6e1..f9d162db44c12 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc'; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7-rc'; + const DEV_LEVEL = '7-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Build number. From d00ab7c06078277a44209cc4b97030025fbce266 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Wed, 18 Apr 2018 11:42:39 +0100 Subject: [PATCH 217/255] Add a security policy (#20163) * Add a security policy Many projects now add a SECURITY.md document to their repository. Often this is related to using HackerOne but not always. This PR adds a policy to our github repo. It is based on the existing policy on the d.j.o web site The file doesn't need to be distributed so it has been added to the exclude list in the github repo. * tweek * copy paste * Update SECURITY.md * Update SECURITY.md --- SECURITY.md | 39 +++++++++++++++++++++++++++++++++++++++ build/build.php | 1 + 2 files changed, 40 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000000..449c2a5978fdd --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,39 @@ +# Security Policies and Procedures + +This document outlines security procedures and policies for the `Joomla! Project`. + + * [Reporting a Bug](#reporting-a-bug) + * [Response Handling](#response-handling) + * [Security Announcement Policy](#security-announcement-policy) + * [Further Details on the Joomla! Security Policies](https://security.joomla.org) + +## Reporting a Bug + +The `Joomla` team and community take all security bugs in `Joomla` seriously. + +The Joomla! Project takes security vulnerabilities very seriously. As such, the Joomla! Security Strike Team (JSST) oversees the project's security issues and follows some specific procedures when dealing with these issues. + +If you find a possible vulnerability, please report it to the JSST using the [online form](https://developer.joomla.org/security/contact-the-team.html) or via email at security@joomla.org + +We maintain a list of [GPG keys and addresses](https://developer.joomla.org/security/gpg-keys.html) for the security@joomla.org address and members of the JSST to allow signed and encrypted communications. + +To report an issue in a Joomla! extension, please submit it to the [Vulnerable Extensions List.](https://vel.joomla.org/submit-vel) + +For support with a site which has been attacked, please visit the [Joomla! Forum.](https://forum.joomla.org/viewforum.php?f=714) + +Thank you for improving the security of `Joomla`. + +## Response Handling + +The JSST aims to ensure all issues are handled in a timely manner and for clear communication between the team and issue reporters. As such, we have established the following guidelines for responding to issue reports: + +* Within 24 hours every report gets acknowledged +* Within 7 days every report gets a further response stating either + * the issue is closed (and why) + * the issue is still under investigation; if needed, additional information will be requested +* Within 21 days every report must be resolved unless there are exceptional circumstances requiring additional time + +## Security Announcement Policy +* Verified vulnerabilities will only be publicly announced AFTER a release is issued which fixes the vulnerability. +* All announcements will contain as much information as possible, but will NOT contain step-by-step instructions for the vulnerability. +* The `Joomla! Project` will properly credit individuals and/or organizations who responsibly disclose security issues to the JSST. You can indicate the way you would like to be referred to in the advisory about the vulnerability. Our preference is to use full names. If you do not specify then we will use the contact name associated with the email address the report was received from. You can also request a pseudonym or having your name withheld. diff --git a/build/build.php b/build/build.php index a620d70242351..82ce332d76bd4 100644 --- a/build/build.php +++ b/build/build.php @@ -156,6 +156,7 @@ function usage($command) '.php_cs', '.travis.yml', 'README.md', + 'SECURITY.md', 'appveyor-phpunit.xml', 'build', 'build.xml', From eb12f41cece915c47c7904dc9d01dba2a606e6f6 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Wed, 18 Apr 2018 07:19:09 -0500 Subject: [PATCH 218/255] Prepare 3.8.7 release --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 6844c58941c38..07979a8210bd9 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.7-dev</version> + <version>3.8.7</version> <creationDate>April 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index f9d162db44c12..ad3f9fc71419a 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = ''; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7-dev'; + const DEV_LEVEL = '7'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Stable'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '10-April-2018'; + const RELDATE = '18-April-2018'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '13:45'; + const RELTIME = '14:00'; /** * Release timezone. From 0aaf9e8c3bd0d8c82d8948518435fe905dbbfe9b Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@joomla.org> Date: Wed, 18 Apr 2018 07:27:06 -0500 Subject: [PATCH 219/255] Reset for dev --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 2 +- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 8 ++++---- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 6408d44b2fd19..1d8ca75326ebf 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="administrator"> <name>English (en-GB)</name> - <version>3.8.7</version> + <version>3.8.8</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index db183a521a62c..126f7f989dbbb 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="administrator" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.7</version> + <version>3.8.8</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 07979a8210bd9..4732a3d2b1c4d 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2005 - 2018 Open Source Matters. All rights reserved</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> - <version>3.8.7</version> + <version>3.8.8-dev</version> <creationDate>April 2018</creationDate> <description>FILES_JOOMLA_XML_DESCRIPTION</description> diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 5b4e9c5fbfb1f..e9ace5a0d62c2 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -2,7 +2,7 @@ <extension type="package" version="3.8" method="upgrade"> <name>English (en-GB) Language Pack</name> <packagename>en-GB</packagename> - <version>3.8.7.1</version> + <version>3.8.8.1</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 844e9576762e7..9255abb402761 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -3,7 +3,7 @@ version="3.8" client="installation"> <name>English (United Kingdom)</name> - <version>3.8.7</version> + <version>3.8.8</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <copyright>Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.</copyright> diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index 211229b180127..73a8f36efebc3 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <metafile version="3.8" client="site"> <name>English (en-GB)</name> - <version>3.8.7</version> + <version>3.8.8</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 07b63bd2bea6a..93a9455f520a9 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -2,7 +2,7 @@ <extension version="3.8" client="site" type="language" method="upgrade"> <name>English (en-GB)</name> <tag>en-GB</tag> - <version>3.8.7</version> + <version>3.8.8</version> <creationDate>April 2018</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> diff --git a/libraries/src/Version.php b/libraries/src/Version.php index ad3f9fc71419a..dbf257d03d6fe 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -49,7 +49,7 @@ final class Version * @var integer * @since 3.8.0 */ - const PATCH_VERSION = 7; + const PATCH_VERSION = 8; /** * Extra release version info. @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = ''; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7'; + const DEV_LEVEL = '8-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Stable'; + const DEV_STATUS = 'Development'; /** * Build number. From c6d1f1457eb2d1f0de57428267071656b544db59 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Thu, 19 Apr 2018 01:54:17 -0400 Subject: [PATCH 220/255] Introduce CODEOWNERS (#20137) --- .github/CODEOWNERS | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000000..3af433d8336f1 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,60 @@ +# Custom Fields +administrator/components/com_fields/* @laoneo +components/com_fields/* @laoneo +plugins/content/fields/* @laoneo +plugins/editors-xtd/fields/* @laoneo +plugins/fields/* @laoneo +plugins/systems/fields/* @laoneo + +# Smart Search +administrator/components/com_finder/* @mbabker +components/com_finder/* @mbabker +modules/mod_finder/* @mbabker +plugins/content/finder/* @mbabker +plugins/finder/* @mbabker + +# Language strings +administrator/language/en-GB/* @brianteeman +installation/language/en-GB/* @brianteeman +language/en-GB/* @brianteeman +README.md @brianteeman +README.txt @brianteeman + +# CodeMirror +media/editors/codemirror/* @okonomiyaki3000 +plugins/editors/codemirror/* @okonomiyaki3000 + +# Statistics Server +plugins/system/stats/* @mbabker @wilsonge + +# Release Tools +build.xml @mbabker +build/build.php @mbabker @rdeutz @wilsonge +build/bump.php @mbabker @rdeutz @wilsonge +build/deleted_file_check.php @mbabker @rdeutz @wilsonge + +# Core/Extension Install/Update Tools +administrator/components/com_joomlaupdate/* @mbabker @rdeutz @wilsonge @zero-24 +libraries/src/Installer/* @mbabker @rdeutz @wilsonge @zero-24 +libraries/src/Updater/* @mbabker @rdeutz @wilsonge @zero-24 + +# Automated Testing +build/jenkins/* @mbabker @rdeutz +build/travis/* @mbabker @rdeutz +tests/codeception/* @rdeutz +tests/javascript/* @dgt41 @rdeutz +tests/unit/* @mbabker @rdeutz +.appveyor.yml @mbabker @rdeutz +.drone.yml @rdeutz +.hound.yml @mbabker +.travis.yml @mbabker @rdeutz +appveyor-phpunit.xml @mbabker @rdeutz +codeception.yml @rdeutz +karma.conf.js @dgt41 @rdeutz +phpunit.xml.dist @mbabker @rdeutz +RoboFile.dist.ini @rdeutz +RoboFile.php @rdeutz +travis-phpunit.xml @mbabker @rdeutz + +# Core JS +media/*/js/* @dgt41 From 8d1aafad2f8b81b1f73e00099d069f84b8c07ece Mon Sep 17 00:00:00 2001 From: milux <michi.lux@gmail.com> Date: Fri, 20 Apr 2018 22:34:20 +0200 Subject: [PATCH 221/255] Tidy writeDynaList() (#12184) * Cleaned writeDynaList() in core.js * Removed explanation comments * removed all API changes * updated compressed core.js --- media/system/js/core-uncompressed.js | 22 +++++++--------------- media/system/js/core.js | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/media/system/js/core-uncompressed.js b/media/system/js/core-uncompressed.js index e195ea117502e..1ce038a081ecf 100644 --- a/media/system/js/core-uncompressed.js +++ b/media/system/js/core-uncompressed.js @@ -534,27 +534,19 @@ Joomla.editors.instances = Joomla.editors.instances || { */ window.writeDynaList = function ( selectParams, source, key, orig_key, orig_val, element ) { var html = '<select ' + selectParams + '>', - hasSelection = key == orig_key, - i = 0, - selected, x, item; + hasSelection = key == orig_key, i, selected, item; - for ( x in source ) { - if (!source.hasOwnProperty(x)) { continue; } - - item = source[ x ]; + for (i = 0 ; i < source.length; i++) { + item = source[ i ]; if ( item[ 0 ] != key ) { continue; } - selected = ''; + selected = hasSelection ? orig_val == item[ 1 ] : i === 0; - if ( ( hasSelection && orig_val == item[ 1 ] ) || ( !hasSelection && i === 0 ) ) { - selected = 'selected="selected"'; - } - - html += '<option value="' + item[ 1 ] + '" ' + selected + '>' + item[ 2 ] + '</option>'; - - i++; + html += '<option value="' + item[ 1 ] + '"' + (selected ? ' selected="selected"' : '') + '>' + + item[ 2 ] + '</option>'; } + html += '</select>'; if (element) { diff --git a/media/system/js/core.js b/media/system/js/core.js index 2a545c912a261..7bbab0352719a 100644 --- a/media/system/js/core.js +++ b/media/system/js/core.js @@ -1 +1,16 @@ -Joomla=window.Joomla||{},Joomla.editors=Joomla.editors||{},Joomla.editors.instances=Joomla.editors.instances||{},function(e,t){"use strict";e.submitform=function(e,o,n){o||(o=t.getElementById("adminForm")),e&&(o.task.value=e),o.noValidate=!n,n?o.hasAttribute("novalidate")&&o.removeAttribute("novalidate"):o.setAttribute("novalidate","");var r=t.createElement("input");r.style.display="none",r.type="submit",o.appendChild(r).click(),o.removeChild(r)},e.submitbutton=function(t){e.submitform(t)},e.JText={strings:{},_:function(t,o){var n=e.getOptions("joomla.jtext");return n&&(this.load(n),e.loadOptions({"joomla.jtext":null})),o=void 0===o?"":o,t=t.toUpperCase(),void 0!==this.strings[t]?this.strings[t]:o},load:function(e){for(var t in e)e.hasOwnProperty(t)&&(this.strings[t.toUpperCase()]=e[t]);return this}},e.optionsStorage=e.optionsStorage||null,e.getOptions=function(t,o){return e.optionsStorage||e.loadOptions(),void 0!==e.optionsStorage[t]?e.optionsStorage[t]:o},e.loadOptions=function(o){if(!o){for(var n,r,i,a=t.querySelectorAll(".joomla-script-options.new"),s=0,l=0,d=a.length;d>l;l++)r=a[l],n=r.text||r.textContent,i=JSON.parse(n),i&&(e.loadOptions(i),s++),r.className=r.className.replace(" new"," loaded");if(s)return}if(e.optionsStorage){if(o)for(var c in o)o.hasOwnProperty(c)&&(e.optionsStorage[c]=o[c])}else e.optionsStorage=o||{}},e.replaceTokens=function(e){if(/^[0-9A-F]{32}$/i.test(e)){var o,n,r,i=t.getElementsByTagName("input");for(o=0,r=i.length;r>o;o++)n=i[o],"hidden"==n.type&&"1"==n.value&&32==n.name.length&&(n.name=e)}},e.isEmail=function(e){var t=/^[\w.!#$%&‚Äô*+\/=?^`{|}~-]+@[a-z0-9-]+(?:\.[a-z0-9-]{2,})+$/i;return t.test(e)},e.checkAll=function(e,t){if(!e.form)return!1;t=t?t:"cb";var o,n,r,i=0;for(o=0,r=e.form.elements.length;r>o;o++)n=e.form.elements[o],n.type==e.type&&0===n.id.indexOf(t)&&(n.checked=e.checked,i+=n.checked?1:0);return e.form.boxchecked&&(e.form.boxchecked.value=i),!0},e.renderMessages=function(o){e.removeMessages();var n,r,i,a,s,l,d,c,u=t.getElementById("system-message-container");for(n in o)if(o.hasOwnProperty(n)){r=o[n],i=t.createElement("div"),c="notice"==n?"alert-info":"alert-"+n,c="message"==n?"alert-success":c,i.className="alert "+c;var f=t.createElement("button");for(f.setAttribute("type","button"),f.setAttribute("data-dismiss","alert"),f.className="close",f.innerHTML="×",i.appendChild(f),a=e.JText._(n),"undefined"!=typeof a&&(s=t.createElement("h4"),s.className="alert-heading",s.innerHTML=e.JText._(n),i.appendChild(s)),l=r.length-1;l>=0;l--)d=t.createElement("div"),d.innerHTML=r[l],i.appendChild(d);u.appendChild(i)}},e.removeMessages=function(){for(var e=t.getElementById("system-message-container");e.firstChild;)e.removeChild(e.firstChild);e.style.display="none",e.offsetHeight,e.style.display=""},e.ajaxErrorsMessages=function(t,o,n){var r={};if("parsererror"===o){for(var i=t.responseText.trim(),a=[],s=i.length-1;s>=0;s--)a.unshift(["&#",i[s].charCodeAt(),";"].join(""));i=a.join(""),r.error=[e.JText._("JLIB_JS_AJAX_ERROR_PARSE").replace("%s",i)]}else"nocontent"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_NO_CONTENT")]:"timeout"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_TIMEOUT")]:"abort"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_CONNECTION_ABORT")]:t.responseJSON&&t.responseJSON.message?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)+" <em>"+t.responseJSON.message+"</em>"]:t.statusText?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)+" <em>"+t.statusText+"</em>"]:r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)];return r},e.isChecked=function(e,o){if("undefined"==typeof o&&(o=t.getElementById("adminForm")),o.boxchecked.value=e?parseInt(o.boxchecked.value)+1:parseInt(o.boxchecked.value)-1,o.elements["checkall-toggle"]){var n,r,i,a=!0;for(n=0,i=o.elements.length;i>n;n++)if(r=o.elements[n],"checkbox"==r.type&&"checkall-toggle"!=r.name&&!r.checked){a=!1;break}o.elements["checkall-toggle"].checked=a}},e.popupWindow=function(e,t,o,n,r){var i=(screen.width-o)/2,a=(screen.height-n)/2,s="height="+n+",width="+o+",top="+a+",left="+i+",scrollbars="+r+",resizable";window.open(e,t,s).window.focus()},e.tableOrdering=function(o,n,r,i){"undefined"==typeof i&&(i=t.getElementById("adminForm")),i.filter_order.value=o,i.filter_order_Dir.value=n,e.submitform(r,i)},window.writeDynaList=function(e,o,n,r,i,a){var s,l,d,c="<select "+e+">",u=n==r,f=0;for(l in o)o.hasOwnProperty(l)&&(d=o[l],d[0]==n&&(s="",(u&&i==d[1]||!u&&0===f)&&(s='selected="selected"'),c+='<option value="'+d[1]+'" '+s+">"+d[2]+"</option>",f++));c+="</select>",a?a.innerHTML=c:t.writeln(c)},window.changeDynaList=function(e,o,n,r,i){for(var a,s,l,d,c=t.adminForm[e],u=n==r;c.firstChild;)c.removeChild(c.firstChild);a=0;for(s in o)o.hasOwnProperty(s)&&(l=o[s],l[0]==n&&(d=new Option,d.value=l[1],d.text=l[2],(u&&i==d.value||!u&&0===a)&&(d.selected=!0),c.options[a++]=d));c.length=a},window.radioGetCheckedValue=function(e){if(!e)return"";var t,o=e.length;if(void 0===o)return e.checked?e.value:"";for(t=0;o>t;t++)if(e[t].checked)return e[t].value;return""},window.getSelectedValue=function(e,o){var n=t[e][o],r=n.selectedIndex;return null!==r&&r>-1?n.options[r].value:null},window.listItemTask=function(t,o){return e.listItemTask(t,o)},e.listItemTask=function(e,o){var n,r=t.adminForm,i=0,a=r[e];if(!a)return!1;for(;;){if(n=r["cb"+i],!n)break;n.checked=!1,i++}return a.checked=!0,r.boxchecked.value=1,window.submitform(o),!1},window.submitbutton=function(t){e.submitbutton(t)},window.submitform=function(t){e.submitform(t)},window.saveorder=function(e,t){window.checkAll_button(e,t)},window.checkAll_button=function(o,n){n=n?n:"saveorder";var r,i;for(r=0;o>=r;r++){if(i=t.adminForm["cb"+r],!i)return void alert("You cannot change the order of items, as an item in the list is `Checked Out`");i.checked=!0}e.submitform(n)},e.loadingLayer=function(o,n){if(o=o||"show",n=n||t.body,"load"===o){var r=e.getOptions("system.paths")||{},i=r.root||"",a=t.createElement("div");a.id="loading-logo",a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.width="100%",a.style.height="100%",a.style.opacity="0.8",a.style.filter="alpha(opacity=80)",a.style.overflow="hidden",a.style["z-index"]="10000",a.style.display="none",a.style["background-color"]="#fff",a.style["background-image"]='url("'+i+'/media/jui/images/ajax-loader.gif")',a.style["background-position"]="center",a.style["background-repeat"]="no-repeat",a.style["background-attachment"]="fixed",n.appendChild(a)}else t.getElementById("loading-logo")||e.loadingLayer("load",n),t.getElementById("loading-logo").style.display="show"==o?"block":"none";return t.getElementById("loading-logo")},e.extend=function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);return e},e.request=function(t){t=e.extend({url:"",method:"GET",data:null,perform:!0},t),t.method=t.data?"POST":t.method.toUpperCase();try{var o=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0");if(o.open(t.method,t.url,!0),o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("X-Ajax-Engine","Joomla!"),"POST"===t.method){var n=e.getOptions("csrf.token","");n&&o.setRequestHeader("X-CSRF-Token",n),t.headers&&t.headers["Content-Type"]||o.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}if(t.headers)for(var r in t.headers)t.headers.hasOwnProperty(r)&&o.setRequestHeader(r,t.headers[r]);if(o.onreadystatechange=function(){4===o.readyState&&(200===o.status?t.onSuccess&&t.onSuccess.call(window,o.responseText,o):t.onError&&t.onError.call(window,o))},t.perform){if(t.onBefore&&t.onBefore.call(window,o)===!1)return o;o.send(t.data)}}catch(i){return window.console?console.log(i):null,!1}return o}}(Joomla,document); \ No newline at end of file +Joomla=window.Joomla||{};Joomla.editors=Joomla.editors||{};Joomla.editors.instances=Joomla.editors.instances||{}; +(function(c,g){c.submitform=function(a,b,e){b||(b=g.getElementById("adminForm"));a&&(b.task.value=a);b.noValidate=!e;e?b.hasAttribute("novalidate")&&b.removeAttribute("novalidate"):b.setAttribute("novalidate","");a=g.createElement("input");a.style.display="none";a.type="submit";b.appendChild(a).click();b.removeChild(a)};c.submitbutton=function(a){c.submitform(a)};c.JText={strings:{},_:function(a,b){var e=c.getOptions("joomla.jtext");e&&(this.load(e),c.loadOptions({"joomla.jtext":null}));b=void 0=== +b?"":b;a=a.toUpperCase();return void 0!==this.strings[a]?this.strings[a]:b},load:function(a){for(var b in a)a.hasOwnProperty(b)&&(this.strings[b.toUpperCase()]=a[b]);return this}};c.optionsStorage=c.optionsStorage||null;c.getOptions=function(a,b){c.optionsStorage||c.loadOptions();return void 0!==c.optionsStorage[a]?c.optionsStorage[a]:b};c.loadOptions=function(a){if(!a){for(var b=g.querySelectorAll(".joomla-script-options.new"),e,d,h=0,f=0,m=b.length;f<m;f++){d=b[f];e=d.text||d.textContent;if(e=JSON.parse(e))c.loadOptions(e), +h++;d.className=d.className.replace(" new"," loaded")}if(h)return}if(!c.optionsStorage)c.optionsStorage=a||{};else if(a)for(var k in a)a.hasOwnProperty(k)&&(c.optionsStorage[k]=a[k])};c.replaceTokens=function(a){if(/^[0-9A-F]{32}$/i.test(a)){var b=g.getElementsByTagName("input"),e;var d=0;for(e=b.length;d<e;d++){var c=b[d];"hidden"==c.type&&"1"==c.value&&32==c.name.length&&(c.name=a)}}};c.isEmail=function(a){return/^[\w.!#$%&\u201a\u00c4\u00f4*+\/=?^`{|}~-]+@[a-z0-9-]+(?:\.[a-z0-9-]{2,})+$/i.test(a)}; +c.checkAll=function(a,b){if(!a.form)return!1;b=b?b:"cb";var e=0,d;var c=0;for(d=a.form.elements.length;c<d;c++){var f=a.form.elements[c];f.type==a.type&&0===f.id.indexOf(b)&&(f.checked=a.checked,e+=f.checked?1:0)}a.form.boxchecked&&(a.form.boxchecked.value=e);return!0};c.renderMessages=function(a){c.removeMessages();var b=g.getElementById("system-message-container"),e;for(e in a)if(a.hasOwnProperty(e)){var d=a[e];var h=g.createElement("div");var f="notice"==e?"alert-info":"alert-"+e;f="message"== +e?"alert-success":f;h.className="alert "+f;f=g.createElement("button");f.setAttribute("type","button");f.setAttribute("data-dismiss","alert");f.className="close";f.innerHTML="\u00d7";h.appendChild(f);f=c.JText._(e);"undefined"!=typeof f&&(f=g.createElement("h4"),f.className="alert-heading",f.innerHTML=c.JText._(e),h.appendChild(f));for(f=d.length-1;0<=f;f--){var m=g.createElement("div");m.innerHTML=d[f];h.appendChild(m)}b.appendChild(h)}};c.removeMessages=function(){for(var a=g.getElementById("system-message-container");a.firstChild;)a.removeChild(a.firstChild); +a.style.display="none";a.offsetHeight;a.style.display=""};c.ajaxErrorsMessages=function(a,b,e){e={};if("parsererror"===b){a=a.responseText.trim();b=[];for(var d=a.length-1;0<=d;d--)b.unshift(["&#",a[d].charCodeAt(),";"].join(""));a=b.join("");e.error=[c.JText._("JLIB_JS_AJAX_ERROR_PARSE").replace("%s",a)]}else e.error="nocontent"===b?[c.JText._("JLIB_JS_AJAX_ERROR_NO_CONTENT")]:"timeout"===b?[c.JText._("JLIB_JS_AJAX_ERROR_TIMEOUT")]:"abort"===b?[c.JText._("JLIB_JS_AJAX_ERROR_CONNECTION_ABORT")]:a.responseJSON&& +a.responseJSON.message?[c.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",a.status)+" <em>"+a.responseJSON.message+"</em>"]:a.statusText?[c.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",a.status)+" <em>"+a.statusText+"</em>"]:[c.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",a.status)];return e};c.isChecked=function(a,b){"undefined"===typeof b&&(b=g.getElementById("adminForm"));b.boxchecked.value=a?parseInt(b.boxchecked.value)+1:parseInt(b.boxchecked.value)-1;if(b.elements["checkall-toggle"]){var e= +!0,d;var c=0;for(d=b.elements.length;c<d;c++){var f=b.elements[c];if("checkbox"==f.type&&"checkall-toggle"!=f.name&&!f.checked){e=!1;break}}b.elements["checkall-toggle"].checked=e}};c.popupWindow=function(a,b,e,d,c){window.open(a,b,"height="+d+",width="+e+",top="+(screen.height-d)/2+",left="+(screen.width-e)/2+",scrollbars="+c+",resizable").window.focus()};c.tableOrdering=function(a,b,e,d){"undefined"===typeof d&&(d=g.getElementById("adminForm"));d.filter_order.value=a;d.filter_order_Dir.value=b; +c.submitform(e,d)};window.writeDynaList=function(a,b,e,d,c,f){a="<select "+a+">";d=e==d;var h;for(h=0;h<b.length;h++){var k=b[h];if(k[0]==e){var l=d?c==k[1]:0===h;a+='<option value="'+k[1]+'"'+(l?' selected="selected"':"")+">"+k[2]+"</option>"}}a+="</select>";f?f.innerHTML=a:g.writeln(a)};window.changeDynaList=function(a,b,e,d,c){a=g.adminForm[a];d=e==d;for(var f,h,k,l;a.firstChild;)a.removeChild(a.firstChild);f=0;for(h in b)if(b.hasOwnProperty(h)&&(k=b[h],k[0]==e)){l=new Option;l.value=k[1];l.text= +k[2];if(d&&c==l.value||!d&&0===f)l.selected=!0;a.options[f++]=l}a.length=f};window.radioGetCheckedValue=function(a){if(!a)return"";var b=a.length,e;if(void 0===b)return a.checked?a.value:"";for(e=0;e<b;e++)if(a[e].checked)return a[e].value;return""};window.getSelectedValue=function(a,b){var e=g[a][b],d=e.selectedIndex;return null!==d&&-1<d?e.options[d].value:null};window.listItemTask=function(a,b){return c.listItemTask(a,b)};c.listItemTask=function(a,b){var e=g.adminForm,d=0,c=e[a];if(!c)return!1; +for(;;){var f=e["cb"+d];if(!f)break;f.checked=!1;d++}c.checked=!0;e.boxchecked.value=1;window.submitform(b);return!1};window.submitbutton=function(a){c.submitbutton(a)};window.submitform=function(a){c.submitform(a)};window.saveorder=function(a,b){window.checkAll_button(a,b)};window.checkAll_button=function(a,b){b=b?b:"saveorder";var e,d;for(e=0;e<=a;e++)if(d=g.adminForm["cb"+e])d.checked=!0;else{alert("You cannot change the order of items, as an item in the list is `Checked Out`");return}c.submitform(b)}; +c.loadingLayer=function(a,b){a=a||"show";b=b||g.body;if("load"===a){var e=(c.getOptions("system.paths")||{}).root||"",d=g.createElement("div");d.id="loading-logo";d.style.position="fixed";d.style.top="0";d.style.left="0";d.style.width="100%";d.style.height="100%";d.style.opacity="0.8";d.style.filter="alpha(opacity=80)";d.style.overflow="hidden";d.style["z-index"]="10000";d.style.display="none";d.style["background-color"]="#fff";d.style["background-image"]='url("'+e+'/media/jui/images/ajax-loader.gif")'; +d.style["background-position"]="center";d.style["background-repeat"]="no-repeat";d.style["background-attachment"]="fixed";b.appendChild(d)}else g.getElementById("loading-logo")||c.loadingLayer("load",b),g.getElementById("loading-logo").style.display="show"==a?"block":"none";return g.getElementById("loading-logo")};c.extend=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a};c.request=function(a){a=c.extend({url:"",method:"GET",data:null,perform:!0},a);a.method=a.data?"POST":a.method.toUpperCase(); +try{var b=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0");b.open(a.method,a.url,!0);b.setRequestHeader("X-Requested-With","XMLHttpRequest");b.setRequestHeader("X-Ajax-Engine","Joomla!");if("POST"===a.method){var e=c.getOptions("csrf.token","");e&&b.setRequestHeader("X-CSRF-Token",e);a.headers&&a.headers["Content-Type"]||b.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}if(a.headers)for(var d in a.headers)a.headers.hasOwnProperty(d)&&b.setRequestHeader(d, +a.headers[d]);b.onreadystatechange=function(){4===b.readyState&&(200===b.status?a.onSuccess&&a.onSuccess.call(window,b.responseText,b):a.onError&&a.onError.call(window,b))};if(a.perform){if(a.onBefore&&!1===a.onBefore.call(window,b))return b;b.send(a.data)}}catch(h){return window.console?console.log(h):null,!1}return b}})(Joomla,document); \ No newline at end of file From 5a9eaab41d5d28c3bc76ae8ee330f3534c85d79c Mon Sep 17 00:00:00 2001 From: Roberto Segura <roberto@phproberto.com> Date: Sun, 22 Apr 2018 17:35:09 +0200 Subject: [PATCH 222/255] [fix] publish/unpublish does not work with tables using null as default checked_out value (#20204) --- libraries/src/Table/Table.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/src/Table/Table.php b/libraries/src/Table/Table.php index 298ac440f4a8f..1fbb4034e1a11 100644 --- a/libraries/src/Table/Table.php +++ b/libraries/src/Table/Table.php @@ -1582,7 +1582,13 @@ public function publish($pks = null, $state = 1, $userId = 0) // Determine if there is checkin support for the table. if (property_exists($this, 'checked_out') || property_exists($this, 'checked_out_time')) { - $query->where('(' . $this->_db->quoteName($checkedOutField) . ' = 0 OR ' . $this->_db->quoteName($checkedOutField) . ' = ' . (int) $userId . ')'); + $query->where( + '(' + . $this->_db->quoteName($checkedOutField) . ' = 0' + . ' OR ' . $this->_db->quoteName($checkedOutField) . ' = ' . (int) $userId + . ' OR ' . $this->_db->quoteName($checkedOutField) . ' IS NULL' + . ')' + ); $checkin = true; } else From 693d3d776c04cd1797967007b9d131090b2faf6f Mon Sep 17 00:00:00 2001 From: Mansour Hussain Alnasser <alnassre.it@gmail.com> Date: Sun, 22 Apr 2018 18:35:42 +0300 Subject: [PATCH 223/255] Fix overwrite by .table-striped (#20180) Fix overwrite by administrator/templates/isis/css/template.css line 1787 table.table-striped tbody > tr:nth-child(odd) > td, table.table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } --- media/system/css/fields/calendar.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/system/css/fields/calendar.css b/media/system/css/fields/calendar.css index 474a5ab376ae6..b1a01abbbbcb1 100644 --- a/media/system/css/fields/calendar.css +++ b/media/system/css/fields/calendar.css @@ -83,7 +83,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" background-color: #f4f4f4; } -.calendar-container table tbody td.selected { /* Cell showing today date */ +.calendar-container table tbody td.day.selected { /* Cell showing today date */ background: #3071a9; color: #fff; border: 0; From 51ac0f7b05356061e93aae39e0c635841e1cc89e Mon Sep 17 00:00:00 2001 From: Mansour Hussain Alnasser <alnassre.it@gmail.com> Date: Sun, 22 Apr 2018 18:36:13 +0300 Subject: [PATCH 224/255] Fix overwrite by .table-striped (#20179) Fix overwrite by administrator/templates/isis/css/template.css line 1787 table.table-striped tbody > tr:nth-child(odd) > td, table.table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } --- media/system/css/fields/calendar-rtl.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/system/css/fields/calendar-rtl.css b/media/system/css/fields/calendar-rtl.css index 5cea9f21b4b7d..4537d12b1ca17 100644 --- a/media/system/css/fields/calendar-rtl.css +++ b/media/system/css/fields/calendar-rtl.css @@ -83,7 +83,7 @@ div.calendar-container table td.title { /* This holds the current "month, year" background-color: #f4f4f4; } -.calendar-container table tbody td.selected { /* Cell showing today date */ +.calendar-container table tbody td.day.selected { /* Cell showing today date */ background: #3071a9; color: #fff; border: 0; From dc4b2df9c436ebdc38c55ab9c5ec678cd15b0e85 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 22 Apr 2018 16:37:07 +0100 Subject: [PATCH 225/255] Tooltips not loading com_users (#20177) The edit profile form is not loading the bootstrap tooltip code. So any tooltip (not popovers) are displayed as html as seen in the screenshot below when TFA is enabled. This was spotted by @o2tsen and @sandewt while testing #20051 but as it is a bug effecting more than that PR I have created a new PR. (a pr should only fix one problem) --- components/com_users/views/profile/tmpl/edit.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/com_users/views/profile/tmpl/edit.php b/components/com_users/views/profile/tmpl/edit.php index b55734518450f..9239108d5bcd9 100644 --- a/components/com_users/views/profile/tmpl/edit.php +++ b/components/com_users/views/profile/tmpl/edit.php @@ -12,6 +12,8 @@ JHtml::_('behavior.keepalive'); JHtml::_('behavior.formvalidator'); JHtml::_('formbehavior.chosen', 'select'); +JHtml::_('bootstrap.tooltip'); + // Load user_profile plugin language $lang = JFactory::getLanguage(); From 28e46b1152aa69ade1a48da38a12a14377fb8d9e Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 22 Apr 2018 16:37:31 +0100 Subject: [PATCH 226/255] [a11y] Headings consecutive order Debug Console (#20167) > Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation. > Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example. Source (https://www.w3.org/WAI/tutorials/page-structure/headings/) The headings were probably chosen for cosmetic reasons and not structural reasons which they should have been This PR changes the heading in the debug console from h1 to h2 There is a very small visual change as a result but imho the benefits outweigh the small cost --- plugins/system/debug/debug.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/system/debug/debug.php b/plugins/system/debug/debug.php index 19a30c0910a1c..9f46cb9b68688 100644 --- a/plugins/system/debug/debug.php +++ b/plugins/system/debug/debug.php @@ -283,7 +283,7 @@ public function onAfterRespond() $html[] = '<div id="system-debug" class="profiler">'; - $html[] = '<h1>' . JText::_('PLG_DEBUG_TITLE') . '</h1>'; + $html[] = '<h2>' . JText::_('PLG_DEBUG_TITLE') . '</h2>'; if (JDEBUG) { From 034beb47df6e127081be9bbdd702678abc24fae9 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 22 Apr 2018 16:38:09 +0100 Subject: [PATCH 227/255] [a11y] Headings consecutive order (#20166) * [WIP] [a11y] Headings consecutive order > Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation. > Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a <h2> is not followed directly by an <h4>, for example. Source (https://www.w3.org/WAI/tutorials/page-structure/headings/) This PR changes the heading in the plugin and modules from h3 to h2 and in the template styles to h4 ### todo joomla.edit.item_title layout uses h4 but before I change it I need to check everywhere that it is being used * layout --- .../components/com_modules/views/module/tmpl/edit.php | 4 ++-- .../components/com_plugins/views/plugin/tmpl/edit.php | 4 ++-- .../components/com_templates/views/style/tmpl/edit.php | 4 ++-- layouts/joomla/edit/item_title.php | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/administrator/components/com_modules/views/module/tmpl/edit.php b/administrator/components/com_modules/views/module/tmpl/edit.php index ad9116b49d801..21f1b5dc8d788 100644 --- a/administrator/components/com_modules/views/module/tmpl/edit.php +++ b/administrator/components/com_modules/views/module/tmpl/edit.php @@ -174,7 +174,7 @@ <div class="span9"> <?php if ($this->item->xml) : ?> <?php if ($this->item->xml->description) : ?> - <h3> + <h2> <?php if ($this->item->xml) { @@ -185,7 +185,7 @@ echo JText::_('COM_MODULES_ERR_XML'); } ?> - </h3> + </h2> <div class="info-labels"> <span class="label hasTooltip" title="<?php echo JHtml::_('tooltipText', 'COM_MODULES_FIELD_CLIENT_ID_LABEL'); ?>"> <?php echo $this->item->client_id == 0 ? JText::_('JSITE') : JText::_('JADMINISTRATOR'); ?> diff --git a/administrator/components/com_plugins/views/plugin/tmpl/edit.php b/administrator/components/com_plugins/views/plugin/tmpl/edit.php index a10b3f04d3c3e..d33bf499166e7 100644 --- a/administrator/components/com_plugins/views/plugin/tmpl/edit.php +++ b/administrator/components/com_plugins/views/plugin/tmpl/edit.php @@ -51,7 +51,7 @@ <div class="span9"> <?php if ($this->item->xml) : ?> <?php if ($this->item->xml->description) : ?> - <h3> + <h2> <?php if ($this->item->xml) { @@ -62,7 +62,7 @@ echo JText::_('COM_PLUGINS_XML_ERR'); } ?> - </h3> + </h2> <div class="info-labels"> <span class="label hasTooltip" title="<?php echo JHtml::_('tooltipText', 'COM_PLUGINS_FIELD_FOLDER_LABEL', 'COM_PLUGINS_FIELD_FOLDER_DESC'); ?>"> <?php echo $this->form->getValue('folder'); ?> diff --git a/administrator/components/com_templates/views/style/tmpl/edit.php b/administrator/components/com_templates/views/style/tmpl/edit.php index ef5bc0c902e73..610ff986ec393 100644 --- a/administrator/components/com_templates/views/style/tmpl/edit.php +++ b/administrator/components/com_templates/views/style/tmpl/edit.php @@ -37,9 +37,9 @@ <div class="row-fluid"> <div class="span9"> - <h3> + <h2> <?php echo JText::_($this->item->template); ?> - </h3> + </h2> <div class="info-labels"> <span class="label hasTooltip" title="<?php echo JHtml::_('tooltipText', 'COM_TEMPLATES_FIELD_CLIENT_LABEL'); ?>"> <?php echo $this->item->client_id == 0 ? JText::_('JSITE') : JText::_('JADMINISTRATOR'); ?> diff --git a/layouts/joomla/edit/item_title.php b/layouts/joomla/edit/item_title.php index c438f4dafd7bf..562f3d654708f 100644 --- a/layouts/joomla/edit/item_title.php +++ b/layouts/joomla/edit/item_title.php @@ -16,9 +16,9 @@ ?> <?php if ($title) : ?> - <h4><?php echo $title; ?></h4> + <h2><?php echo $title; ?></h2> <?php endif; ?> <?php if ($name) : ?> - <h4><?php echo $name; ?></h4> + <h2><?php echo $name; ?></h2> <?php endif; From 4855be42cfa15a1e120db05360d115c0436debb8 Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc <github@joomdonation.com> Date: Sun, 22 Apr 2018 22:38:53 +0700 Subject: [PATCH 228/255] Fix typos in InstallerControllerUpdate (#20154) * Fix typos in InstallerControllerUpdate * Fix same error on other places. Thanks @Quy * Remove similar unnecessary code * Revert "Remove similar unnecessary code" This reverts commit 56410c0f59929d6a5afe220763fed6cfbcda6cdc. * One more * Revert "One more" This reverts commit aa1b101f26be135b7161b4d71aa466f7556e5cab. --- .../components/com_installer/controllers/update.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/components/com_installer/controllers/update.php b/administrator/components/com_installer/controllers/update.php index 87d8b06861fc0..e179e77c8d027 100644 --- a/administrator/components/com_installer/controllers/update.php +++ b/administrator/components/com_installer/controllers/update.php @@ -39,7 +39,7 @@ public function update() // Get the minimum stability. $component = JComponentHelper::getComponent('com_installer'); $params = $component->params; - $minimum_stability = $params->get('minimum_stability', JUpdater::STABILITY_STABLE, 'int'); + $minimum_stability = (int) $params->get('minimum_stability', JUpdater::STABILITY_STABLE); $model->update($uid, $minimum_stability); @@ -81,11 +81,11 @@ public function find() // Get the caching duration. $component = JComponentHelper::getComponent('com_installer'); $params = $component->params; - $cache_timeout = $params->get('cachetimeout', 6, 'int'); + $cache_timeout = (int) $params->get('cachetimeout', 6); $cache_timeout = 3600 * $cache_timeout; // Get the minimum stability. - $minimum_stability = $params->get('minimum_stability', JUpdater::STABILITY_STABLE, 'int'); + $minimum_stability = (int) $params->get('minimum_stability', JUpdater::STABILITY_STABLE); // Find updates. /** @var InstallerModelUpdate $model */ @@ -156,13 +156,13 @@ public function ajax() if ($cache_timeout == 0) { - $cache_timeout = $params->get('cachetimeout', 6, 'int'); + $cache_timeout = (int) $params->get('cachetimeout', 6); $cache_timeout = 3600 * $cache_timeout; } if ($minimum_stability < 0) { - $minimum_stability = $params->get('minimum_stability', JUpdater::STABILITY_STABLE, 'int'); + $minimum_stability = (int) $params->get('minimum_stability', JUpdater::STABILITY_STABLE); } /** @var InstallerModelUpdate $model */ From cb24280536c68cb0417d3699cd7a89de3afdec7f Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Sun, 22 Apr 2018 18:40:39 +0300 Subject: [PATCH 229/255] [com_contact] Don't hide contact filter form (#20126) * Update default_items.php * Correct implode order. * Codestyle * More codestyle --- .../views/category/tmpl/default_items.php | 122 ++++++++++-------- 1 file changed, 66 insertions(+), 56 deletions(-) diff --git a/components/com_contact/views/category/tmpl/default_items.php b/components/com_contact/views/category/tmpl/default_items.php index 61e31091df66e..3da52d52c757c 100644 --- a/components/com_contact/views/category/tmpl/default_items.php +++ b/components/com_contact/views/category/tmpl/default_items.php @@ -11,71 +11,86 @@ JHtml::_('behavior.core'); -$listOrder = $this->escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); ?> -<?php if (empty($this->items)) : ?> - <p> <?php echo JText::_('COM_CONTACT_NO_CONTACTS'); ?> </p> -<?php else : ?> - - <form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm"> +<form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm"> <?php if ($this->params->get('filter_field') || $this->params->get('show_pagination_limit')) : ?> - <fieldset class="filters btn-toolbar"> - <?php if ($this->params->get('filter_field')) : ?> - <div class="btn-group"> - <label class="filter-search-lbl element-invisible" for="filter-search"><span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span><?php echo JText::_('COM_CONTACT_FILTER_LABEL') . ' '; ?></label> - <input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_CONTACT_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo JText::_('COM_CONTACT_FILTER_SEARCH_DESC'); ?>" /> - </div> - <?php endif; ?> - - <?php if ($this->params->get('show_pagination_limit')) : ?> - <div class="btn-group pull-right"> - <label for="limit" class="element-invisible"> - <?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?> - </label> - <?php echo $this->pagination->getLimitBox(); ?> - </div> - <?php endif; ?> - </fieldset> + <fieldset class="filters btn-toolbar"> + <?php if ($this->params->get('filter_field')) : ?> + <div class="btn-group"> + <label class="filter-search-lbl element-invisible" for="filter-search"> + <span class="label label-warning"> + <?php echo JText::_('JUNPUBLISHED'); ?> + </span> + <?php echo JText::_('COM_CONTACT_FILTER_LABEL') . ' '; ?> + </label> + <input + type="text" + name="filter-search" + id="filter-search" + value="<?php echo $this->escape($this->state->get('list.filter')); ?>" + class="inputbox" + onchange="document.adminForm.submit();" + title="<?php echo JText::_('COM_CONTACT_FILTER_SEARCH_DESC'); ?>" + placeholder="<?php echo JText::_('COM_CONTACT_FILTER_SEARCH_DESC'); ?>" + /> + </div> + <?php endif; ?> + <?php if ($this->params->get('show_pagination_limit')) : ?> + <div class="btn-group pull-right"> + <label for="limit" class="element-invisible"> + <?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?> + </label> + <?php echo $this->pagination->getLimitBox(); ?> + </div> + <?php endif; ?> + </fieldset> <?php endif; ?> - + <?php if (empty($this->items)) : ?> + <p> + <?php echo JText::_('COM_CONTACT_NO_CONTACTS'); ?> + </p> + <?php else : ?> <ul class="category row-striped"> <?php foreach ($this->items as $i => $item) : ?> - <?php if (in_array($item->access, $this->user->getAuthorisedViewLevels())) : ?> <?php if ($this->items[$i]->published == 0) : ?> <li class="row-fluid system-unpublished cat-list-row<?php echo $i % 2; ?>"> <?php else : ?> <li class="row-fluid cat-list-row<?php echo $i % 2; ?>" > <?php endif; ?> - <?php if ($this->params->get('show_image_heading')) : ?> - <?php $contact_width = 7; ?> + <?php $contactWidth = 7; ?> <div class="span2 col-md-2"> <?php if ($this->items[$i]->image) : ?> <a href="<?php echo JRoute::_(ContactHelperRoute::getContactRoute($item->slug, $item->catid)); ?>"> - <?php echo JHtml::_('image', $this->items[$i]->image, JText::_('COM_CONTACT_IMAGE_DETAILS'), array('class' => 'contact-thumbnail img-thumbnail')); ?></a> + <?php echo JHtml::_( + 'image', + $this->items[$i]->image, + JText::_('COM_CONTACT_IMAGE_DETAILS'), + array('class' => 'contact-thumbnail img-thumbnail') + ); ?> + </a> <?php endif; ?> </div> <?php else : ?> - <?php $contact_width = 9; ?> + <?php $contactWidth = 9; ?> <?php endif; ?> - - <div class="list-title span<?php echo $contact_width; ?> col-md-<?php echo $contact_width; ?>"> + <div class="list-title span<?php echo $contactWidth; ?> col-md-<?php echo $contactWidth; ?>"> <a href="<?php echo JRoute::_(ContactHelperRoute::getContactRoute($item->slug, $item->catid)); ?>"> - <?php echo $item->name; ?></a> + <?php echo $item->name; ?> + </a> <?php if ($this->items[$i]->published == 0) : ?> - <span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span> + <span class="label label-warning"> + <?php echo JText::_('JUNPUBLISHED'); ?> + </span> <?php endif; ?> <?php echo $item->event->afterDisplayTitle; ?> - <?php echo $item->event->beforeDisplayContent; ?> - <?php if ($this->params->get('show_position_headings')) : ?> - <?php echo $item->con_position; ?><br /> + <?php echo $item->con_position; ?><br /> <?php endif; ?> <?php if ($this->params->get('show_email_headings')) : ?> - <?php echo $item->email_to; ?><br /> + <?php echo $item->email_to; ?><br /> <?php endif; ?> <?php $location = array(); ?> <?php if ($this->params->get('show_suburb_headings') && !empty($item->suburb)) : ?> @@ -87,42 +102,37 @@ <?php if ($this->params->get('show_country_headings') && !empty($item->country)) : ?> <?php $location[] = $item->country; ?> <?php endif; ?> - <?php echo implode($location, ', '); ?> + <?php echo implode(', ', $location); ?> </div> - <div class="span3 col-md-3"> <?php if ($this->params->get('show_telephone_headings') && !empty($item->telephone)) : ?> <?php echo JText::sprintf('COM_CONTACT_TELEPHONE_NUMBER', $item->telephone); ?><br /> <?php endif; ?> - <?php if ($this->params->get('show_mobile_headings') && !empty ($item->mobile)) : ?> - <?php echo JText::sprintf('COM_CONTACT_MOBILE_NUMBER', $item->mobile); ?><br /> + <?php echo JText::sprintf('COM_CONTACT_MOBILE_NUMBER', $item->mobile); ?><br /> <?php endif; ?> - - <?php if ($this->params->get('show_fax_headings') && !empty($item->fax) ) : ?> + <?php if ($this->params->get('show_fax_headings') && !empty($item->fax)) : ?> <?php echo JText::sprintf('COM_CONTACT_FAX_NUMBER', $item->fax); ?><br /> <?php endif; ?> </div> - <?php echo $item->event->afterDisplayContent; ?> </li> <?php endif; ?> <?php endforeach; ?> </ul> - - <?php if ($this->params->get('show_pagination', 2)) : ?> + <?php endif; ?> + <?php if ($this->params->get('show_pagination', 2)) : ?> <div class="pagination"> <?php if ($this->params->def('show_pagination_results', 1)) : ?> - <p class="counter"> - <?php echo $this->pagination->getPagesCounter(); ?> - </p> + <p class="counter"> + <?php echo $this->pagination->getPagesCounter(); ?> + </p> <?php endif; ?> <?php echo $this->pagination->getPagesLinks(); ?> </div> - <?php endif; ?> - <div> - <input type="hidden" name="filter_order" value="<?php echo $listOrder; ?>" /> - <input type="hidden" name="filter_order_Dir" value="<?php echo $listDirn; ?>" /> - </div> + <?php endif; ?> + <div> + <input type="hidden" name="filter_order" value="<?php echo $this->escape($this->state->get('list.ordering')); ?>" /> + <input type="hidden" name="filter_order_Dir" value="<?php echo $this->escape($this->state->get('list.direction')); ?>" /> + </div> </form> -<?php endif; ?> From f0aef969dfcc6cf4108254996dc6001272c831d2 Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Sun, 22 Apr 2018 18:41:11 +0300 Subject: [PATCH 230/255] Fix for JUserHelper::addUserToGroup() when user group title is a number. (#20091) * Update UserHelper.php * Update UserHelper.php --- libraries/src/User/UserHelper.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libraries/src/User/UserHelper.php b/libraries/src/User/UserHelper.php index f4450fc59acfa..a000478ae5f41 100644 --- a/libraries/src/User/UserHelper.php +++ b/libraries/src/User/UserHelper.php @@ -43,23 +43,22 @@ public static function addUserToGroup($userId, $groupId) // Add the user to the group if necessary. if (!in_array($groupId, $user->groups)) { - // Get the title of the group. + // Check whether the group exists. $db = \JFactory::getDbo(); $query = $db->getQuery(true) - ->select($db->quoteName('title')) + ->select($db->quoteName('id')) ->from($db->quoteName('#__usergroups')) ->where($db->quoteName('id') . ' = ' . (int) $groupId); $db->setQuery($query); - $title = $db->loadResult(); // If the group does not exist, return an exception. - if (!$title) + if ($db->loadResult() === null) { throw new \RuntimeException('Access Usergroup Invalid'); } // Add the group data to the user object. - $user->groups[$title] = $groupId; + $user->groups[$groupId] = $groupId; // Store the user object. $user->save(); From e05d73338d93dd5f5c511262ec734eab4d41d2d0 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Sun, 22 Apr 2018 08:41:36 -0700 Subject: [PATCH 231/255] Fix count() in PHP 7.2 (#20044) --- libraries/src/Installer/Adapter/FileAdapter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Installer/Adapter/FileAdapter.php b/libraries/src/Installer/Adapter/FileAdapter.php index 7b71b1bd25d1f..2eefbcdc5f10f 100644 --- a/libraries/src/Installer/Adapter/FileAdapter.php +++ b/libraries/src/Installer/Adapter/FileAdapter.php @@ -448,7 +448,7 @@ public function uninstall($id) { $files = \JFolder::files($folder); - if (!count($files)) + if ($files !== false && !count($files)) { \JFolder::delete($folder); } From 0b349eb4a1820b6fcd564c5796e2ca7a868baa9d Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sun, 22 Apr 2018 17:42:38 +0200 Subject: [PATCH 232/255] [com_content][Multilanguage] - remove duplicated queries (#19683) * [com_content][Multilanguage] - remove duplicated queries * cs * add $db->qn() * removed () --- .../com_content/helpers/association.php | 60 ++++++++++++------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/components/com_content/helpers/association.php b/components/com_content/helpers/association.php index 462dc0593fcb9..f823bacea2f1c 100644 --- a/components/com_content/helpers/association.php +++ b/components/com_content/helpers/association.php @@ -20,6 +20,14 @@ */ abstract class ContentHelperAssociation extends CategoryHelperAssociation { + /** + * Cached array of the content item id. + * + * @var array + * @since __DEPLOY_VERSION__ + */ + protected static $filters = array(); + /** * Method to get the associations for a given item * @@ -42,35 +50,45 @@ public static function getAssociations($id = 0, $view = null) { if ($id) { - $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $id); - - $return = array(); - - foreach ($associations as $tag => $item) + if (!isset(static::$filters[$id])) { - if ($item->language != JFactory::getLanguage()->getTag()) - { - $arrId = explode(':', $item->id); - $assocId = $arrId[0]; + $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $id); - $db = JFactory::getDbo(); - $query = $db->getQuery(true) - ->select($db->qn('state')) - ->from($db->qn('#__content')) - ->where($db->qn('id') . ' = ' . (int) ($assocId)) - ->where('access IN (' . $groups . ')'); - $db->setQuery($query); + $return = array(); - $result = (int) $db->loadResult(); - - if ($result > 0) + foreach ($associations as $tag => $item) + { + if ($item->language != JFactory::getLanguage()->getTag()) { - $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language); + $arrId = explode(':', $item->id); + $assocId = $arrId[0]; + + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->select($db->qn('state')) + ->from($db->qn('#__content')) + ->where($db->qn('id') . ' = ' . (int) $assocId) + ->where($db->qn('access') . ' IN (' . $groups . ')'); + $db->setQuery($query); + + $result = (int) $db->loadResult(); + + if ($result > 0) + { + $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language); + } } + + static::$filters[$id] = $return; + } + + if (count($associations) === 0) + { + static::$filters[$id] = array(); } } - return $return; + return static::$filters[$id]; } } From 49e681fc66ecdd76388fa9e9cb3a92986c075e69 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Mon, 23 Apr 2018 00:47:36 +0900 Subject: [PATCH 233/255] Make CodeMirror work in repeatable subforms (#12542) * One function to initialize any and all CodeMirror instances rather than individual functions to initialize one-by-one. Call on page load and also on subform-row-add * Minor js changes * Codemirror fullscreen modifier message (do we still need this?) --- .../layouts/editors/codemirror/element.php | 20 ++++++++++--------- .../layouts/editors/codemirror/init.php | 20 ++++++++++++++++++- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/element.php b/plugins/editors/codemirror/layouts/editors/codemirror/element.php index 0a87c9ca22f52..0a719b8e0330d 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/element.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/element.php @@ -20,17 +20,19 @@ $buttons = $displayData->buttons; $modifier = $params->get('fullScreenMod', '') !== '' ? implode($params->get('fullScreenMod', ''), ' + ') . ' + ' : ''; -JFactory::getDocument()->addScriptDeclaration(' - jQuery(function () { - var id = ' . json_encode($id) . ', options = ' . json_encode($options) . '; - /** Register Editor */ - Joomla.editors.instances[id] = CodeMirror.fromTextArea(document.getElementById(id), options); - }); -'); ?> + <p class="label"> <?php echo JText::sprintf('PLG_CODEMIRROR_TOGGLE_FULL_SCREEN', $modifier, $params->get('fullScreen', 'F10')); ?> </p> -<?php echo '<textarea name="', $name, '" id="', $id, '" cols="', $cols, '" rows="', $rows, '">', $content, '</textarea>'; ?> -<?php echo $displayData->buttons; ?> +<?php + echo '<textarea class="codemirror-source" name="', $name, + '" id="', $id, + '" cols="', $cols, + '" rows="', $rows, + '" data-options="', htmlspecialchars(json_encode($options)), + '">', $content, '</textarea>'; +?> + +<?php echo $buttons; ?> diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/init.php b/plugins/editors/codemirror/layouts/editors/codemirror/init.php index 5215c3c8d441f..0a85ac97f4e37 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/init.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/init.php @@ -61,7 +61,7 @@ // jQuery's ready function. $(function () { // Some browsers do something weird with the fieldset which doesn't work well with CodeMirror. Fix it. - $(editor.getTextArea()).parent('fieldset').css('min-width', 0); + $(editor.getWrapperElement()).parent('fieldset').css('min-width', 0); // Listen for Bootstrap's 'shown' event. If this editor was in a hidden element when created, it may need to be refreshed. $(document.body).on("shown shown.bs.tab shown.bs.modal", function () { editor.refresh(); }); }); @@ -80,6 +80,24 @@ function makeMarker() marker.className = "CodeMirror-markergutter-mark"; return marker; } + + // Initialize any CodeMirrors on page load and when a subform is added + $(function ($) { + initCodeMirror(); + $('body').on('subform-row-add', initCodeMirror); + }); + + function initCodeMirror(event, container) + { + container = container || document; + $(container).find('textarea.codemirror-source').each(function () { + var input = $(this).removeClass('codemirror-source'); + var id = input.prop('id'); + + Joomla.editors.instances[id] = cm.fromTextArea(this, input.data('options')); + }); + } + }(CodeMirror, jQuery)); JS ); From c12c682cce1a5f1a856ea322a43fdf0272cadf65 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 29 Apr 2018 23:42:49 +0900 Subject: [PATCH 234/255] Call the popover init function when creating new subform rows. (#20222) * Call the popover init function when creating new subform rows. * Update teh popover test --- libraries/cms/html/bootstrap.php | 6 +++++- tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/cms/html/bootstrap.php b/libraries/cms/html/bootstrap.php index 8cae47d06c000..8c06b15ab5af8 100644 --- a/libraries/cms/html/bootstrap.php +++ b/libraries/cms/html/bootstrap.php @@ -364,9 +364,13 @@ public static function popover($selector = '.hasPopover', $params = array()) $options = JHtml::getJSObject($opt); + $initFunction = 'function initPopovers (event, container) { ' . + '$(container || document).find(' . json_encode($selector) . ').popover(' . $options . ');' . + '}'; + // Attach the popover to the document JFactory::getDocument()->addScriptDeclaration( - 'jQuery(function($){ $(' . json_encode($selector) . ').popover(' . $options . '); });' + 'jQuery(function($){ initPopovers(); $("body").on("subform-row-add", initPopovers); ' . $initFunction . ' });' ); static::$loaded[__METHOD__][$selector] = true; diff --git a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php index 7eb7c0a9f9574..c7f76c7aaea8b 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php @@ -328,7 +328,7 @@ public function testPopover() $this->assertEquals( $document->_script['text/javascript'], - 'jQuery(function($){ $(".hasPopover").popover({"html": true,"trigger": "hover focus","container": "body"}); });', + 'jQuery(function($){ initPopovers(); $("body").on("subform-row-add", initPopovers); function initPopovers (event, container) { $(container || document).find(".hasPopover").popover({"html": true,"trigger": "hover focus","container": "body"});} });', 'Verify that the popover script is initialised' ); } From 2bf24f26c903adca4954597da72465b1a3dd1d37 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 29 Apr 2018 15:43:19 +0100 Subject: [PATCH 235/255] [a11y] post-installation message in control panel (#20220) > Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation. > Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example. Source (https://www.w3.org/WAI/tutorials/page-structure/headings/) The heading was probably chosen for cosmetic reasons and not structural reasons which they should have been This PR changes the heading for the post-installtion message i the control panel from h4 to h3 There is a very small visual change as a result but imho the benefits outweigh the small cost --- .../components/com_cpanel/views/cpanel/tmpl/default.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_cpanel/views/cpanel/tmpl/default.php b/administrator/components/com_cpanel/views/cpanel/tmpl/default.php index 7523a689d5f1d..9d3551d32bfcb 100644 --- a/administrator/components/com_cpanel/views/cpanel/tmpl/default.php +++ b/administrator/components/com_cpanel/views/cpanel/tmpl/default.php @@ -32,9 +32,9 @@ <?php if ($user->authorise('core.manage', 'com_postinstall') && $this->postinstall_message_count) : ?> <div class="row-fluid"> <div class="alert alert-info"> - <h4> + <h3> <?php echo JText::_('COM_CPANEL_MESSAGES_TITLE'); ?> - </h4> + </h3> <p> <?php echo JText::_('COM_CPANEL_MESSAGES_BODY_NOCLOSE'); ?> </p> From 8b480c71245190854725a2c0bbccbe563f2f3187 Mon Sep 17 00:00:00 2001 From: Guido De Gobbis <10517822+degobbis@users.noreply.github.com> Date: Sun, 29 Apr 2018 16:44:12 +0200 Subject: [PATCH 236/255] Solves issue #20195 (#20214) --- components/com_contact/views/contact/view.html.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/components/com_contact/views/contact/view.html.php b/components/com_contact/views/contact/view.html.php index 4ad6a873a558e..eeb64f1f70bd5 100644 --- a/components/com_contact/views/contact/view.html.php +++ b/components/com_contact/views/contact/view.html.php @@ -72,10 +72,13 @@ public function display($tpl = null) $item = $this->get('Item'); $state = $this->get('State'); - if (empty($item->catid)) - { - $app->setUserState('com_contact.contact.data', array('catid' => $item->catid)); - } + // Get submitted values + $data = $app->getUserState('com_contact.contact.data', array()); + + // Add catid for selecting custom fields + $data['catid'] = $item->catid; + + $app->setUserState('com_contact.contact.data', $data); $this->form = $this->get('Form'); From 3400df5589284040da0cd51be734019a6f16c86d Mon Sep 17 00:00:00 2001 From: Nicola Galgano <optimus4joomla@gmail.com> Date: Sun, 29 Apr 2018 16:45:46 +0200 Subject: [PATCH 237/255] [plugin][search][content] give priority on result when title is matched (#20197) * [plugin][search][content] give priority on result when title is matched * Missed comma * Add relevance weighting according to number of words * Relevance by number of words in title only, removed introtext relevance * Fix order string concatenation --- plugins/search/content/content.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plugins/search/content/content.php b/plugins/search/content/content.php index 6734c6ae129cb..7369712412aaf 100644 --- a/plugins/search/content/content.php +++ b/plugins/search/content/content.php @@ -91,6 +91,8 @@ public function onContentSearch($text, $phrase = '', $ordering = '', $areas = nu $wheres2[] = 'a.metakey LIKE ' . $text; $wheres2[] = 'a.metadesc LIKE ' . $text; + $relevance[] = ' CASE WHEN ' . $wheres2[0] . ' THEN 5 ELSE 0 END '; + // Join over Fields. $subQuery = $db->getQuery(true); $subQuery->select("cfv.item_id") @@ -146,6 +148,8 @@ public function onContentSearch($text, $phrase = '', $ordering = '', $areas = nu $wheres2[] = 'LOWER(a.metakey) LIKE LOWER(' . $word . ')'; $wheres2[] = 'LOWER(a.metadesc) LIKE LOWER(' . $word . ')'; + $relevance[] = ' CASE WHEN ' . $wheres2[0] . ' THEN 5 ELSE 0 END '; + if ($phrase === 'all') { // Join over Fields. @@ -274,6 +278,12 @@ public function onContentSearch($text, $phrase = '', $ordering = '', $areas = nu $case_when1 .= ' ELSE '; $case_when1 .= $c_id . ' END as catslug'; + if (!empty($relevance)) + { + $query->select(implode(' + ', $relevance) . ' AS relevance'); + $order = ' relevance DESC, ' . $order; + } + $query->select('a.title AS title, a.metadesc, a.metakey, a.created AS created, a.language, a.catid') ->select($query->concatenate(array('a.introtext', 'a.fulltext')) . ' AS text') ->select('c.title AS section, ' . $case_when . ',' . $case_when1 . ', ' . '\'2\' AS browsernav') @@ -342,6 +352,12 @@ public function onContentSearch($text, $phrase = '', $ordering = '', $areas = nu $case_when1 .= ' ELSE '; $case_when1 .= $c_id . ' END as catslug'; + if (!empty($relevance)) + { + $query->select(implode(' + ', $relevance) . ' AS relevance'); + $order = ' relevance DESC, ' . $order; + } + $query->select( 'a.title AS title, a.metadesc, a.metakey, a.created AS created, ' . $query->concatenate(array('a.introtext', 'a.fulltext')) . ' AS text,' From 9ea71060ef66fc44989b17bce4e9748355da4853 Mon Sep 17 00:00:00 2001 From: Brian Teeman <brian@teeman.net> Date: Sun, 29 Apr 2018 15:46:32 +0100 Subject: [PATCH 238/255] You've Got Mail (#20162) * You've Got Mail Since 2003 the internet has changed. We no longer get a message to say that we have a message. Instead we just give you the message. You probably never use the messages component (especially for private message to a specific user) as they are the equivalent of https://www.youtube.com/watch?v=gFBLiHpkcOk The Joomla com_messages component is used in two instances 1. Notification of a new article 2. Sending a message to another user ### Current email for Notification of a new article Subject: A new private message has arrived from [sitename] Body: > Please log in to [link] to read your message. ### New email for Notification of a new article Subject: New message from [user] at [sitename] Body: > New Article A new Article has been submitted by 'user' entitled 'blog post'. > Please log in to [link] to read your message. ### Current email when sending a message to another user Subject: A new private message has arrived from [sitename] Body: > Please log in to [link] to read your message. ### New email when sending a message to another user Subject: New message from [user] at [sitename] Body: > [subject] [message] [login link] ## Backwards Compatibility No issues. The message contains the old login message PLUS the content of the message. So if you were using this message in a custom workflow there is no change required to that workflow * subj * cs * add new string and mark existing string for deprecation --- .../components/com_messages/models/message.php | 10 +++++++--- administrator/language/en-GB/en-GB.com_messages.ini | 2 ++ language/en-GB/en-GB.com_messages.ini | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_messages/models/message.php b/administrator/components/com_messages/models/message.php index f3f59da666c3e..5a19d8511ac8e 100644 --- a/administrator/components/com_messages/models/message.php +++ b/administrator/components/com_messages/models/message.php @@ -359,9 +359,13 @@ public function save($data) // Build the email subject and message $sitename = JFactory::getApplication()->get('sitename'); + $fromName = $fromUser->get('name'); $siteURL = JUri::root() . 'administrator/index.php?option=com_messages&view=message&message_id=' . $table->message_id; - $subject = sprintf($lang->_('COM_MESSAGES_NEW_MESSAGE_ARRIVED'), $sitename); - $msg = sprintf($lang->_('COM_MESSAGES_PLEASE_LOGIN'), $siteURL); + $subject = html_entity_decode($table->subject, ENT_COMPAT, 'UTF-8'); + $message = strip_tags(html_entity_decode($table->message, ENT_COMPAT, 'UTF-8')); + + $subj = sprintf($lang->_('COM_MESSAGES_NEW_MESSAGE'), $fromName, $sitename); + $msg = $subject . "\n\n" . $message . "\n\n" . sprintf($lang->_('COM_MESSAGES_PLEASE_LOGIN'), $siteURL); // Send the email $mailer = JFactory::getMailer(); @@ -396,7 +400,7 @@ public function save($data) return true; } - $mailer->setSubject($subject); + $mailer->setSubject($subj); $mailer->setBody($msg); // The Send method will raise an error via JError on a failure, we do not need to check it ourselves here diff --git a/administrator/language/en-GB/en-GB.com_messages.ini b/administrator/language/en-GB/en-GB.com_messages.ini index 70cf935792e99..210960ed434ab 100644 --- a/administrator/language/en-GB/en-GB.com_messages.ini +++ b/administrator/language/en-GB/en-GB.com_messages.ini @@ -54,6 +54,8 @@ COM_MESSAGES_N_ITEMS_TRASHED="%d messages trashed." COM_MESSAGES_N_ITEMS_TRASHED_1="Message trashed." COM_MESSAGES_N_ITEMS_UNPUBLISHED="%d messages marked as unread." COM_MESSAGES_N_ITEMS_UNPUBLISHED_1="Message marked as unread." +COM_MESSAGES_NEW_MESSAGE="New Message from %1$s at %2$s" +; The following string is deprecated and will be removed in Joomla 4.0 COM_MESSAGES_NEW_MESSAGE_ARRIVED="A new private message has arrived from %s" COM_MESSAGES_NO_ITEM_SELECTED="No messages selected." COM_MESSAGES_OPTION_READ="Read" diff --git a/language/en-GB/en-GB.com_messages.ini b/language/en-GB/en-GB.com_messages.ini index 5af88cb28186f..f59d5fea1baf5 100644 --- a/language/en-GB/en-GB.com_messages.ini +++ b/language/en-GB/en-GB.com_messages.ini @@ -4,5 +4,7 @@ ; Note : All ini files need to be saved as UTF-8 COM_MESSAGES_ERR_SEND_FAILED="The user has locked their mailbox. Message failed." +COM_MESSAGES_NEW_MESSAGE="New Message from %1$s at %2$s" +; The following string is deprecated and will be removed in Joomla 4.0 COM_MESSAGES_NEW_MESSAGE_ARRIVED="A new private message has arrived from %s" COM_MESSAGES_PLEASE_LOGIN="Please log in to %s to read your message." From ad4bc009132dd48973191dfe1ec96547a351b8c6 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 29 Apr 2018 23:48:05 +0900 Subject: [PATCH 239/255] Support Codemirror's included key mappings (#19833) * Support Codemirror's included key mappings * Use a list instead of radio buttons --- .../en-GB/en-GB.plg_editors_codemirror.ini | 5 + media/editors/codemirror/lib/addons.js | 5231 ----------------- media/editors/codemirror/lib/addons.min.js | 5 +- plugins/editors/codemirror/codemirror.php | 29 +- plugins/editors/codemirror/codemirror.xml | 17 +- .../layouts/editors/codemirror/init.php | 36 +- 6 files changed, 60 insertions(+), 5263 deletions(-) diff --git a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini index 060bc6cd81487..37b69e57b2071 100644 --- a/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini +++ b/administrator/language/en-GB/en-GB.plg_editors_codemirror.ini @@ -25,6 +25,11 @@ PLG_CODEMIRROR_FIELD_FULLSCREEN_MOD_DESC="Select any modifier keys to use with t PLG_CODEMIRROR_FIELD_FULLSCREEN_MOD_LABEL="Use Modifiers" PLG_CODEMIRROR_FIELD_HIGHLIGHT_MATCH_COLOR_DESC="The background colour to use for highlighting matching tags. Will be displayed at 50% opacity." PLG_CODEMIRROR_FIELD_HIGHLIGHT_MATCH_COLOR_LABEL="Matching Tag Colour" +PLG_CODEMIRROR_FIELD_KEYMAP_DESC="Make CodeMirror work like other popular editors." +PLG_CODEMIRROR_FIELD_KEYMAP_EMACS="Emacs" +PLG_CODEMIRROR_FIELD_KEYMAP_LABEL="Key Map" +PLG_CODEMIRROR_FIELD_KEYMAP_SUBLIME="Sublime Text" +PLG_CODEMIRROR_FIELD_KEYMAP_VIM="Vim" PLG_CODEMIRROR_FIELD_LINE_HEIGHT_DESC="The height of one line of text. This is in ems, meaning that 1.0 is equal to the font size and 2.0 is equal to 2x the font size." PLG_CODEMIRROR_FIELD_LINE_HEIGHT_LABEL="Line Height (em)" PLG_CODEMIRROR_FIELD_LINENUMBERS_DESC="Display line numbers." diff --git a/media/editors/codemirror/lib/addons.js b/media/editors/codemirror/lib/addons.js index 6a444edd18c4c..a1c737eb02825 100644 --- a/media/editors/codemirror/lib/addons.js +++ b/media/editors/codemirror/lib/addons.js @@ -2436,5237 +2436,6 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE -/** - * Supported keybindings: - * Too many to list. Refer to defaultKeyMap below. - * - * Supported Ex commands: - * Refer to defaultExCommandMap below. - * - * Registers: unnamed, -, a-z, A-Z, 0-9 - * (Does not respect the special case for number registers when delete - * operator is made with these commands: %, (, ), , /, ?, n, N, {, } ) - * TODO: Implement the remaining registers. - * - * Marks: a-z, A-Z, and 0-9 - * TODO: Implement the remaining special marks. They have more complex - * behavior. - * - * Events: - * 'vim-mode-change' - raised on the editor anytime the current mode changes, - * Event object: {mode: "visual", subMode: "linewise"} - * - * Code structure: - * 1. Default keymap - * 2. Variable declarations and short basic helpers - * 3. Instance (External API) implementation - * 4. Internal state tracking objects (input state, counter) implementation - * and instantiation - * 5. Key handler (the main command dispatcher) implementation - * 6. Motion, operator, and action implementations - * 7. Helper functions for the key handler, motions, operators, and actions - * 8. Set up Vim to work as a keymap for CodeMirror. - * 9. Ex command implementations. - */ - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../lib/codemirror"), require("../addon/search/searchcursor"), require("../addon/dialog/dialog"), require("../addon/edit/matchbrackets.js")); - else if (typeof define == "function" && define.amd) // AMD - define(["../lib/codemirror", "../addon/search/searchcursor", "../addon/dialog/dialog", "../addon/edit/matchbrackets"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - 'use strict'; - - var defaultKeymap = [ - // Key to key mapping. This goes first to make it possible to override - // existing mappings. - { keys: '<Left>', type: 'keyToKey', toKeys: 'h' }, - { keys: '<Right>', type: 'keyToKey', toKeys: 'l' }, - { keys: '<Up>', type: 'keyToKey', toKeys: 'k' }, - { keys: '<Down>', type: 'keyToKey', toKeys: 'j' }, - { keys: '<Space>', type: 'keyToKey', toKeys: 'l' }, - { keys: '<BS>', type: 'keyToKey', toKeys: 'h', context: 'normal'}, - { keys: '<C-Space>', type: 'keyToKey', toKeys: 'W' }, - { keys: '<C-BS>', type: 'keyToKey', toKeys: 'B', context: 'normal' }, - { keys: '<S-Space>', type: 'keyToKey', toKeys: 'w' }, - { keys: '<S-BS>', type: 'keyToKey', toKeys: 'b', context: 'normal' }, - { keys: '<C-n>', type: 'keyToKey', toKeys: 'j' }, - { keys: '<C-p>', type: 'keyToKey', toKeys: 'k' }, - { keys: '<C-[>', type: 'keyToKey', toKeys: '<Esc>' }, - { keys: '<C-c>', type: 'keyToKey', toKeys: '<Esc>' }, - { keys: '<C-[>', type: 'keyToKey', toKeys: '<Esc>', context: 'insert' }, - { keys: '<C-c>', type: 'keyToKey', toKeys: '<Esc>', context: 'insert' }, - { keys: 's', type: 'keyToKey', toKeys: 'cl', context: 'normal' }, - { keys: 's', type: 'keyToKey', toKeys: 'c', context: 'visual'}, - { keys: 'S', type: 'keyToKey', toKeys: 'cc', context: 'normal' }, - { keys: 'S', type: 'keyToKey', toKeys: 'VdO', context: 'visual' }, - { keys: '<Home>', type: 'keyToKey', toKeys: '0' }, - { keys: '<End>', type: 'keyToKey', toKeys: '$' }, - { keys: '<PageUp>', type: 'keyToKey', toKeys: '<C-b>' }, - { keys: '<PageDown>', type: 'keyToKey', toKeys: '<C-f>' }, - { keys: '<CR>', type: 'keyToKey', toKeys: 'j^', context: 'normal' }, - { keys: '<Ins>', type: 'action', action: 'toggleOverwrite', context: 'insert' }, - // Motions - { keys: 'H', type: 'motion', motion: 'moveToTopLine', motionArgs: { linewise: true, toJumplist: true }}, - { keys: 'M', type: 'motion', motion: 'moveToMiddleLine', motionArgs: { linewise: true, toJumplist: true }}, - { keys: 'L', type: 'motion', motion: 'moveToBottomLine', motionArgs: { linewise: true, toJumplist: true }}, - { keys: 'h', type: 'motion', motion: 'moveByCharacters', motionArgs: { forward: false }}, - { keys: 'l', type: 'motion', motion: 'moveByCharacters', motionArgs: { forward: true }}, - { keys: 'j', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, linewise: true }}, - { keys: 'k', type: 'motion', motion: 'moveByLines', motionArgs: { forward: false, linewise: true }}, - { keys: 'gj', type: 'motion', motion: 'moveByDisplayLines', motionArgs: { forward: true }}, - { keys: 'gk', type: 'motion', motion: 'moveByDisplayLines', motionArgs: { forward: false }}, - { keys: 'w', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: false }}, - { keys: 'W', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: false, bigWord: true }}, - { keys: 'e', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: true, inclusive: true }}, - { keys: 'E', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: true, bigWord: true, inclusive: true }}, - { keys: 'b', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false }}, - { keys: 'B', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false, bigWord: true }}, - { keys: 'ge', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: true, inclusive: true }}, - { keys: 'gE', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: true, bigWord: true, inclusive: true }}, - { keys: '{', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: false, toJumplist: true }}, - { keys: '}', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: true, toJumplist: true }}, - { keys: '<C-f>', type: 'motion', motion: 'moveByPage', motionArgs: { forward: true }}, - { keys: '<C-b>', type: 'motion', motion: 'moveByPage', motionArgs: { forward: false }}, - { keys: '<C-d>', type: 'motion', motion: 'moveByScroll', motionArgs: { forward: true, explicitRepeat: true }}, - { keys: '<C-u>', type: 'motion', motion: 'moveByScroll', motionArgs: { forward: false, explicitRepeat: true }}, - { keys: 'gg', type: 'motion', motion: 'moveToLineOrEdgeOfDocument', motionArgs: { forward: false, explicitRepeat: true, linewise: true, toJumplist: true }}, - { keys: 'G', type: 'motion', motion: 'moveToLineOrEdgeOfDocument', motionArgs: { forward: true, explicitRepeat: true, linewise: true, toJumplist: true }}, - { keys: '0', type: 'motion', motion: 'moveToStartOfLine' }, - { keys: '^', type: 'motion', motion: 'moveToFirstNonWhiteSpaceCharacter' }, - { keys: '+', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, toFirstChar:true }}, - { keys: '-', type: 'motion', motion: 'moveByLines', motionArgs: { forward: false, toFirstChar:true }}, - { keys: '_', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, toFirstChar:true, repeatOffset:-1 }}, - { keys: '$', type: 'motion', motion: 'moveToEol', motionArgs: { inclusive: true }}, - { keys: '%', type: 'motion', motion: 'moveToMatchedSymbol', motionArgs: { inclusive: true, toJumplist: true }}, - { keys: 'f<character>', type: 'motion', motion: 'moveToCharacter', motionArgs: { forward: true , inclusive: true }}, - { keys: 'F<character>', type: 'motion', motion: 'moveToCharacter', motionArgs: { forward: false }}, - { keys: 't<character>', type: 'motion', motion: 'moveTillCharacter', motionArgs: { forward: true, inclusive: true }}, - { keys: 'T<character>', type: 'motion', motion: 'moveTillCharacter', motionArgs: { forward: false }}, - { keys: ';', type: 'motion', motion: 'repeatLastCharacterSearch', motionArgs: { forward: true }}, - { keys: ',', type: 'motion', motion: 'repeatLastCharacterSearch', motionArgs: { forward: false }}, - { keys: '\'<character>', type: 'motion', motion: 'goToMark', motionArgs: {toJumplist: true, linewise: true}}, - { keys: '`<character>', type: 'motion', motion: 'goToMark', motionArgs: {toJumplist: true}}, - { keys: ']`', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: true } }, - { keys: '[`', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: false } }, - { keys: ']\'', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: true, linewise: true } }, - { keys: '[\'', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: false, linewise: true } }, - // the next two aren't motions but must come before more general motion declarations - { keys: ']p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: true, isEdit: true, matchIndent: true}}, - { keys: '[p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: false, isEdit: true, matchIndent: true}}, - { keys: ']<character>', type: 'motion', motion: 'moveToSymbol', motionArgs: { forward: true, toJumplist: true}}, - { keys: '[<character>', type: 'motion', motion: 'moveToSymbol', motionArgs: { forward: false, toJumplist: true}}, - { keys: '|', type: 'motion', motion: 'moveToColumn'}, - { keys: 'o', type: 'motion', motion: 'moveToOtherHighlightedEnd', context:'visual'}, - { keys: 'O', type: 'motion', motion: 'moveToOtherHighlightedEnd', motionArgs: {sameLine: true}, context:'visual'}, - // Operators - { keys: 'd', type: 'operator', operator: 'delete' }, - { keys: 'y', type: 'operator', operator: 'yank' }, - { keys: 'c', type: 'operator', operator: 'change' }, - { keys: '>', type: 'operator', operator: 'indent', operatorArgs: { indentRight: true }}, - { keys: '<', type: 'operator', operator: 'indent', operatorArgs: { indentRight: false }}, - { keys: 'g~', type: 'operator', operator: 'changeCase' }, - { keys: 'gu', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: true}, isEdit: true }, - { keys: 'gU', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: false}, isEdit: true }, - { keys: 'n', type: 'motion', motion: 'findNext', motionArgs: { forward: true, toJumplist: true }}, - { keys: 'N', type: 'motion', motion: 'findNext', motionArgs: { forward: false, toJumplist: true }}, - // Operator-Motion dual commands - { keys: 'x', type: 'operatorMotion', operator: 'delete', motion: 'moveByCharacters', motionArgs: { forward: true }, operatorMotionArgs: { visualLine: false }}, - { keys: 'X', type: 'operatorMotion', operator: 'delete', motion: 'moveByCharacters', motionArgs: { forward: false }, operatorMotionArgs: { visualLine: true }}, - { keys: 'D', type: 'operatorMotion', operator: 'delete', motion: 'moveToEol', motionArgs: { inclusive: true }, context: 'normal'}, - { keys: 'D', type: 'operator', operator: 'delete', operatorArgs: { linewise: true }, context: 'visual'}, - { keys: 'Y', type: 'operatorMotion', operator: 'yank', motion: 'expandToLine', motionArgs: { linewise: true }, context: 'normal'}, - { keys: 'Y', type: 'operator', operator: 'yank', operatorArgs: { linewise: true }, context: 'visual'}, - { keys: 'C', type: 'operatorMotion', operator: 'change', motion: 'moveToEol', motionArgs: { inclusive: true }, context: 'normal'}, - { keys: 'C', type: 'operator', operator: 'change', operatorArgs: { linewise: true }, context: 'visual'}, - { keys: '~', type: 'operatorMotion', operator: 'changeCase', motion: 'moveByCharacters', motionArgs: { forward: true }, operatorArgs: { shouldMoveCursor: true }, context: 'normal'}, - { keys: '~', type: 'operator', operator: 'changeCase', context: 'visual'}, - { keys: '<C-w>', type: 'operatorMotion', operator: 'delete', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false }, context: 'insert' }, - // Actions - { keys: '<C-i>', type: 'action', action: 'jumpListWalk', actionArgs: { forward: true }}, - { keys: '<C-o>', type: 'action', action: 'jumpListWalk', actionArgs: { forward: false }}, - { keys: '<C-e>', type: 'action', action: 'scroll', actionArgs: { forward: true, linewise: true }}, - { keys: '<C-y>', type: 'action', action: 'scroll', actionArgs: { forward: false, linewise: true }}, - { keys: 'a', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'charAfter' }, context: 'normal' }, - { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'eol' }, context: 'normal' }, - { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'endOfSelectedArea' }, context: 'visual' }, - { keys: 'i', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'inplace' }, context: 'normal' }, - { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'firstNonBlank'}, context: 'normal' }, - { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'startOfSelectedArea' }, context: 'visual' }, - { keys: 'o', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: true }, context: 'normal' }, - { keys: 'O', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: false }, context: 'normal' }, - { keys: 'v', type: 'action', action: 'toggleVisualMode' }, - { keys: 'V', type: 'action', action: 'toggleVisualMode', actionArgs: { linewise: true }}, - { keys: '<C-v>', type: 'action', action: 'toggleVisualMode', actionArgs: { blockwise: true }}, - { keys: '<C-q>', type: 'action', action: 'toggleVisualMode', actionArgs: { blockwise: true }}, - { keys: 'gv', type: 'action', action: 'reselectLastSelection' }, - { keys: 'J', type: 'action', action: 'joinLines', isEdit: true }, - { keys: 'p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: true, isEdit: true }}, - { keys: 'P', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: false, isEdit: true }}, - { keys: 'r<character>', type: 'action', action: 'replace', isEdit: true }, - { keys: '@<character>', type: 'action', action: 'replayMacro' }, - { keys: 'q<character>', type: 'action', action: 'enterMacroRecordMode' }, - // Handle Replace-mode as a special case of insert mode. - { keys: 'R', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { replace: true }}, - { keys: 'u', type: 'action', action: 'undo', context: 'normal' }, - { keys: 'u', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: true}, context: 'visual', isEdit: true }, - { keys: 'U', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: false}, context: 'visual', isEdit: true }, - { keys: '<C-r>', type: 'action', action: 'redo' }, - { keys: 'm<character>', type: 'action', action: 'setMark' }, - { keys: '"<character>', type: 'action', action: 'setRegister' }, - { keys: 'zz', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'center' }}, - { keys: 'z.', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'center' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, - { keys: 'zt', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'top' }}, - { keys: 'z<CR>', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'top' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, - { keys: 'z-', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'bottom' }}, - { keys: 'zb', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'bottom' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, - { keys: '.', type: 'action', action: 'repeatLastEdit' }, - { keys: '<C-a>', type: 'action', action: 'incrementNumberToken', isEdit: true, actionArgs: {increase: true, backtrack: false}}, - { keys: '<C-x>', type: 'action', action: 'incrementNumberToken', isEdit: true, actionArgs: {increase: false, backtrack: false}}, - { keys: '<C-t>', type: 'action', action: 'indent', actionArgs: { indentRight: true }, context: 'insert' }, - { keys: '<C-d>', type: 'action', action: 'indent', actionArgs: { indentRight: false }, context: 'insert' }, - // Text object motions - { keys: 'a<character>', type: 'motion', motion: 'textObjectManipulation' }, - { keys: 'i<character>', type: 'motion', motion: 'textObjectManipulation', motionArgs: { textObjectInner: true }}, - // Search - { keys: '/', type: 'search', searchArgs: { forward: true, querySrc: 'prompt', toJumplist: true }}, - { keys: '?', type: 'search', searchArgs: { forward: false, querySrc: 'prompt', toJumplist: true }}, - { keys: '*', type: 'search', searchArgs: { forward: true, querySrc: 'wordUnderCursor', wholeWordOnly: true, toJumplist: true }}, - { keys: '#', type: 'search', searchArgs: { forward: false, querySrc: 'wordUnderCursor', wholeWordOnly: true, toJumplist: true }}, - { keys: 'g*', type: 'search', searchArgs: { forward: true, querySrc: 'wordUnderCursor', toJumplist: true }}, - { keys: 'g#', type: 'search', searchArgs: { forward: false, querySrc: 'wordUnderCursor', toJumplist: true }}, - // Ex command - { keys: ':', type: 'ex' } - ]; - - /** - * Ex commands - * Care must be taken when adding to the default Ex command map. For any - * pair of commands that have a shared prefix, at least one of their - * shortNames must not match the prefix of the other command. - */ - var defaultExCommandMap = [ - { name: 'colorscheme', shortName: 'colo' }, - { name: 'map' }, - { name: 'imap', shortName: 'im' }, - { name: 'nmap', shortName: 'nm' }, - { name: 'vmap', shortName: 'vm' }, - { name: 'unmap' }, - { name: 'write', shortName: 'w' }, - { name: 'undo', shortName: 'u' }, - { name: 'redo', shortName: 'red' }, - { name: 'set', shortName: 'se' }, - { name: 'set', shortName: 'se' }, - { name: 'setlocal', shortName: 'setl' }, - { name: 'setglobal', shortName: 'setg' }, - { name: 'sort', shortName: 'sor' }, - { name: 'substitute', shortName: 's', possiblyAsync: true }, - { name: 'nohlsearch', shortName: 'noh' }, - { name: 'yank', shortName: 'y' }, - { name: 'delmarks', shortName: 'delm' }, - { name: 'registers', shortName: 'reg', excludeFromCommandHistory: true }, - { name: 'global', shortName: 'g' } - ]; - - var Pos = CodeMirror.Pos; - - var Vim = function() { - function enterVimMode(cm) { - cm.setOption('disableInput', true); - cm.setOption('showCursorWhenSelecting', false); - CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); - cm.on('cursorActivity', onCursorActivity); - maybeInitVimState(cm); - CodeMirror.on(cm.getInputField(), 'paste', getOnPasteFn(cm)); - } - - function leaveVimMode(cm) { - cm.setOption('disableInput', false); - cm.off('cursorActivity', onCursorActivity); - CodeMirror.off(cm.getInputField(), 'paste', getOnPasteFn(cm)); - cm.state.vim = null; - } - - function detachVimMap(cm, next) { - if (this == CodeMirror.keyMap.vim) { - CodeMirror.rmClass(cm.getWrapperElement(), "cm-fat-cursor"); - if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { - disableFatCursorMark(cm); - cm.getInputField().style.caretColor = ""; - } - } - - if (!next || next.attach != attachVimMap) - leaveVimMode(cm); - } - function attachVimMap(cm, prev) { - if (this == CodeMirror.keyMap.vim) { - CodeMirror.addClass(cm.getWrapperElement(), "cm-fat-cursor"); - if (cm.getOption("inputStyle") == "contenteditable" && document.body.style.caretColor != null) { - enableFatCursorMark(cm); - cm.getInputField().style.caretColor = "transparent"; - } - } - - if (!prev || prev.attach != attachVimMap) - enterVimMode(cm); - } - - function fatCursorMarks(cm) { - var ranges = cm.listSelections(), result = [] - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i] - if (range.empty()) { - if (range.anchor.ch < cm.getLine(range.anchor.line).length) { - result.push(cm.markText(range.anchor, Pos(range.anchor.line, range.anchor.ch + 1), - {className: "cm-fat-cursor-mark"})) - } else { - var widget = document.createElement("span") - widget.textContent = "\u00a0" - widget.className = "cm-fat-cursor-mark" - result.push(cm.setBookmark(range.anchor, {widget: widget})) - } - } - } - return result - } - - function updateFatCursorMark(cm) { - var marks = cm.state.fatCursorMarks - if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() - cm.state.fatCursorMarks = fatCursorMarks(cm) - } - - function enableFatCursorMark(cm) { - cm.state.fatCursorMarks = fatCursorMarks(cm) - cm.on("cursorActivity", updateFatCursorMark) - } - - function disableFatCursorMark(cm) { - var marks = cm.state.fatCursorMarks - if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear() - cm.state.fatCursorMarks = null - cm.off("cursorActivity", updateFatCursorMark) - } - - // Deprecated, simply setting the keymap works again. - CodeMirror.defineOption('vimMode', false, function(cm, val, prev) { - if (val && cm.getOption("keyMap") != "vim") - cm.setOption("keyMap", "vim"); - else if (!val && prev != CodeMirror.Init && /^vim/.test(cm.getOption("keyMap"))) - cm.setOption("keyMap", "default"); - }); - - function cmKey(key, cm) { - if (!cm) { return undefined; } - if (this[key]) { return this[key]; } - var vimKey = cmKeyToVimKey(key); - if (!vimKey) { - return false; - } - var cmd = CodeMirror.Vim.findKey(cm, vimKey); - if (typeof cmd == 'function') { - CodeMirror.signal(cm, 'vim-keypress', vimKey); - } - return cmd; - } - - var modifiers = {'Shift': 'S', 'Ctrl': 'C', 'Alt': 'A', 'Cmd': 'D', 'Mod': 'A'}; - var specialKeys = {Enter:'CR',Backspace:'BS',Delete:'Del',Insert:'Ins'}; - function cmKeyToVimKey(key) { - if (key.charAt(0) == '\'') { - // Keypress character binding of format "'a'" - return key.charAt(1); - } - var pieces = key.split(/-(?!$)/); - var lastPiece = pieces[pieces.length - 1]; - if (pieces.length == 1 && pieces[0].length == 1) { - // No-modifier bindings use literal character bindings above. Skip. - return false; - } else if (pieces.length == 2 && pieces[0] == 'Shift' && lastPiece.length == 1) { - // Ignore Shift+char bindings as they should be handled by literal character. - return false; - } - var hasCharacter = false; - for (var i = 0; i < pieces.length; i++) { - var piece = pieces[i]; - if (piece in modifiers) { pieces[i] = modifiers[piece]; } - else { hasCharacter = true; } - if (piece in specialKeys) { pieces[i] = specialKeys[piece]; } - } - if (!hasCharacter) { - // Vim does not support modifier only keys. - return false; - } - // TODO: Current bindings expect the character to be lower case, but - // it looks like vim key notation uses upper case. - if (isUpperCase(lastPiece)) { - pieces[pieces.length - 1] = lastPiece.toLowerCase(); - } - return '<' + pieces.join('-') + '>'; - } - - function getOnPasteFn(cm) { - var vim = cm.state.vim; - if (!vim.onPasteFn) { - vim.onPasteFn = function() { - if (!vim.insertMode) { - cm.setCursor(offsetCursor(cm.getCursor(), 0, 1)); - actions.enterInsertMode(cm, {}, vim); - } - }; - } - return vim.onPasteFn; - } - - var numberRegex = /[\d]/; - var wordCharTest = [CodeMirror.isWordChar, function(ch) { - return ch && !CodeMirror.isWordChar(ch) && !/\s/.test(ch); - }], bigWordCharTest = [function(ch) { - return /\S/.test(ch); - }]; - function makeKeyRange(start, size) { - var keys = []; - for (var i = start; i < start + size; i++) { - keys.push(String.fromCharCode(i)); - } - return keys; - } - var upperCaseAlphabet = makeKeyRange(65, 26); - var lowerCaseAlphabet = makeKeyRange(97, 26); - var numbers = makeKeyRange(48, 10); - var validMarks = [].concat(upperCaseAlphabet, lowerCaseAlphabet, numbers, ['<', '>']); - var validRegisters = [].concat(upperCaseAlphabet, lowerCaseAlphabet, numbers, ['-', '"', '.', ':', '/']); - - function isLine(cm, line) { - return line >= cm.firstLine() && line <= cm.lastLine(); - } - function isLowerCase(k) { - return (/^[a-z]$/).test(k); - } - function isMatchableSymbol(k) { - return '()[]{}'.indexOf(k) != -1; - } - function isNumber(k) { - return numberRegex.test(k); - } - function isUpperCase(k) { - return (/^[A-Z]$/).test(k); - } - function isWhiteSpaceString(k) { - return (/^\s*$/).test(k); - } - function inArray(val, arr) { - for (var i = 0; i < arr.length; i++) { - if (arr[i] == val) { - return true; - } - } - return false; - } - - var options = {}; - function defineOption(name, defaultValue, type, aliases, callback) { - if (defaultValue === undefined && !callback) { - throw Error('defaultValue is required unless callback is provided'); - } - if (!type) { type = 'string'; } - options[name] = { - type: type, - defaultValue: defaultValue, - callback: callback - }; - if (aliases) { - for (var i = 0; i < aliases.length; i++) { - options[aliases[i]] = options[name]; - } - } - if (defaultValue) { - setOption(name, defaultValue); - } - } - - function setOption(name, value, cm, cfg) { - var option = options[name]; - cfg = cfg || {}; - var scope = cfg.scope; - if (!option) { - return new Error('Unknown option: ' + name); - } - if (option.type == 'boolean') { - if (value && value !== true) { - return new Error('Invalid argument: ' + name + '=' + value); - } else if (value !== false) { - // Boolean options are set to true if value is not defined. - value = true; - } - } - if (option.callback) { - if (scope !== 'local') { - option.callback(value, undefined); - } - if (scope !== 'global' && cm) { - option.callback(value, cm); - } - } else { - if (scope !== 'local') { - option.value = option.type == 'boolean' ? !!value : value; - } - if (scope !== 'global' && cm) { - cm.state.vim.options[name] = {value: value}; - } - } - } - - function getOption(name, cm, cfg) { - var option = options[name]; - cfg = cfg || {}; - var scope = cfg.scope; - if (!option) { - return new Error('Unknown option: ' + name); - } - if (option.callback) { - var local = cm && option.callback(undefined, cm); - if (scope !== 'global' && local !== undefined) { - return local; - } - if (scope !== 'local') { - return option.callback(); - } - return; - } else { - var local = (scope !== 'global') && (cm && cm.state.vim.options[name]); - return (local || (scope !== 'local') && option || {}).value; - } - } - - defineOption('filetype', undefined, 'string', ['ft'], function(name, cm) { - // Option is local. Do nothing for global. - if (cm === undefined) { - return; - } - // The 'filetype' option proxies to the CodeMirror 'mode' option. - if (name === undefined) { - var mode = cm.getOption('mode'); - return mode == 'null' ? '' : mode; - } else { - var mode = name == '' ? 'null' : name; - cm.setOption('mode', mode); - } - }); - - var createCircularJumpList = function() { - var size = 100; - var pointer = -1; - var head = 0; - var tail = 0; - var buffer = new Array(size); - function add(cm, oldCur, newCur) { - var current = pointer % size; - var curMark = buffer[current]; - function useNextSlot(cursor) { - var next = ++pointer % size; - var trashMark = buffer[next]; - if (trashMark) { - trashMark.clear(); - } - buffer[next] = cm.setBookmark(cursor); - } - if (curMark) { - var markPos = curMark.find(); - // avoid recording redundant cursor position - if (markPos && !cursorEqual(markPos, oldCur)) { - useNextSlot(oldCur); - } - } else { - useNextSlot(oldCur); - } - useNextSlot(newCur); - head = pointer; - tail = pointer - size + 1; - if (tail < 0) { - tail = 0; - } - } - function move(cm, offset) { - pointer += offset; - if (pointer > head) { - pointer = head; - } else if (pointer < tail) { - pointer = tail; - } - var mark = buffer[(size + pointer) % size]; - // skip marks that are temporarily removed from text buffer - if (mark && !mark.find()) { - var inc = offset > 0 ? 1 : -1; - var newCur; - var oldCur = cm.getCursor(); - do { - pointer += inc; - mark = buffer[(size + pointer) % size]; - // skip marks that are the same as current position - if (mark && - (newCur = mark.find()) && - !cursorEqual(oldCur, newCur)) { - break; - } - } while (pointer < head && pointer > tail); - } - return mark; - } - return { - cachedCursor: undefined, //used for # and * jumps - add: add, - move: move - }; - }; - - // Returns an object to track the changes associated insert mode. It - // clones the object that is passed in, or creates an empty object one if - // none is provided. - var createInsertModeChanges = function(c) { - if (c) { - // Copy construction - return { - changes: c.changes, - expectCursorActivityForChange: c.expectCursorActivityForChange - }; - } - return { - // Change list - changes: [], - // Set to true on change, false on cursorActivity. - expectCursorActivityForChange: false - }; - }; - - function MacroModeState() { - this.latestRegister = undefined; - this.isPlaying = false; - this.isRecording = false; - this.replaySearchQueries = []; - this.onRecordingDone = undefined; - this.lastInsertModeChanges = createInsertModeChanges(); - } - MacroModeState.prototype = { - exitMacroRecordMode: function() { - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.onRecordingDone) { - macroModeState.onRecordingDone(); // close dialog - } - macroModeState.onRecordingDone = undefined; - macroModeState.isRecording = false; - }, - enterMacroRecordMode: function(cm, registerName) { - var register = - vimGlobalState.registerController.getRegister(registerName); - if (register) { - register.clear(); - this.latestRegister = registerName; - if (cm.openDialog) { - this.onRecordingDone = cm.openDialog( - '(recording)['+registerName+']', null, {bottom:true}); - } - this.isRecording = true; - } - } - }; - - function maybeInitVimState(cm) { - if (!cm.state.vim) { - // Store instance state in the CodeMirror object. - cm.state.vim = { - inputState: new InputState(), - // Vim's input state that triggered the last edit, used to repeat - // motions and operators with '.'. - lastEditInputState: undefined, - // Vim's action command before the last edit, used to repeat actions - // with '.' and insert mode repeat. - lastEditActionCommand: undefined, - // When using jk for navigation, if you move from a longer line to a - // shorter line, the cursor may clip to the end of the shorter line. - // If j is pressed again and cursor goes to the next line, the - // cursor should go back to its horizontal position on the longer - // line if it can. This is to keep track of the horizontal position. - lastHPos: -1, - // Doing the same with screen-position for gj/gk - lastHSPos: -1, - // The last motion command run. Cleared if a non-motion command gets - // executed in between. - lastMotion: null, - marks: {}, - // Mark for rendering fake cursor for visual mode. - fakeCursor: null, - insertMode: false, - // Repeat count for changes made in insert mode, triggered by key - // sequences like 3,i. Only exists when insertMode is true. - insertModeRepeat: undefined, - visualMode: false, - // If we are in visual line mode. No effect if visualMode is false. - visualLine: false, - visualBlock: false, - lastSelection: null, - lastPastedText: null, - sel: {}, - // Buffer-local/window-local values of vim options. - options: {} - }; - } - return cm.state.vim; - } - var vimGlobalState; - function resetVimGlobalState() { - vimGlobalState = { - // The current search query. - searchQuery: null, - // Whether we are searching backwards. - searchIsReversed: false, - // Replace part of the last substituted pattern - lastSubstituteReplacePart: undefined, - jumpList: createCircularJumpList(), - macroModeState: new MacroModeState, - // Recording latest f, t, F or T motion command. - lastCharacterSearch: {increment:0, forward:true, selectedCharacter:''}, - registerController: new RegisterController({}), - // search history buffer - searchHistoryController: new HistoryController(), - // ex Command history buffer - exCommandHistoryController : new HistoryController() - }; - for (var optionName in options) { - var option = options[optionName]; - option.value = option.defaultValue; - } - } - - var lastInsertModeKeyTimer; - var vimApi= { - buildKeyMap: function() { - // TODO: Convert keymap into dictionary format for fast lookup. - }, - // Testing hook, though it might be useful to expose the register - // controller anyways. - getRegisterController: function() { - return vimGlobalState.registerController; - }, - // Testing hook. - resetVimGlobalState_: resetVimGlobalState, - - // Testing hook. - getVimGlobalState_: function() { - return vimGlobalState; - }, - - // Testing hook. - maybeInitVimState_: maybeInitVimState, - - suppressErrorLogging: false, - - InsertModeKey: InsertModeKey, - map: function(lhs, rhs, ctx) { - // Add user defined key bindings. - exCommandDispatcher.map(lhs, rhs, ctx); - }, - unmap: function(lhs, ctx) { - exCommandDispatcher.unmap(lhs, ctx); - }, - // TODO: Expose setOption and getOption as instance methods. Need to decide how to namespace - // them, or somehow make them work with the existing CodeMirror setOption/getOption API. - setOption: setOption, - getOption: getOption, - defineOption: defineOption, - defineEx: function(name, prefix, func){ - if (!prefix) { - prefix = name; - } else if (name.indexOf(prefix) !== 0) { - throw new Error('(Vim.defineEx) "'+prefix+'" is not a prefix of "'+name+'", command not registered'); - } - exCommands[name]=func; - exCommandDispatcher.commandMap_[prefix]={name:name, shortName:prefix, type:'api'}; - }, - handleKey: function (cm, key, origin) { - var command = this.findKey(cm, key, origin); - if (typeof command === 'function') { - return command(); - } - }, - /** - * This is the outermost function called by CodeMirror, after keys have - * been mapped to their Vim equivalents. - * - * Finds a command based on the key (and cached keys if there is a - * multi-key sequence). Returns `undefined` if no key is matched, a noop - * function if a partial match is found (multi-key), and a function to - * execute the bound command if a a key is matched. The function always - * returns true. - */ - findKey: function(cm, key, origin) { - var vim = maybeInitVimState(cm); - function handleMacroRecording() { - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.isRecording) { - if (key == 'q') { - macroModeState.exitMacroRecordMode(); - clearInputState(cm); - return true; - } - if (origin != 'mapping') { - logKey(macroModeState, key); - } - } - } - function handleEsc() { - if (key == '<Esc>') { - // Clear input state and get back to normal mode. - clearInputState(cm); - if (vim.visualMode) { - exitVisualMode(cm); - } else if (vim.insertMode) { - exitInsertMode(cm); - } - return true; - } - } - function doKeyToKey(keys) { - // TODO: prevent infinite recursion. - var match; - while (keys) { - // Pull off one command key, which is either a single character - // or a special sequence wrapped in '<' and '>', e.g. '<Space>'. - match = (/<\w+-.+?>|<\w+>|./).exec(keys); - key = match[0]; - keys = keys.substring(match.index + key.length); - CodeMirror.Vim.handleKey(cm, key, 'mapping'); - } - } - - function handleKeyInsertMode() { - if (handleEsc()) { return true; } - var keys = vim.inputState.keyBuffer = vim.inputState.keyBuffer + key; - var keysAreChars = key.length == 1; - var match = commandDispatcher.matchCommand(keys, defaultKeymap, vim.inputState, 'insert'); - // Need to check all key substrings in insert mode. - while (keys.length > 1 && match.type != 'full') { - var keys = vim.inputState.keyBuffer = keys.slice(1); - var thisMatch = commandDispatcher.matchCommand(keys, defaultKeymap, vim.inputState, 'insert'); - if (thisMatch.type != 'none') { match = thisMatch; } - } - if (match.type == 'none') { clearInputState(cm); return false; } - else if (match.type == 'partial') { - if (lastInsertModeKeyTimer) { window.clearTimeout(lastInsertModeKeyTimer); } - lastInsertModeKeyTimer = window.setTimeout( - function() { if (vim.insertMode && vim.inputState.keyBuffer) { clearInputState(cm); } }, - getOption('insertModeEscKeysTimeout')); - return !keysAreChars; - } - - if (lastInsertModeKeyTimer) { window.clearTimeout(lastInsertModeKeyTimer); } - if (keysAreChars) { - var selections = cm.listSelections(); - for (var i = 0; i < selections.length; i++) { - var here = selections[i].head; - cm.replaceRange('', offsetCursor(here, 0, -(keys.length - 1)), here, '+input'); - } - vimGlobalState.macroModeState.lastInsertModeChanges.changes.pop(); - } - clearInputState(cm); - return match.command; - } - - function handleKeyNonInsertMode() { - if (handleMacroRecording() || handleEsc()) { return true; } - - var keys = vim.inputState.keyBuffer = vim.inputState.keyBuffer + key; - if (/^[1-9]\d*$/.test(keys)) { return true; } - - var keysMatcher = /^(\d*)(.*)$/.exec(keys); - if (!keysMatcher) { clearInputState(cm); return false; } - var context = vim.visualMode ? 'visual' : - 'normal'; - var match = commandDispatcher.matchCommand(keysMatcher[2] || keysMatcher[1], defaultKeymap, vim.inputState, context); - if (match.type == 'none') { clearInputState(cm); return false; } - else if (match.type == 'partial') { return true; } - - vim.inputState.keyBuffer = ''; - var keysMatcher = /^(\d*)(.*)$/.exec(keys); - if (keysMatcher[1] && keysMatcher[1] != '0') { - vim.inputState.pushRepeatDigit(keysMatcher[1]); - } - return match.command; - } - - var command; - if (vim.insertMode) { command = handleKeyInsertMode(); } - else { command = handleKeyNonInsertMode(); } - if (command === false) { - return undefined; - } else if (command === true) { - // TODO: Look into using CodeMirror's multi-key handling. - // Return no-op since we are caching the key. Counts as handled, but - // don't want act on it just yet. - return function() { return true; }; - } else { - return function() { - return cm.operation(function() { - cm.curOp.isVimOp = true; - try { - if (command.type == 'keyToKey') { - doKeyToKey(command.toKeys); - } else { - commandDispatcher.processCommand(cm, vim, command); - } - } catch (e) { - // clear VIM state in case it's in a bad state. - cm.state.vim = undefined; - maybeInitVimState(cm); - if (!CodeMirror.Vim.suppressErrorLogging) { - console['log'](e); - } - throw e; - } - return true; - }); - }; - } - }, - handleEx: function(cm, input) { - exCommandDispatcher.processCommand(cm, input); - }, - - defineMotion: defineMotion, - defineAction: defineAction, - defineOperator: defineOperator, - mapCommand: mapCommand, - _mapCommand: _mapCommand, - - defineRegister: defineRegister, - - exitVisualMode: exitVisualMode, - exitInsertMode: exitInsertMode - }; - - // Represents the current input state. - function InputState() { - this.prefixRepeat = []; - this.motionRepeat = []; - - this.operator = null; - this.operatorArgs = null; - this.motion = null; - this.motionArgs = null; - this.keyBuffer = []; // For matching multi-key commands. - this.registerName = null; // Defaults to the unnamed register. - } - InputState.prototype.pushRepeatDigit = function(n) { - if (!this.operator) { - this.prefixRepeat = this.prefixRepeat.concat(n); - } else { - this.motionRepeat = this.motionRepeat.concat(n); - } - }; - InputState.prototype.getRepeat = function() { - var repeat = 0; - if (this.prefixRepeat.length > 0 || this.motionRepeat.length > 0) { - repeat = 1; - if (this.prefixRepeat.length > 0) { - repeat *= parseInt(this.prefixRepeat.join(''), 10); - } - if (this.motionRepeat.length > 0) { - repeat *= parseInt(this.motionRepeat.join(''), 10); - } - } - return repeat; - }; - - function clearInputState(cm, reason) { - cm.state.vim.inputState = new InputState(); - CodeMirror.signal(cm, 'vim-command-done', reason); - } - - /* - * Register stores information about copy and paste registers. Besides - * text, a register must store whether it is linewise (i.e., when it is - * pasted, should it insert itself into a new line, or should the text be - * inserted at the cursor position.) - */ - function Register(text, linewise, blockwise) { - this.clear(); - this.keyBuffer = [text || '']; - this.insertModeChanges = []; - this.searchQueries = []; - this.linewise = !!linewise; - this.blockwise = !!blockwise; - } - Register.prototype = { - setText: function(text, linewise, blockwise) { - this.keyBuffer = [text || '']; - this.linewise = !!linewise; - this.blockwise = !!blockwise; - }, - pushText: function(text, linewise) { - // if this register has ever been set to linewise, use linewise. - if (linewise) { - if (!this.linewise) { - this.keyBuffer.push('\n'); - } - this.linewise = true; - } - this.keyBuffer.push(text); - }, - pushInsertModeChanges: function(changes) { - this.insertModeChanges.push(createInsertModeChanges(changes)); - }, - pushSearchQuery: function(query) { - this.searchQueries.push(query); - }, - clear: function() { - this.keyBuffer = []; - this.insertModeChanges = []; - this.searchQueries = []; - this.linewise = false; - }, - toString: function() { - return this.keyBuffer.join(''); - } - }; - - /** - * Defines an external register. - * - * The name should be a single character that will be used to reference the register. - * The register should support setText, pushText, clear, and toString(). See Register - * for a reference implementation. - */ - function defineRegister(name, register) { - var registers = vimGlobalState.registerController.registers; - if (!name || name.length != 1) { - throw Error('Register name must be 1 character'); - } - if (registers[name]) { - throw Error('Register already defined ' + name); - } - registers[name] = register; - validRegisters.push(name); - } - - /* - * vim registers allow you to keep many independent copy and paste buffers. - * See http://usevim.com/2012/04/13/registers/ for an introduction. - * - * RegisterController keeps the state of all the registers. An initial - * state may be passed in. The unnamed register '"' will always be - * overridden. - */ - function RegisterController(registers) { - this.registers = registers; - this.unnamedRegister = registers['"'] = new Register(); - registers['.'] = new Register(); - registers[':'] = new Register(); - registers['/'] = new Register(); - } - RegisterController.prototype = { - pushText: function(registerName, operator, text, linewise, blockwise) { - if (linewise && text.charAt(text.length - 1) !== '\n'){ - text += '\n'; - } - // Lowercase and uppercase registers refer to the same register. - // Uppercase just means append. - var register = this.isValidRegister(registerName) ? - this.getRegister(registerName) : null; - // if no register/an invalid register was specified, things go to the - // default registers - if (!register) { - switch (operator) { - case 'yank': - // The 0 register contains the text from the most recent yank. - this.registers['0'] = new Register(text, linewise, blockwise); - break; - case 'delete': - case 'change': - if (text.indexOf('\n') == -1) { - // Delete less than 1 line. Update the small delete register. - this.registers['-'] = new Register(text, linewise); - } else { - // Shift down the contents of the numbered registers and put the - // deleted text into register 1. - this.shiftNumericRegisters_(); - this.registers['1'] = new Register(text, linewise); - } - break; - } - // Make sure the unnamed register is set to what just happened - this.unnamedRegister.setText(text, linewise, blockwise); - return; - } - - // If we've gotten to this point, we've actually specified a register - var append = isUpperCase(registerName); - if (append) { - register.pushText(text, linewise); - } else { - register.setText(text, linewise, blockwise); - } - // The unnamed register always has the same value as the last used - // register. - this.unnamedRegister.setText(register.toString(), linewise); - }, - // Gets the register named @name. If one of @name doesn't already exist, - // create it. If @name is invalid, return the unnamedRegister. - getRegister: function(name) { - if (!this.isValidRegister(name)) { - return this.unnamedRegister; - } - name = name.toLowerCase(); - if (!this.registers[name]) { - this.registers[name] = new Register(); - } - return this.registers[name]; - }, - isValidRegister: function(name) { - return name && inArray(name, validRegisters); - }, - shiftNumericRegisters_: function() { - for (var i = 9; i >= 2; i--) { - this.registers[i] = this.getRegister('' + (i - 1)); - } - } - }; - function HistoryController() { - this.historyBuffer = []; - this.iterator = 0; - this.initialPrefix = null; - } - HistoryController.prototype = { - // the input argument here acts a user entered prefix for a small time - // until we start autocompletion in which case it is the autocompleted. - nextMatch: function (input, up) { - var historyBuffer = this.historyBuffer; - var dir = up ? -1 : 1; - if (this.initialPrefix === null) this.initialPrefix = input; - for (var i = this.iterator + dir; up ? i >= 0 : i < historyBuffer.length; i+= dir) { - var element = historyBuffer[i]; - for (var j = 0; j <= element.length; j++) { - if (this.initialPrefix == element.substring(0, j)) { - this.iterator = i; - return element; - } - } - } - // should return the user input in case we reach the end of buffer. - if (i >= historyBuffer.length) { - this.iterator = historyBuffer.length; - return this.initialPrefix; - } - // return the last autocompleted query or exCommand as it is. - if (i < 0 ) return input; - }, - pushInput: function(input) { - var index = this.historyBuffer.indexOf(input); - if (index > -1) this.historyBuffer.splice(index, 1); - if (input.length) this.historyBuffer.push(input); - }, - reset: function() { - this.initialPrefix = null; - this.iterator = this.historyBuffer.length; - } - }; - var commandDispatcher = { - matchCommand: function(keys, keyMap, inputState, context) { - var matches = commandMatches(keys, keyMap, context, inputState); - if (!matches.full && !matches.partial) { - return {type: 'none'}; - } else if (!matches.full && matches.partial) { - return {type: 'partial'}; - } - - var bestMatch; - for (var i = 0; i < matches.full.length; i++) { - var match = matches.full[i]; - if (!bestMatch) { - bestMatch = match; - } - } - if (bestMatch.keys.slice(-11) == '<character>') { - var character = lastChar(keys); - if (!character) return {type: 'none'}; - inputState.selectedCharacter = character; - } - return {type: 'full', command: bestMatch}; - }, - processCommand: function(cm, vim, command) { - vim.inputState.repeatOverride = command.repeatOverride; - switch (command.type) { - case 'motion': - this.processMotion(cm, vim, command); - break; - case 'operator': - this.processOperator(cm, vim, command); - break; - case 'operatorMotion': - this.processOperatorMotion(cm, vim, command); - break; - case 'action': - this.processAction(cm, vim, command); - break; - case 'search': - this.processSearch(cm, vim, command); - break; - case 'ex': - case 'keyToEx': - this.processEx(cm, vim, command); - break; - default: - break; - } - }, - processMotion: function(cm, vim, command) { - vim.inputState.motion = command.motion; - vim.inputState.motionArgs = copyArgs(command.motionArgs); - this.evalInput(cm, vim); - }, - processOperator: function(cm, vim, command) { - var inputState = vim.inputState; - if (inputState.operator) { - if (inputState.operator == command.operator) { - // Typing an operator twice like 'dd' makes the operator operate - // linewise - inputState.motion = 'expandToLine'; - inputState.motionArgs = { linewise: true }; - this.evalInput(cm, vim); - return; - } else { - // 2 different operators in a row doesn't make sense. - clearInputState(cm); - } - } - inputState.operator = command.operator; - inputState.operatorArgs = copyArgs(command.operatorArgs); - if (vim.visualMode) { - // Operating on a selection in visual mode. We don't need a motion. - this.evalInput(cm, vim); - } - }, - processOperatorMotion: function(cm, vim, command) { - var visualMode = vim.visualMode; - var operatorMotionArgs = copyArgs(command.operatorMotionArgs); - if (operatorMotionArgs) { - // Operator motions may have special behavior in visual mode. - if (visualMode && operatorMotionArgs.visualLine) { - vim.visualLine = true; - } - } - this.processOperator(cm, vim, command); - if (!visualMode) { - this.processMotion(cm, vim, command); - } - }, - processAction: function(cm, vim, command) { - var inputState = vim.inputState; - var repeat = inputState.getRepeat(); - var repeatIsExplicit = !!repeat; - var actionArgs = copyArgs(command.actionArgs) || {}; - if (inputState.selectedCharacter) { - actionArgs.selectedCharacter = inputState.selectedCharacter; - } - // Actions may or may not have motions and operators. Do these first. - if (command.operator) { - this.processOperator(cm, vim, command); - } - if (command.motion) { - this.processMotion(cm, vim, command); - } - if (command.motion || command.operator) { - this.evalInput(cm, vim); - } - actionArgs.repeat = repeat || 1; - actionArgs.repeatIsExplicit = repeatIsExplicit; - actionArgs.registerName = inputState.registerName; - clearInputState(cm); - vim.lastMotion = null; - if (command.isEdit) { - this.recordLastEdit(vim, inputState, command); - } - actions[command.action](cm, actionArgs, vim); - }, - processSearch: function(cm, vim, command) { - if (!cm.getSearchCursor) { - // Search depends on SearchCursor. - return; - } - var forward = command.searchArgs.forward; - var wholeWordOnly = command.searchArgs.wholeWordOnly; - getSearchState(cm).setReversed(!forward); - var promptPrefix = (forward) ? '/' : '?'; - var originalQuery = getSearchState(cm).getQuery(); - var originalScrollPos = cm.getScrollInfo(); - function handleQuery(query, ignoreCase, smartCase) { - vimGlobalState.searchHistoryController.pushInput(query); - vimGlobalState.searchHistoryController.reset(); - try { - updateSearchQuery(cm, query, ignoreCase, smartCase); - } catch (e) { - showConfirm(cm, 'Invalid regex: ' + query); - clearInputState(cm); - return; - } - commandDispatcher.processMotion(cm, vim, { - type: 'motion', - motion: 'findNext', - motionArgs: { forward: true, toJumplist: command.searchArgs.toJumplist } - }); - } - function onPromptClose(query) { - cm.scrollTo(originalScrollPos.left, originalScrollPos.top); - handleQuery(query, true /** ignoreCase */, true /** smartCase */); - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.isRecording) { - logSearchQuery(macroModeState, query); - } - } - function onPromptKeyUp(e, query, close) { - var keyName = CodeMirror.keyName(e), up, offset; - if (keyName == 'Up' || keyName == 'Down') { - up = keyName == 'Up' ? true : false; - offset = e.target ? e.target.selectionEnd : 0; - query = vimGlobalState.searchHistoryController.nextMatch(query, up) || ''; - close(query); - if (offset && e.target) e.target.selectionEnd = e.target.selectionStart = Math.min(offset, e.target.value.length); - } else { - if ( keyName != 'Left' && keyName != 'Right' && keyName != 'Ctrl' && keyName != 'Alt' && keyName != 'Shift') - vimGlobalState.searchHistoryController.reset(); - } - var parsedQuery; - try { - parsedQuery = updateSearchQuery(cm, query, - true /** ignoreCase */, true /** smartCase */); - } catch (e) { - // Swallow bad regexes for incremental search. - } - if (parsedQuery) { - cm.scrollIntoView(findNext(cm, !forward, parsedQuery), 30); - } else { - clearSearchHighlight(cm); - cm.scrollTo(originalScrollPos.left, originalScrollPos.top); - } - } - function onPromptKeyDown(e, query, close) { - var keyName = CodeMirror.keyName(e); - if (keyName == 'Esc' || keyName == 'Ctrl-C' || keyName == 'Ctrl-[' || - (keyName == 'Backspace' && query == '')) { - vimGlobalState.searchHistoryController.pushInput(query); - vimGlobalState.searchHistoryController.reset(); - updateSearchQuery(cm, originalQuery); - clearSearchHighlight(cm); - cm.scrollTo(originalScrollPos.left, originalScrollPos.top); - CodeMirror.e_stop(e); - clearInputState(cm); - close(); - cm.focus(); - } else if (keyName == 'Up' || keyName == 'Down') { - CodeMirror.e_stop(e); - } else if (keyName == 'Ctrl-U') { - // Ctrl-U clears input. - CodeMirror.e_stop(e); - close(''); - } - } - switch (command.searchArgs.querySrc) { - case 'prompt': - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.isPlaying) { - var query = macroModeState.replaySearchQueries.shift(); - handleQuery(query, true /** ignoreCase */, false /** smartCase */); - } else { - showPrompt(cm, { - onClose: onPromptClose, - prefix: promptPrefix, - desc: searchPromptDesc, - onKeyUp: onPromptKeyUp, - onKeyDown: onPromptKeyDown - }); - } - break; - case 'wordUnderCursor': - var word = expandWordUnderCursor(cm, false /** inclusive */, - true /** forward */, false /** bigWord */, - true /** noSymbol */); - var isKeyword = true; - if (!word) { - word = expandWordUnderCursor(cm, false /** inclusive */, - true /** forward */, false /** bigWord */, - false /** noSymbol */); - isKeyword = false; - } - if (!word) { - return; - } - var query = cm.getLine(word.start.line).substring(word.start.ch, - word.end.ch); - if (isKeyword && wholeWordOnly) { - query = '\\b' + query + '\\b'; - } else { - query = escapeRegex(query); - } - - // cachedCursor is used to save the old position of the cursor - // when * or # causes vim to seek for the nearest word and shift - // the cursor before entering the motion. - vimGlobalState.jumpList.cachedCursor = cm.getCursor(); - cm.setCursor(word.start); - - handleQuery(query, true /** ignoreCase */, false /** smartCase */); - break; - } - }, - processEx: function(cm, vim, command) { - function onPromptClose(input) { - // Give the prompt some time to close so that if processCommand shows - // an error, the elements don't overlap. - vimGlobalState.exCommandHistoryController.pushInput(input); - vimGlobalState.exCommandHistoryController.reset(); - exCommandDispatcher.processCommand(cm, input); - } - function onPromptKeyDown(e, input, close) { - var keyName = CodeMirror.keyName(e), up, offset; - if (keyName == 'Esc' || keyName == 'Ctrl-C' || keyName == 'Ctrl-[' || - (keyName == 'Backspace' && input == '')) { - vimGlobalState.exCommandHistoryController.pushInput(input); - vimGlobalState.exCommandHistoryController.reset(); - CodeMirror.e_stop(e); - clearInputState(cm); - close(); - cm.focus(); - } - if (keyName == 'Up' || keyName == 'Down') { - CodeMirror.e_stop(e); - up = keyName == 'Up' ? true : false; - offset = e.target ? e.target.selectionEnd : 0; - input = vimGlobalState.exCommandHistoryController.nextMatch(input, up) || ''; - close(input); - if (offset && e.target) e.target.selectionEnd = e.target.selectionStart = Math.min(offset, e.target.value.length); - } else if (keyName == 'Ctrl-U') { - // Ctrl-U clears input. - CodeMirror.e_stop(e); - close(''); - } else { - if ( keyName != 'Left' && keyName != 'Right' && keyName != 'Ctrl' && keyName != 'Alt' && keyName != 'Shift') - vimGlobalState.exCommandHistoryController.reset(); - } - } - if (command.type == 'keyToEx') { - // Handle user defined Ex to Ex mappings - exCommandDispatcher.processCommand(cm, command.exArgs.input); - } else { - if (vim.visualMode) { - showPrompt(cm, { onClose: onPromptClose, prefix: ':', value: '\'<,\'>', - onKeyDown: onPromptKeyDown, selectValueOnOpen: false}); - } else { - showPrompt(cm, { onClose: onPromptClose, prefix: ':', - onKeyDown: onPromptKeyDown}); - } - } - }, - evalInput: function(cm, vim) { - // If the motion command is set, execute both the operator and motion. - // Otherwise return. - var inputState = vim.inputState; - var motion = inputState.motion; - var motionArgs = inputState.motionArgs || {}; - var operator = inputState.operator; - var operatorArgs = inputState.operatorArgs || {}; - var registerName = inputState.registerName; - var sel = vim.sel; - // TODO: Make sure cm and vim selections are identical outside visual mode. - var origHead = copyCursor(vim.visualMode ? clipCursorToContent(cm, sel.head): cm.getCursor('head')); - var origAnchor = copyCursor(vim.visualMode ? clipCursorToContent(cm, sel.anchor) : cm.getCursor('anchor')); - var oldHead = copyCursor(origHead); - var oldAnchor = copyCursor(origAnchor); - var newHead, newAnchor; - var repeat; - if (operator) { - this.recordLastEdit(vim, inputState); - } - if (inputState.repeatOverride !== undefined) { - // If repeatOverride is specified, that takes precedence over the - // input state's repeat. Used by Ex mode and can be user defined. - repeat = inputState.repeatOverride; - } else { - repeat = inputState.getRepeat(); - } - if (repeat > 0 && motionArgs.explicitRepeat) { - motionArgs.repeatIsExplicit = true; - } else if (motionArgs.noRepeat || - (!motionArgs.explicitRepeat && repeat === 0)) { - repeat = 1; - motionArgs.repeatIsExplicit = false; - } - if (inputState.selectedCharacter) { - // If there is a character input, stick it in all of the arg arrays. - motionArgs.selectedCharacter = operatorArgs.selectedCharacter = - inputState.selectedCharacter; - } - motionArgs.repeat = repeat; - clearInputState(cm); - if (motion) { - var motionResult = motions[motion](cm, origHead, motionArgs, vim); - vim.lastMotion = motions[motion]; - if (!motionResult) { - return; - } - if (motionArgs.toJumplist) { - var jumpList = vimGlobalState.jumpList; - // if the current motion is # or *, use cachedCursor - var cachedCursor = jumpList.cachedCursor; - if (cachedCursor) { - recordJumpPosition(cm, cachedCursor, motionResult); - delete jumpList.cachedCursor; - } else { - recordJumpPosition(cm, origHead, motionResult); - } - } - if (motionResult instanceof Array) { - newAnchor = motionResult[0]; - newHead = motionResult[1]; - } else { - newHead = motionResult; - } - // TODO: Handle null returns from motion commands better. - if (!newHead) { - newHead = copyCursor(origHead); - } - if (vim.visualMode) { - if (!(vim.visualBlock && newHead.ch === Infinity)) { - newHead = clipCursorToContent(cm, newHead, vim.visualBlock); - } - if (newAnchor) { - newAnchor = clipCursorToContent(cm, newAnchor, true); - } - newAnchor = newAnchor || oldAnchor; - sel.anchor = newAnchor; - sel.head = newHead; - updateCmSelection(cm); - updateMark(cm, vim, '<', - cursorIsBefore(newAnchor, newHead) ? newAnchor - : newHead); - updateMark(cm, vim, '>', - cursorIsBefore(newAnchor, newHead) ? newHead - : newAnchor); - } else if (!operator) { - newHead = clipCursorToContent(cm, newHead); - cm.setCursor(newHead.line, newHead.ch); - } - } - if (operator) { - if (operatorArgs.lastSel) { - // Replaying a visual mode operation - newAnchor = oldAnchor; - var lastSel = operatorArgs.lastSel; - var lineOffset = Math.abs(lastSel.head.line - lastSel.anchor.line); - var chOffset = Math.abs(lastSel.head.ch - lastSel.anchor.ch); - if (lastSel.visualLine) { - // Linewise Visual mode: The same number of lines. - newHead = Pos(oldAnchor.line + lineOffset, oldAnchor.ch); - } else if (lastSel.visualBlock) { - // Blockwise Visual mode: The same number of lines and columns. - newHead = Pos(oldAnchor.line + lineOffset, oldAnchor.ch + chOffset); - } else if (lastSel.head.line == lastSel.anchor.line) { - // Normal Visual mode within one line: The same number of characters. - newHead = Pos(oldAnchor.line, oldAnchor.ch + chOffset); - } else { - // Normal Visual mode with several lines: The same number of lines, in the - // last line the same number of characters as in the last line the last time. - newHead = Pos(oldAnchor.line + lineOffset, oldAnchor.ch); - } - vim.visualMode = true; - vim.visualLine = lastSel.visualLine; - vim.visualBlock = lastSel.visualBlock; - sel = vim.sel = { - anchor: newAnchor, - head: newHead - }; - updateCmSelection(cm); - } else if (vim.visualMode) { - operatorArgs.lastSel = { - anchor: copyCursor(sel.anchor), - head: copyCursor(sel.head), - visualBlock: vim.visualBlock, - visualLine: vim.visualLine - }; - } - var curStart, curEnd, linewise, mode; - var cmSel; - if (vim.visualMode) { - // Init visual op - curStart = cursorMin(sel.head, sel.anchor); - curEnd = cursorMax(sel.head, sel.anchor); - linewise = vim.visualLine || operatorArgs.linewise; - mode = vim.visualBlock ? 'block' : - linewise ? 'line' : - 'char'; - cmSel = makeCmSelection(cm, { - anchor: curStart, - head: curEnd - }, mode); - if (linewise) { - var ranges = cmSel.ranges; - if (mode == 'block') { - // Linewise operators in visual block mode extend to end of line - for (var i = 0; i < ranges.length; i++) { - ranges[i].head.ch = lineLength(cm, ranges[i].head.line); - } - } else if (mode == 'line') { - ranges[0].head = Pos(ranges[0].head.line + 1, 0); - } - } - } else { - // Init motion op - curStart = copyCursor(newAnchor || oldAnchor); - curEnd = copyCursor(newHead || oldHead); - if (cursorIsBefore(curEnd, curStart)) { - var tmp = curStart; - curStart = curEnd; - curEnd = tmp; - } - linewise = motionArgs.linewise || operatorArgs.linewise; - if (linewise) { - // Expand selection to entire line. - expandSelectionToLine(cm, curStart, curEnd); - } else if (motionArgs.forward) { - // Clip to trailing newlines only if the motion goes forward. - clipToLine(cm, curStart, curEnd); - } - mode = 'char'; - var exclusive = !motionArgs.inclusive || linewise; - cmSel = makeCmSelection(cm, { - anchor: curStart, - head: curEnd - }, mode, exclusive); - } - cm.setSelections(cmSel.ranges, cmSel.primary); - vim.lastMotion = null; - operatorArgs.repeat = repeat; // For indent in visual mode. - operatorArgs.registerName = registerName; - // Keep track of linewise as it affects how paste and change behave. - operatorArgs.linewise = linewise; - var operatorMoveTo = operators[operator]( - cm, operatorArgs, cmSel.ranges, oldAnchor, newHead); - if (vim.visualMode) { - exitVisualMode(cm, operatorMoveTo != null); - } - if (operatorMoveTo) { - cm.setCursor(operatorMoveTo); - } - } - }, - recordLastEdit: function(vim, inputState, actionCommand) { - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.isPlaying) { return; } - vim.lastEditInputState = inputState; - vim.lastEditActionCommand = actionCommand; - macroModeState.lastInsertModeChanges.changes = []; - macroModeState.lastInsertModeChanges.expectCursorActivityForChange = false; - } - }; - - /** - * typedef {Object{line:number,ch:number}} Cursor An object containing the - * position of the cursor. - */ - // All of the functions below return Cursor objects. - var motions = { - moveToTopLine: function(cm, _head, motionArgs) { - var line = getUserVisibleLines(cm).top + motionArgs.repeat -1; - return Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); - }, - moveToMiddleLine: function(cm) { - var range = getUserVisibleLines(cm); - var line = Math.floor((range.top + range.bottom) * 0.5); - return Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); - }, - moveToBottomLine: function(cm, _head, motionArgs) { - var line = getUserVisibleLines(cm).bottom - motionArgs.repeat +1; - return Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); - }, - expandToLine: function(_cm, head, motionArgs) { - // Expands forward to end of line, and then to next line if repeat is - // >1. Does not handle backward motion! - var cur = head; - return Pos(cur.line + motionArgs.repeat - 1, Infinity); - }, - findNext: function(cm, _head, motionArgs) { - var state = getSearchState(cm); - var query = state.getQuery(); - if (!query) { - return; - } - var prev = !motionArgs.forward; - // If search is initiated with ? instead of /, negate direction. - prev = (state.isReversed()) ? !prev : prev; - highlightSearchMatches(cm, query); - return findNext(cm, prev/** prev */, query, motionArgs.repeat); - }, - goToMark: function(cm, _head, motionArgs, vim) { - var pos = getMarkPos(cm, vim, motionArgs.selectedCharacter); - if (pos) { - return motionArgs.linewise ? { line: pos.line, ch: findFirstNonWhiteSpaceCharacter(cm.getLine(pos.line)) } : pos; - } - return null; - }, - moveToOtherHighlightedEnd: function(cm, _head, motionArgs, vim) { - if (vim.visualBlock && motionArgs.sameLine) { - var sel = vim.sel; - return [ - clipCursorToContent(cm, Pos(sel.anchor.line, sel.head.ch)), - clipCursorToContent(cm, Pos(sel.head.line, sel.anchor.ch)) - ]; - } else { - return ([vim.sel.head, vim.sel.anchor]); - } - }, - jumpToMark: function(cm, head, motionArgs, vim) { - var best = head; - for (var i = 0; i < motionArgs.repeat; i++) { - var cursor = best; - for (var key in vim.marks) { - if (!isLowerCase(key)) { - continue; - } - var mark = vim.marks[key].find(); - var isWrongDirection = (motionArgs.forward) ? - cursorIsBefore(mark, cursor) : cursorIsBefore(cursor, mark); - - if (isWrongDirection) { - continue; - } - if (motionArgs.linewise && (mark.line == cursor.line)) { - continue; - } - - var equal = cursorEqual(cursor, best); - var between = (motionArgs.forward) ? - cursorIsBetween(cursor, mark, best) : - cursorIsBetween(best, mark, cursor); - - if (equal || between) { - best = mark; - } - } - } - - if (motionArgs.linewise) { - // Vim places the cursor on the first non-whitespace character of - // the line if there is one, else it places the cursor at the end - // of the line, regardless of whether a mark was found. - best = Pos(best.line, findFirstNonWhiteSpaceCharacter(cm.getLine(best.line))); - } - return best; - }, - moveByCharacters: function(_cm, head, motionArgs) { - var cur = head; - var repeat = motionArgs.repeat; - var ch = motionArgs.forward ? cur.ch + repeat : cur.ch - repeat; - return Pos(cur.line, ch); - }, - moveByLines: function(cm, head, motionArgs, vim) { - var cur = head; - var endCh = cur.ch; - // Depending what our last motion was, we may want to do different - // things. If our last motion was moving vertically, we want to - // preserve the HPos from our last horizontal move. If our last motion - // was going to the end of a line, moving vertically we should go to - // the end of the line, etc. - switch (vim.lastMotion) { - case this.moveByLines: - case this.moveByDisplayLines: - case this.moveByScroll: - case this.moveToColumn: - case this.moveToEol: - endCh = vim.lastHPos; - break; - default: - vim.lastHPos = endCh; - } - var repeat = motionArgs.repeat+(motionArgs.repeatOffset||0); - var line = motionArgs.forward ? cur.line + repeat : cur.line - repeat; - var first = cm.firstLine(); - var last = cm.lastLine(); - // Vim go to line begin or line end when cursor at first/last line and - // move to previous/next line is triggered. - if (line < first && cur.line == first){ - return this.moveToStartOfLine(cm, head, motionArgs, vim); - }else if (line > last && cur.line == last){ - return this.moveToEol(cm, head, motionArgs, vim); - } - if (motionArgs.toFirstChar){ - endCh=findFirstNonWhiteSpaceCharacter(cm.getLine(line)); - vim.lastHPos = endCh; - } - vim.lastHSPos = cm.charCoords(Pos(line, endCh),'div').left; - return Pos(line, endCh); - }, - moveByDisplayLines: function(cm, head, motionArgs, vim) { - var cur = head; - switch (vim.lastMotion) { - case this.moveByDisplayLines: - case this.moveByScroll: - case this.moveByLines: - case this.moveToColumn: - case this.moveToEol: - break; - default: - vim.lastHSPos = cm.charCoords(cur,'div').left; - } - var repeat = motionArgs.repeat; - var res=cm.findPosV(cur,(motionArgs.forward ? repeat : -repeat),'line',vim.lastHSPos); - if (res.hitSide) { - if (motionArgs.forward) { - var lastCharCoords = cm.charCoords(res, 'div'); - var goalCoords = { top: lastCharCoords.top + 8, left: vim.lastHSPos }; - var res = cm.coordsChar(goalCoords, 'div'); - } else { - var resCoords = cm.charCoords(Pos(cm.firstLine(), 0), 'div'); - resCoords.left = vim.lastHSPos; - res = cm.coordsChar(resCoords, 'div'); - } - } - vim.lastHPos = res.ch; - return res; - }, - moveByPage: function(cm, head, motionArgs) { - // CodeMirror only exposes functions that move the cursor page down, so - // doing this bad hack to move the cursor and move it back. evalInput - // will move the cursor to where it should be in the end. - var curStart = head; - var repeat = motionArgs.repeat; - return cm.findPosV(curStart, (motionArgs.forward ? repeat : -repeat), 'page'); - }, - moveByParagraph: function(cm, head, motionArgs) { - var dir = motionArgs.forward ? 1 : -1; - return findParagraph(cm, head, motionArgs.repeat, dir); - }, - moveByScroll: function(cm, head, motionArgs, vim) { - var scrollbox = cm.getScrollInfo(); - var curEnd = null; - var repeat = motionArgs.repeat; - if (!repeat) { - repeat = scrollbox.clientHeight / (2 * cm.defaultTextHeight()); - } - var orig = cm.charCoords(head, 'local'); - motionArgs.repeat = repeat; - var curEnd = motions.moveByDisplayLines(cm, head, motionArgs, vim); - if (!curEnd) { - return null; - } - var dest = cm.charCoords(curEnd, 'local'); - cm.scrollTo(null, scrollbox.top + dest.top - orig.top); - return curEnd; - }, - moveByWords: function(cm, head, motionArgs) { - return moveToWord(cm, head, motionArgs.repeat, !!motionArgs.forward, - !!motionArgs.wordEnd, !!motionArgs.bigWord); - }, - moveTillCharacter: function(cm, _head, motionArgs) { - var repeat = motionArgs.repeat; - var curEnd = moveToCharacter(cm, repeat, motionArgs.forward, - motionArgs.selectedCharacter); - var increment = motionArgs.forward ? -1 : 1; - recordLastCharacterSearch(increment, motionArgs); - if (!curEnd) return null; - curEnd.ch += increment; - return curEnd; - }, - moveToCharacter: function(cm, head, motionArgs) { - var repeat = motionArgs.repeat; - recordLastCharacterSearch(0, motionArgs); - return moveToCharacter(cm, repeat, motionArgs.forward, - motionArgs.selectedCharacter) || head; - }, - moveToSymbol: function(cm, head, motionArgs) { - var repeat = motionArgs.repeat; - return findSymbol(cm, repeat, motionArgs.forward, - motionArgs.selectedCharacter) || head; - }, - moveToColumn: function(cm, head, motionArgs, vim) { - var repeat = motionArgs.repeat; - // repeat is equivalent to which column we want to move to! - vim.lastHPos = repeat - 1; - vim.lastHSPos = cm.charCoords(head,'div').left; - return moveToColumn(cm, repeat); - }, - moveToEol: function(cm, head, motionArgs, vim) { - var cur = head; - vim.lastHPos = Infinity; - var retval= Pos(cur.line + motionArgs.repeat - 1, Infinity); - var end=cm.clipPos(retval); - end.ch--; - vim.lastHSPos = cm.charCoords(end,'div').left; - return retval; - }, - moveToFirstNonWhiteSpaceCharacter: function(cm, head) { - // Go to the start of the line where the text begins, or the end for - // whitespace-only lines - var cursor = head; - return Pos(cursor.line, - findFirstNonWhiteSpaceCharacter(cm.getLine(cursor.line))); - }, - moveToMatchedSymbol: function(cm, head) { - var cursor = head; - var line = cursor.line; - var ch = cursor.ch; - var lineText = cm.getLine(line); - var symbol; - for (; ch < lineText.length; ch++) { - symbol = lineText.charAt(ch); - if (symbol && isMatchableSymbol(symbol)) { - var style = cm.getTokenTypeAt(Pos(line, ch + 1)); - if (style !== "string" && style !== "comment") { - break; - } - } - } - if (ch < lineText.length) { - var matched = cm.findMatchingBracket(Pos(line, ch)); - return matched.to; - } else { - return cursor; - } - }, - moveToStartOfLine: function(_cm, head) { - return Pos(head.line, 0); - }, - moveToLineOrEdgeOfDocument: function(cm, _head, motionArgs) { - var lineNum = motionArgs.forward ? cm.lastLine() : cm.firstLine(); - if (motionArgs.repeatIsExplicit) { - lineNum = motionArgs.repeat - cm.getOption('firstLineNumber'); - } - return Pos(lineNum, - findFirstNonWhiteSpaceCharacter(cm.getLine(lineNum))); - }, - textObjectManipulation: function(cm, head, motionArgs, vim) { - // TODO: lots of possible exceptions that can be thrown here. Try da( - // outside of a () block. - - // TODO: adding <> >< to this map doesn't work, presumably because - // they're operators - var mirroredPairs = {'(': ')', ')': '(', - '{': '}', '}': '{', - '[': ']', ']': '['}; - var selfPaired = {'\'': true, '"': true}; - - var character = motionArgs.selectedCharacter; - // 'b' refers to '()' block. - // 'B' refers to '{}' block. - if (character == 'b') { - character = '('; - } else if (character == 'B') { - character = '{'; - } - - // Inclusive is the difference between a and i - // TODO: Instead of using the additional text object map to perform text - // object operations, merge the map into the defaultKeyMap and use - // motionArgs to define behavior. Define separate entries for 'aw', - // 'iw', 'a[', 'i[', etc. - var inclusive = !motionArgs.textObjectInner; - - var tmp; - if (mirroredPairs[character]) { - tmp = selectCompanionObject(cm, head, character, inclusive); - } else if (selfPaired[character]) { - tmp = findBeginningAndEnd(cm, head, character, inclusive); - } else if (character === 'W') { - tmp = expandWordUnderCursor(cm, inclusive, true /** forward */, - true /** bigWord */); - } else if (character === 'w') { - tmp = expandWordUnderCursor(cm, inclusive, true /** forward */, - false /** bigWord */); - } else if (character === 'p') { - tmp = findParagraph(cm, head, motionArgs.repeat, 0, inclusive); - motionArgs.linewise = true; - if (vim.visualMode) { - if (!vim.visualLine) { vim.visualLine = true; } - } else { - var operatorArgs = vim.inputState.operatorArgs; - if (operatorArgs) { operatorArgs.linewise = true; } - tmp.end.line--; - } - } else { - // No text object defined for this, don't move. - return null; - } - - if (!cm.state.vim.visualMode) { - return [tmp.start, tmp.end]; - } else { - return expandSelection(cm, tmp.start, tmp.end); - } - }, - - repeatLastCharacterSearch: function(cm, head, motionArgs) { - var lastSearch = vimGlobalState.lastCharacterSearch; - var repeat = motionArgs.repeat; - var forward = motionArgs.forward === lastSearch.forward; - var increment = (lastSearch.increment ? 1 : 0) * (forward ? -1 : 1); - cm.moveH(-increment, 'char'); - motionArgs.inclusive = forward ? true : false; - var curEnd = moveToCharacter(cm, repeat, forward, lastSearch.selectedCharacter); - if (!curEnd) { - cm.moveH(increment, 'char'); - return head; - } - curEnd.ch += increment; - return curEnd; - } - }; - - function defineMotion(name, fn) { - motions[name] = fn; - } - - function fillArray(val, times) { - var arr = []; - for (var i = 0; i < times; i++) { - arr.push(val); - } - return arr; - } - /** - * An operator acts on a text selection. It receives the list of selections - * as input. The corresponding CodeMirror selection is guaranteed to - * match the input selection. - */ - var operators = { - change: function(cm, args, ranges) { - var finalHead, text; - var vim = cm.state.vim; - vimGlobalState.macroModeState.lastInsertModeChanges.inVisualBlock = vim.visualBlock; - if (!vim.visualMode) { - var anchor = ranges[0].anchor, - head = ranges[0].head; - text = cm.getRange(anchor, head); - var lastState = vim.lastEditInputState || {}; - if (lastState.motion == "moveByWords" && !isWhiteSpaceString(text)) { - // Exclude trailing whitespace if the range is not all whitespace. - var match = (/\s+$/).exec(text); - if (match && lastState.motionArgs && lastState.motionArgs.forward) { - head = offsetCursor(head, 0, - match[0].length); - text = text.slice(0, - match[0].length); - } - } - var prevLineEnd = new Pos(anchor.line - 1, Number.MAX_VALUE); - var wasLastLine = cm.firstLine() == cm.lastLine(); - if (head.line > cm.lastLine() && args.linewise && !wasLastLine) { - cm.replaceRange('', prevLineEnd, head); - } else { - cm.replaceRange('', anchor, head); - } - if (args.linewise) { - // Push the next line back down, if there is a next line. - if (!wasLastLine) { - cm.setCursor(prevLineEnd); - CodeMirror.commands.newlineAndIndent(cm); - } - // make sure cursor ends up at the end of the line. - anchor.ch = Number.MAX_VALUE; - } - finalHead = anchor; - } else { - text = cm.getSelection(); - var replacement = fillArray('', ranges.length); - cm.replaceSelections(replacement); - finalHead = cursorMin(ranges[0].head, ranges[0].anchor); - } - vimGlobalState.registerController.pushText( - args.registerName, 'change', text, - args.linewise, ranges.length > 1); - actions.enterInsertMode(cm, {head: finalHead}, cm.state.vim); - }, - // delete is a javascript keyword. - 'delete': function(cm, args, ranges) { - var finalHead, text; - var vim = cm.state.vim; - if (!vim.visualBlock) { - var anchor = ranges[0].anchor, - head = ranges[0].head; - if (args.linewise && - head.line != cm.firstLine() && - anchor.line == cm.lastLine() && - anchor.line == head.line - 1) { - // Special case for dd on last line (and first line). - if (anchor.line == cm.firstLine()) { - anchor.ch = 0; - } else { - anchor = Pos(anchor.line - 1, lineLength(cm, anchor.line - 1)); - } - } - text = cm.getRange(anchor, head); - cm.replaceRange('', anchor, head); - finalHead = anchor; - if (args.linewise) { - finalHead = motions.moveToFirstNonWhiteSpaceCharacter(cm, anchor); - } - } else { - text = cm.getSelection(); - var replacement = fillArray('', ranges.length); - cm.replaceSelections(replacement); - finalHead = ranges[0].anchor; - } - vimGlobalState.registerController.pushText( - args.registerName, 'delete', text, - args.linewise, vim.visualBlock); - var includeLineBreak = vim.insertMode - return clipCursorToContent(cm, finalHead, includeLineBreak); - }, - indent: function(cm, args, ranges) { - var vim = cm.state.vim; - var startLine = ranges[0].anchor.line; - var endLine = vim.visualBlock ? - ranges[ranges.length - 1].anchor.line : - ranges[0].head.line; - // In visual mode, n> shifts the selection right n times, instead of - // shifting n lines right once. - var repeat = (vim.visualMode) ? args.repeat : 1; - if (args.linewise) { - // The only way to delete a newline is to delete until the start of - // the next line, so in linewise mode evalInput will include the next - // line. We don't want this in indent, so we go back a line. - endLine--; - } - for (var i = startLine; i <= endLine; i++) { - for (var j = 0; j < repeat; j++) { - cm.indentLine(i, args.indentRight); - } - } - return motions.moveToFirstNonWhiteSpaceCharacter(cm, ranges[0].anchor); - }, - changeCase: function(cm, args, ranges, oldAnchor, newHead) { - var selections = cm.getSelections(); - var swapped = []; - var toLower = args.toLower; - for (var j = 0; j < selections.length; j++) { - var toSwap = selections[j]; - var text = ''; - if (toLower === true) { - text = toSwap.toLowerCase(); - } else if (toLower === false) { - text = toSwap.toUpperCase(); - } else { - for (var i = 0; i < toSwap.length; i++) { - var character = toSwap.charAt(i); - text += isUpperCase(character) ? character.toLowerCase() : - character.toUpperCase(); - } - } - swapped.push(text); - } - cm.replaceSelections(swapped); - if (args.shouldMoveCursor){ - return newHead; - } else if (!cm.state.vim.visualMode && args.linewise && ranges[0].anchor.line + 1 == ranges[0].head.line) { - return motions.moveToFirstNonWhiteSpaceCharacter(cm, oldAnchor); - } else if (args.linewise){ - return oldAnchor; - } else { - return cursorMin(ranges[0].anchor, ranges[0].head); - } - }, - yank: function(cm, args, ranges, oldAnchor) { - var vim = cm.state.vim; - var text = cm.getSelection(); - var endPos = vim.visualMode - ? cursorMin(vim.sel.anchor, vim.sel.head, ranges[0].head, ranges[0].anchor) - : oldAnchor; - vimGlobalState.registerController.pushText( - args.registerName, 'yank', - text, args.linewise, vim.visualBlock); - return endPos; - } - }; - - function defineOperator(name, fn) { - operators[name] = fn; - } - - var actions = { - jumpListWalk: function(cm, actionArgs, vim) { - if (vim.visualMode) { - return; - } - var repeat = actionArgs.repeat; - var forward = actionArgs.forward; - var jumpList = vimGlobalState.jumpList; - - var mark = jumpList.move(cm, forward ? repeat : -repeat); - var markPos = mark ? mark.find() : undefined; - markPos = markPos ? markPos : cm.getCursor(); - cm.setCursor(markPos); - }, - scroll: function(cm, actionArgs, vim) { - if (vim.visualMode) { - return; - } - var repeat = actionArgs.repeat || 1; - var lineHeight = cm.defaultTextHeight(); - var top = cm.getScrollInfo().top; - var delta = lineHeight * repeat; - var newPos = actionArgs.forward ? top + delta : top - delta; - var cursor = copyCursor(cm.getCursor()); - var cursorCoords = cm.charCoords(cursor, 'local'); - if (actionArgs.forward) { - if (newPos > cursorCoords.top) { - cursor.line += (newPos - cursorCoords.top) / lineHeight; - cursor.line = Math.ceil(cursor.line); - cm.setCursor(cursor); - cursorCoords = cm.charCoords(cursor, 'local'); - cm.scrollTo(null, cursorCoords.top); - } else { - // Cursor stays within bounds. Just reposition the scroll window. - cm.scrollTo(null, newPos); - } - } else { - var newBottom = newPos + cm.getScrollInfo().clientHeight; - if (newBottom < cursorCoords.bottom) { - cursor.line -= (cursorCoords.bottom - newBottom) / lineHeight; - cursor.line = Math.floor(cursor.line); - cm.setCursor(cursor); - cursorCoords = cm.charCoords(cursor, 'local'); - cm.scrollTo( - null, cursorCoords.bottom - cm.getScrollInfo().clientHeight); - } else { - // Cursor stays within bounds. Just reposition the scroll window. - cm.scrollTo(null, newPos); - } - } - }, - scrollToCursor: function(cm, actionArgs) { - var lineNum = cm.getCursor().line; - var charCoords = cm.charCoords(Pos(lineNum, 0), 'local'); - var height = cm.getScrollInfo().clientHeight; - var y = charCoords.top; - var lineHeight = charCoords.bottom - y; - switch (actionArgs.position) { - case 'center': y = y - (height / 2) + lineHeight; - break; - case 'bottom': y = y - height + lineHeight; - break; - } - cm.scrollTo(null, y); - }, - replayMacro: function(cm, actionArgs, vim) { - var registerName = actionArgs.selectedCharacter; - var repeat = actionArgs.repeat; - var macroModeState = vimGlobalState.macroModeState; - if (registerName == '@') { - registerName = macroModeState.latestRegister; - } - while(repeat--){ - executeMacroRegister(cm, vim, macroModeState, registerName); - } - }, - enterMacroRecordMode: function(cm, actionArgs) { - var macroModeState = vimGlobalState.macroModeState; - var registerName = actionArgs.selectedCharacter; - if (vimGlobalState.registerController.isValidRegister(registerName)) { - macroModeState.enterMacroRecordMode(cm, registerName); - } - }, - toggleOverwrite: function(cm) { - if (!cm.state.overwrite) { - cm.toggleOverwrite(true); - cm.setOption('keyMap', 'vim-replace'); - CodeMirror.signal(cm, "vim-mode-change", {mode: "replace"}); - } else { - cm.toggleOverwrite(false); - cm.setOption('keyMap', 'vim-insert'); - CodeMirror.signal(cm, "vim-mode-change", {mode: "insert"}); - } - }, - enterInsertMode: function(cm, actionArgs, vim) { - if (cm.getOption('readOnly')) { return; } - vim.insertMode = true; - vim.insertModeRepeat = actionArgs && actionArgs.repeat || 1; - var insertAt = (actionArgs) ? actionArgs.insertAt : null; - var sel = vim.sel; - var head = actionArgs.head || cm.getCursor('head'); - var height = cm.listSelections().length; - if (insertAt == 'eol') { - head = Pos(head.line, lineLength(cm, head.line)); - } else if (insertAt == 'charAfter') { - head = offsetCursor(head, 0, 1); - } else if (insertAt == 'firstNonBlank') { - head = motions.moveToFirstNonWhiteSpaceCharacter(cm, head); - } else if (insertAt == 'startOfSelectedArea') { - if (!vim.visualBlock) { - if (sel.head.line < sel.anchor.line) { - head = sel.head; - } else { - head = Pos(sel.anchor.line, 0); - } - } else { - head = Pos( - Math.min(sel.head.line, sel.anchor.line), - Math.min(sel.head.ch, sel.anchor.ch)); - height = Math.abs(sel.head.line - sel.anchor.line) + 1; - } - } else if (insertAt == 'endOfSelectedArea') { - if (!vim.visualBlock) { - if (sel.head.line >= sel.anchor.line) { - head = offsetCursor(sel.head, 0, 1); - } else { - head = Pos(sel.anchor.line, 0); - } - } else { - head = Pos( - Math.min(sel.head.line, sel.anchor.line), - Math.max(sel.head.ch + 1, sel.anchor.ch)); - height = Math.abs(sel.head.line - sel.anchor.line) + 1; - } - } else if (insertAt == 'inplace') { - if (vim.visualMode){ - return; - } - } - cm.setOption('disableInput', false); - if (actionArgs && actionArgs.replace) { - // Handle Replace-mode as a special case of insert mode. - cm.toggleOverwrite(true); - cm.setOption('keyMap', 'vim-replace'); - CodeMirror.signal(cm, "vim-mode-change", {mode: "replace"}); - } else { - cm.toggleOverwrite(false); - cm.setOption('keyMap', 'vim-insert'); - CodeMirror.signal(cm, "vim-mode-change", {mode: "insert"}); - } - if (!vimGlobalState.macroModeState.isPlaying) { - // Only record if not replaying. - cm.on('change', onChange); - CodeMirror.on(cm.getInputField(), 'keydown', onKeyEventTargetKeyDown); - } - if (vim.visualMode) { - exitVisualMode(cm); - } - selectForInsert(cm, head, height); - }, - toggleVisualMode: function(cm, actionArgs, vim) { - var repeat = actionArgs.repeat; - var anchor = cm.getCursor(); - var head; - // TODO: The repeat should actually select number of characters/lines - // equal to the repeat times the size of the previous visual - // operation. - if (!vim.visualMode) { - // Entering visual mode - vim.visualMode = true; - vim.visualLine = !!actionArgs.linewise; - vim.visualBlock = !!actionArgs.blockwise; - head = clipCursorToContent( - cm, Pos(anchor.line, anchor.ch + repeat - 1), - true /** includeLineBreak */); - vim.sel = { - anchor: anchor, - head: head - }; - CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: vim.visualLine ? "linewise" : vim.visualBlock ? "blockwise" : ""}); - updateCmSelection(cm); - updateMark(cm, vim, '<', cursorMin(anchor, head)); - updateMark(cm, vim, '>', cursorMax(anchor, head)); - } else if (vim.visualLine ^ actionArgs.linewise || - vim.visualBlock ^ actionArgs.blockwise) { - // Toggling between modes - vim.visualLine = !!actionArgs.linewise; - vim.visualBlock = !!actionArgs.blockwise; - CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: vim.visualLine ? "linewise" : vim.visualBlock ? "blockwise" : ""}); - updateCmSelection(cm); - } else { - exitVisualMode(cm); - } - }, - reselectLastSelection: function(cm, _actionArgs, vim) { - var lastSelection = vim.lastSelection; - if (vim.visualMode) { - updateLastSelection(cm, vim); - } - if (lastSelection) { - var anchor = lastSelection.anchorMark.find(); - var head = lastSelection.headMark.find(); - if (!anchor || !head) { - // If the marks have been destroyed due to edits, do nothing. - return; - } - vim.sel = { - anchor: anchor, - head: head - }; - vim.visualMode = true; - vim.visualLine = lastSelection.visualLine; - vim.visualBlock = lastSelection.visualBlock; - updateCmSelection(cm); - updateMark(cm, vim, '<', cursorMin(anchor, head)); - updateMark(cm, vim, '>', cursorMax(anchor, head)); - CodeMirror.signal(cm, 'vim-mode-change', { - mode: 'visual', - subMode: vim.visualLine ? 'linewise' : - vim.visualBlock ? 'blockwise' : ''}); - } - }, - joinLines: function(cm, actionArgs, vim) { - var curStart, curEnd; - if (vim.visualMode) { - curStart = cm.getCursor('anchor'); - curEnd = cm.getCursor('head'); - if (cursorIsBefore(curEnd, curStart)) { - var tmp = curEnd; - curEnd = curStart; - curStart = tmp; - } - curEnd.ch = lineLength(cm, curEnd.line) - 1; - } else { - // Repeat is the number of lines to join. Minimum 2 lines. - var repeat = Math.max(actionArgs.repeat, 2); - curStart = cm.getCursor(); - curEnd = clipCursorToContent(cm, Pos(curStart.line + repeat - 1, - Infinity)); - } - var finalCh = 0; - for (var i = curStart.line; i < curEnd.line; i++) { - finalCh = lineLength(cm, curStart.line); - var tmp = Pos(curStart.line + 1, - lineLength(cm, curStart.line + 1)); - var text = cm.getRange(curStart, tmp); - text = text.replace(/\n\s*/g, ' '); - cm.replaceRange(text, curStart, tmp); - } - var curFinalPos = Pos(curStart.line, finalCh); - if (vim.visualMode) { - exitVisualMode(cm, false); - } - cm.setCursor(curFinalPos); - }, - newLineAndEnterInsertMode: function(cm, actionArgs, vim) { - vim.insertMode = true; - var insertAt = copyCursor(cm.getCursor()); - if (insertAt.line === cm.firstLine() && !actionArgs.after) { - // Special case for inserting newline before start of document. - cm.replaceRange('\n', Pos(cm.firstLine(), 0)); - cm.setCursor(cm.firstLine(), 0); - } else { - insertAt.line = (actionArgs.after) ? insertAt.line : - insertAt.line - 1; - insertAt.ch = lineLength(cm, insertAt.line); - cm.setCursor(insertAt); - var newlineFn = CodeMirror.commands.newlineAndIndentContinueComment || - CodeMirror.commands.newlineAndIndent; - newlineFn(cm); - } - this.enterInsertMode(cm, { repeat: actionArgs.repeat }, vim); - }, - paste: function(cm, actionArgs, vim) { - var cur = copyCursor(cm.getCursor()); - var register = vimGlobalState.registerController.getRegister( - actionArgs.registerName); - var text = register.toString(); - if (!text) { - return; - } - if (actionArgs.matchIndent) { - var tabSize = cm.getOption("tabSize"); - // length that considers tabs and tabSize - var whitespaceLength = function(str) { - var tabs = (str.split("\t").length - 1); - var spaces = (str.split(" ").length - 1); - return tabs * tabSize + spaces * 1; - }; - var currentLine = cm.getLine(cm.getCursor().line); - var indent = whitespaceLength(currentLine.match(/^\s*/)[0]); - // chomp last newline b/c don't want it to match /^\s*/gm - var chompedText = text.replace(/\n$/, ''); - var wasChomped = text !== chompedText; - var firstIndent = whitespaceLength(text.match(/^\s*/)[0]); - var text = chompedText.replace(/^\s*/gm, function(wspace) { - var newIndent = indent + (whitespaceLength(wspace) - firstIndent); - if (newIndent < 0) { - return ""; - } - else if (cm.getOption("indentWithTabs")) { - var quotient = Math.floor(newIndent / tabSize); - return Array(quotient + 1).join('\t'); - } - else { - return Array(newIndent + 1).join(' '); - } - }); - text += wasChomped ? "\n" : ""; - } - if (actionArgs.repeat > 1) { - var text = Array(actionArgs.repeat + 1).join(text); - } - var linewise = register.linewise; - var blockwise = register.blockwise; - if (linewise) { - if(vim.visualMode) { - text = vim.visualLine ? text.slice(0, -1) : '\n' + text.slice(0, text.length - 1) + '\n'; - } else if (actionArgs.after) { - // Move the newline at the end to the start instead, and paste just - // before the newline character of the line we are on right now. - text = '\n' + text.slice(0, text.length - 1); - cur.ch = lineLength(cm, cur.line); - } else { - cur.ch = 0; - } - } else { - if (blockwise) { - text = text.split('\n'); - for (var i = 0; i < text.length; i++) { - text[i] = (text[i] == '') ? ' ' : text[i]; - } - } - cur.ch += actionArgs.after ? 1 : 0; - } - var curPosFinal; - var idx; - if (vim.visualMode) { - // save the pasted text for reselection if the need arises - vim.lastPastedText = text; - var lastSelectionCurEnd; - var selectedArea = getSelectedAreaRange(cm, vim); - var selectionStart = selectedArea[0]; - var selectionEnd = selectedArea[1]; - var selectedText = cm.getSelection(); - var selections = cm.listSelections(); - var emptyStrings = new Array(selections.length).join('1').split('1'); - // save the curEnd marker before it get cleared due to cm.replaceRange. - if (vim.lastSelection) { - lastSelectionCurEnd = vim.lastSelection.headMark.find(); - } - // push the previously selected text to unnamed register - vimGlobalState.registerController.unnamedRegister.setText(selectedText); - if (blockwise) { - // first delete the selected text - cm.replaceSelections(emptyStrings); - // Set new selections as per the block length of the yanked text - selectionEnd = Pos(selectionStart.line + text.length-1, selectionStart.ch); - cm.setCursor(selectionStart); - selectBlock(cm, selectionEnd); - cm.replaceSelections(text); - curPosFinal = selectionStart; - } else if (vim.visualBlock) { - cm.replaceSelections(emptyStrings); - cm.setCursor(selectionStart); - cm.replaceRange(text, selectionStart, selectionStart); - curPosFinal = selectionStart; - } else { - cm.replaceRange(text, selectionStart, selectionEnd); - curPosFinal = cm.posFromIndex(cm.indexFromPos(selectionStart) + text.length - 1); - } - // restore the the curEnd marker - if(lastSelectionCurEnd) { - vim.lastSelection.headMark = cm.setBookmark(lastSelectionCurEnd); - } - if (linewise) { - curPosFinal.ch=0; - } - } else { - if (blockwise) { - cm.setCursor(cur); - for (var i = 0; i < text.length; i++) { - var line = cur.line+i; - if (line > cm.lastLine()) { - cm.replaceRange('\n', Pos(line, 0)); - } - var lastCh = lineLength(cm, line); - if (lastCh < cur.ch) { - extendLineToColumn(cm, line, cur.ch); - } - } - cm.setCursor(cur); - selectBlock(cm, Pos(cur.line + text.length-1, cur.ch)); - cm.replaceSelections(text); - curPosFinal = cur; - } else { - cm.replaceRange(text, cur); - // Now fine tune the cursor to where we want it. - if (linewise && actionArgs.after) { - curPosFinal = Pos( - cur.line + 1, - findFirstNonWhiteSpaceCharacter(cm.getLine(cur.line + 1))); - } else if (linewise && !actionArgs.after) { - curPosFinal = Pos( - cur.line, - findFirstNonWhiteSpaceCharacter(cm.getLine(cur.line))); - } else if (!linewise && actionArgs.after) { - idx = cm.indexFromPos(cur); - curPosFinal = cm.posFromIndex(idx + text.length - 1); - } else { - idx = cm.indexFromPos(cur); - curPosFinal = cm.posFromIndex(idx + text.length); - } - } - } - if (vim.visualMode) { - exitVisualMode(cm, false); - } - cm.setCursor(curPosFinal); - }, - undo: function(cm, actionArgs) { - cm.operation(function() { - repeatFn(cm, CodeMirror.commands.undo, actionArgs.repeat)(); - cm.setCursor(cm.getCursor('anchor')); - }); - }, - redo: function(cm, actionArgs) { - repeatFn(cm, CodeMirror.commands.redo, actionArgs.repeat)(); - }, - setRegister: function(_cm, actionArgs, vim) { - vim.inputState.registerName = actionArgs.selectedCharacter; - }, - setMark: function(cm, actionArgs, vim) { - var markName = actionArgs.selectedCharacter; - updateMark(cm, vim, markName, cm.getCursor()); - }, - replace: function(cm, actionArgs, vim) { - var replaceWith = actionArgs.selectedCharacter; - var curStart = cm.getCursor(); - var replaceTo; - var curEnd; - var selections = cm.listSelections(); - if (vim.visualMode) { - curStart = cm.getCursor('start'); - curEnd = cm.getCursor('end'); - } else { - var line = cm.getLine(curStart.line); - replaceTo = curStart.ch + actionArgs.repeat; - if (replaceTo > line.length) { - replaceTo=line.length; - } - curEnd = Pos(curStart.line, replaceTo); - } - if (replaceWith=='\n') { - if (!vim.visualMode) cm.replaceRange('', curStart, curEnd); - // special case, where vim help says to replace by just one line-break - (CodeMirror.commands.newlineAndIndentContinueComment || CodeMirror.commands.newlineAndIndent)(cm); - } else { - var replaceWithStr = cm.getRange(curStart, curEnd); - //replace all characters in range by selected, but keep linebreaks - replaceWithStr = replaceWithStr.replace(/[^\n]/g, replaceWith); - if (vim.visualBlock) { - // Tabs are split in visua block before replacing - var spaces = new Array(cm.getOption("tabSize")+1).join(' '); - replaceWithStr = cm.getSelection(); - replaceWithStr = replaceWithStr.replace(/\t/g, spaces).replace(/[^\n]/g, replaceWith).split('\n'); - cm.replaceSelections(replaceWithStr); - } else { - cm.replaceRange(replaceWithStr, curStart, curEnd); - } - if (vim.visualMode) { - curStart = cursorIsBefore(selections[0].anchor, selections[0].head) ? - selections[0].anchor : selections[0].head; - cm.setCursor(curStart); - exitVisualMode(cm, false); - } else { - cm.setCursor(offsetCursor(curEnd, 0, -1)); - } - } - }, - incrementNumberToken: function(cm, actionArgs) { - var cur = cm.getCursor(); - var lineStr = cm.getLine(cur.line); - var re = /(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi; - var match; - var start; - var end; - var numberStr; - while ((match = re.exec(lineStr)) !== null) { - start = match.index; - end = start + match[0].length; - if (cur.ch < end)break; - } - if (!actionArgs.backtrack && (end <= cur.ch))return; - if (match) { - var baseStr = match[2] || match[4] - var digits = match[3] || match[5] - var increment = actionArgs.increase ? 1 : -1; - var base = {'0b': 2, '0': 8, '': 10, '0x': 16}[baseStr.toLowerCase()]; - var number = parseInt(match[1] + digits, base) + (increment * actionArgs.repeat); - numberStr = number.toString(base); - var zeroPadding = baseStr ? new Array(digits.length - numberStr.length + 1 + match[1].length).join('0') : '' - if (numberStr.charAt(0) === '-') { - numberStr = '-' + baseStr + zeroPadding + numberStr.substr(1); - } else { - numberStr = baseStr + zeroPadding + numberStr; - } - var from = Pos(cur.line, start); - var to = Pos(cur.line, end); - cm.replaceRange(numberStr, from, to); - } else { - return; - } - cm.setCursor(Pos(cur.line, start + numberStr.length - 1)); - }, - repeatLastEdit: function(cm, actionArgs, vim) { - var lastEditInputState = vim.lastEditInputState; - if (!lastEditInputState) { return; } - var repeat = actionArgs.repeat; - if (repeat && actionArgs.repeatIsExplicit) { - vim.lastEditInputState.repeatOverride = repeat; - } else { - repeat = vim.lastEditInputState.repeatOverride || repeat; - } - repeatLastEdit(cm, vim, repeat, false /** repeatForInsert */); - }, - indent: function(cm, actionArgs) { - cm.indentLine(cm.getCursor().line, actionArgs.indentRight); - }, - exitInsertMode: exitInsertMode - }; - - function defineAction(name, fn) { - actions[name] = fn; - } - - /* - * Below are miscellaneous utility functions used by vim.js - */ - - /** - * Clips cursor to ensure that line is within the buffer's range - * If includeLineBreak is true, then allow cur.ch == lineLength. - */ - function clipCursorToContent(cm, cur, includeLineBreak) { - var line = Math.min(Math.max(cm.firstLine(), cur.line), cm.lastLine() ); - var maxCh = lineLength(cm, line) - 1; - maxCh = (includeLineBreak) ? maxCh + 1 : maxCh; - var ch = Math.min(Math.max(0, cur.ch), maxCh); - return Pos(line, ch); - } - function copyArgs(args) { - var ret = {}; - for (var prop in args) { - if (args.hasOwnProperty(prop)) { - ret[prop] = args[prop]; - } - } - return ret; - } - function offsetCursor(cur, offsetLine, offsetCh) { - if (typeof offsetLine === 'object') { - offsetCh = offsetLine.ch; - offsetLine = offsetLine.line; - } - return Pos(cur.line + offsetLine, cur.ch + offsetCh); - } - function getOffset(anchor, head) { - return { - line: head.line - anchor.line, - ch: head.line - anchor.line - }; - } - function commandMatches(keys, keyMap, context, inputState) { - // Partial matches are not applied. They inform the key handler - // that the current key sequence is a subsequence of a valid key - // sequence, so that the key buffer is not cleared. - var match, partial = [], full = []; - for (var i = 0; i < keyMap.length; i++) { - var command = keyMap[i]; - if (context == 'insert' && command.context != 'insert' || - command.context && command.context != context || - inputState.operator && command.type == 'action' || - !(match = commandMatch(keys, command.keys))) { continue; } - if (match == 'partial') { partial.push(command); } - if (match == 'full') { full.push(command); } - } - return { - partial: partial.length && partial, - full: full.length && full - }; - } - function commandMatch(pressed, mapped) { - if (mapped.slice(-11) == '<character>') { - // Last character matches anything. - var prefixLen = mapped.length - 11; - var pressedPrefix = pressed.slice(0, prefixLen); - var mappedPrefix = mapped.slice(0, prefixLen); - return pressedPrefix == mappedPrefix && pressed.length > prefixLen ? 'full' : - mappedPrefix.indexOf(pressedPrefix) == 0 ? 'partial' : false; - } else { - return pressed == mapped ? 'full' : - mapped.indexOf(pressed) == 0 ? 'partial' : false; - } - } - function lastChar(keys) { - var match = /^.*(<[^>]+>)$/.exec(keys); - var selectedCharacter = match ? match[1] : keys.slice(-1); - if (selectedCharacter.length > 1){ - switch(selectedCharacter){ - case '<CR>': - selectedCharacter='\n'; - break; - case '<Space>': - selectedCharacter=' '; - break; - default: - selectedCharacter=''; - break; - } - } - return selectedCharacter; - } - function repeatFn(cm, fn, repeat) { - return function() { - for (var i = 0; i < repeat; i++) { - fn(cm); - } - }; - } - function copyCursor(cur) { - return Pos(cur.line, cur.ch); - } - function cursorEqual(cur1, cur2) { - return cur1.ch == cur2.ch && cur1.line == cur2.line; - } - function cursorIsBefore(cur1, cur2) { - if (cur1.line < cur2.line) { - return true; - } - if (cur1.line == cur2.line && cur1.ch < cur2.ch) { - return true; - } - return false; - } - function cursorMin(cur1, cur2) { - if (arguments.length > 2) { - cur2 = cursorMin.apply(undefined, Array.prototype.slice.call(arguments, 1)); - } - return cursorIsBefore(cur1, cur2) ? cur1 : cur2; - } - function cursorMax(cur1, cur2) { - if (arguments.length > 2) { - cur2 = cursorMax.apply(undefined, Array.prototype.slice.call(arguments, 1)); - } - return cursorIsBefore(cur1, cur2) ? cur2 : cur1; - } - function cursorIsBetween(cur1, cur2, cur3) { - // returns true if cur2 is between cur1 and cur3. - var cur1before2 = cursorIsBefore(cur1, cur2); - var cur2before3 = cursorIsBefore(cur2, cur3); - return cur1before2 && cur2before3; - } - function lineLength(cm, lineNum) { - return cm.getLine(lineNum).length; - } - function trim(s) { - if (s.trim) { - return s.trim(); - } - return s.replace(/^\s+|\s+$/g, ''); - } - function escapeRegex(s) { - return s.replace(/([.?*+$\[\]\/\\(){}|\-])/g, '\\$1'); - } - function extendLineToColumn(cm, lineNum, column) { - var endCh = lineLength(cm, lineNum); - var spaces = new Array(column-endCh+1).join(' '); - cm.setCursor(Pos(lineNum, endCh)); - cm.replaceRange(spaces, cm.getCursor()); - } - // This functions selects a rectangular block - // of text with selectionEnd as any of its corner - // Height of block: - // Difference in selectionEnd.line and first/last selection.line - // Width of the block: - // Distance between selectionEnd.ch and any(first considered here) selection.ch - function selectBlock(cm, selectionEnd) { - var selections = [], ranges = cm.listSelections(); - var head = copyCursor(cm.clipPos(selectionEnd)); - var isClipped = !cursorEqual(selectionEnd, head); - var curHead = cm.getCursor('head'); - var primIndex = getIndex(ranges, curHead); - var wasClipped = cursorEqual(ranges[primIndex].head, ranges[primIndex].anchor); - var max = ranges.length - 1; - var index = max - primIndex > primIndex ? max : 0; - var base = ranges[index].anchor; - - var firstLine = Math.min(base.line, head.line); - var lastLine = Math.max(base.line, head.line); - var baseCh = base.ch, headCh = head.ch; - - var dir = ranges[index].head.ch - baseCh; - var newDir = headCh - baseCh; - if (dir > 0 && newDir <= 0) { - baseCh++; - if (!isClipped) { headCh--; } - } else if (dir < 0 && newDir >= 0) { - baseCh--; - if (!wasClipped) { headCh++; } - } else if (dir < 0 && newDir == -1) { - baseCh--; - headCh++; - } - for (var line = firstLine; line <= lastLine; line++) { - var range = {anchor: new Pos(line, baseCh), head: new Pos(line, headCh)}; - selections.push(range); - } - cm.setSelections(selections); - selectionEnd.ch = headCh; - base.ch = baseCh; - return base; - } - function selectForInsert(cm, head, height) { - var sel = []; - for (var i = 0; i < height; i++) { - var lineHead = offsetCursor(head, i, 0); - sel.push({anchor: lineHead, head: lineHead}); - } - cm.setSelections(sel, 0); - } - // getIndex returns the index of the cursor in the selections. - function getIndex(ranges, cursor, end) { - for (var i = 0; i < ranges.length; i++) { - var atAnchor = end != 'head' && cursorEqual(ranges[i].anchor, cursor); - var atHead = end != 'anchor' && cursorEqual(ranges[i].head, cursor); - if (atAnchor || atHead) { - return i; - } - } - return -1; - } - function getSelectedAreaRange(cm, vim) { - var lastSelection = vim.lastSelection; - var getCurrentSelectedAreaRange = function() { - var selections = cm.listSelections(); - var start = selections[0]; - var end = selections[selections.length-1]; - var selectionStart = cursorIsBefore(start.anchor, start.head) ? start.anchor : start.head; - var selectionEnd = cursorIsBefore(end.anchor, end.head) ? end.head : end.anchor; - return [selectionStart, selectionEnd]; - }; - var getLastSelectedAreaRange = function() { - var selectionStart = cm.getCursor(); - var selectionEnd = cm.getCursor(); - var block = lastSelection.visualBlock; - if (block) { - var width = block.width; - var height = block.height; - selectionEnd = Pos(selectionStart.line + height, selectionStart.ch + width); - var selections = []; - // selectBlock creates a 'proper' rectangular block. - // We do not want that in all cases, so we manually set selections. - for (var i = selectionStart.line; i < selectionEnd.line; i++) { - var anchor = Pos(i, selectionStart.ch); - var head = Pos(i, selectionEnd.ch); - var range = {anchor: anchor, head: head}; - selections.push(range); - } - cm.setSelections(selections); - } else { - var start = lastSelection.anchorMark.find(); - var end = lastSelection.headMark.find(); - var line = end.line - start.line; - var ch = end.ch - start.ch; - selectionEnd = {line: selectionEnd.line + line, ch: line ? selectionEnd.ch : ch + selectionEnd.ch}; - if (lastSelection.visualLine) { - selectionStart = Pos(selectionStart.line, 0); - selectionEnd = Pos(selectionEnd.line, lineLength(cm, selectionEnd.line)); - } - cm.setSelection(selectionStart, selectionEnd); - } - return [selectionStart, selectionEnd]; - }; - if (!vim.visualMode) { - // In case of replaying the action. - return getLastSelectedAreaRange(); - } else { - return getCurrentSelectedAreaRange(); - } - } - // Updates the previous selection with the current selection's values. This - // should only be called in visual mode. - function updateLastSelection(cm, vim) { - var anchor = vim.sel.anchor; - var head = vim.sel.head; - // To accommodate the effect of lastPastedText in the last selection - if (vim.lastPastedText) { - head = cm.posFromIndex(cm.indexFromPos(anchor) + vim.lastPastedText.length); - vim.lastPastedText = null; - } - vim.lastSelection = {'anchorMark': cm.setBookmark(anchor), - 'headMark': cm.setBookmark(head), - 'anchor': copyCursor(anchor), - 'head': copyCursor(head), - 'visualMode': vim.visualMode, - 'visualLine': vim.visualLine, - 'visualBlock': vim.visualBlock}; - } - function expandSelection(cm, start, end) { - var sel = cm.state.vim.sel; - var head = sel.head; - var anchor = sel.anchor; - var tmp; - if (cursorIsBefore(end, start)) { - tmp = end; - end = start; - start = tmp; - } - if (cursorIsBefore(head, anchor)) { - head = cursorMin(start, head); - anchor = cursorMax(anchor, end); - } else { - anchor = cursorMin(start, anchor); - head = cursorMax(head, end); - head = offsetCursor(head, 0, -1); - if (head.ch == -1 && head.line != cm.firstLine()) { - head = Pos(head.line - 1, lineLength(cm, head.line - 1)); - } - } - return [anchor, head]; - } - /** - * Updates the CodeMirror selection to match the provided vim selection. - * If no arguments are given, it uses the current vim selection state. - */ - function updateCmSelection(cm, sel, mode) { - var vim = cm.state.vim; - sel = sel || vim.sel; - var mode = mode || - vim.visualLine ? 'line' : vim.visualBlock ? 'block' : 'char'; - var cmSel = makeCmSelection(cm, sel, mode); - cm.setSelections(cmSel.ranges, cmSel.primary); - updateFakeCursor(cm); - } - function makeCmSelection(cm, sel, mode, exclusive) { - var head = copyCursor(sel.head); - var anchor = copyCursor(sel.anchor); - if (mode == 'char') { - var headOffset = !exclusive && !cursorIsBefore(sel.head, sel.anchor) ? 1 : 0; - var anchorOffset = cursorIsBefore(sel.head, sel.anchor) ? 1 : 0; - head = offsetCursor(sel.head, 0, headOffset); - anchor = offsetCursor(sel.anchor, 0, anchorOffset); - return { - ranges: [{anchor: anchor, head: head}], - primary: 0 - }; - } else if (mode == 'line') { - if (!cursorIsBefore(sel.head, sel.anchor)) { - anchor.ch = 0; - - var lastLine = cm.lastLine(); - if (head.line > lastLine) { - head.line = lastLine; - } - head.ch = lineLength(cm, head.line); - } else { - head.ch = 0; - anchor.ch = lineLength(cm, anchor.line); - } - return { - ranges: [{anchor: anchor, head: head}], - primary: 0 - }; - } else if (mode == 'block') { - var top = Math.min(anchor.line, head.line), - left = Math.min(anchor.ch, head.ch), - bottom = Math.max(anchor.line, head.line), - right = Math.max(anchor.ch, head.ch) + 1; - var height = bottom - top + 1; - var primary = head.line == top ? 0 : height - 1; - var ranges = []; - for (var i = 0; i < height; i++) { - ranges.push({ - anchor: Pos(top + i, left), - head: Pos(top + i, right) - }); - } - return { - ranges: ranges, - primary: primary - }; - } - } - function getHead(cm) { - var cur = cm.getCursor('head'); - if (cm.getSelection().length == 1) { - // Small corner case when only 1 character is selected. The "real" - // head is the left of head and anchor. - cur = cursorMin(cur, cm.getCursor('anchor')); - } - return cur; - } - - /** - * If moveHead is set to false, the CodeMirror selection will not be - * touched. The caller assumes the responsibility of putting the cursor - * in the right place. - */ - function exitVisualMode(cm, moveHead) { - var vim = cm.state.vim; - if (moveHead !== false) { - cm.setCursor(clipCursorToContent(cm, vim.sel.head)); - } - updateLastSelection(cm, vim); - vim.visualMode = false; - vim.visualLine = false; - vim.visualBlock = false; - CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); - if (vim.fakeCursor) { - vim.fakeCursor.clear(); - } - } - - // Remove any trailing newlines from the selection. For - // example, with the caret at the start of the last word on the line, - // 'dw' should word, but not the newline, while 'w' should advance the - // caret to the first character of the next line. - function clipToLine(cm, curStart, curEnd) { - var selection = cm.getRange(curStart, curEnd); - // Only clip if the selection ends with trailing newline + whitespace - if (/\n\s*$/.test(selection)) { - var lines = selection.split('\n'); - // We know this is all whitespace. - lines.pop(); - - // Cases: - // 1. Last word is an empty line - do not clip the trailing '\n' - // 2. Last word is not an empty line - clip the trailing '\n' - var line; - // Find the line containing the last word, and clip all whitespace up - // to it. - for (var line = lines.pop(); lines.length > 0 && line && isWhiteSpaceString(line); line = lines.pop()) { - curEnd.line--; - curEnd.ch = 0; - } - // If the last word is not an empty line, clip an additional newline - if (line) { - curEnd.line--; - curEnd.ch = lineLength(cm, curEnd.line); - } else { - curEnd.ch = 0; - } - } - } - - // Expand the selection to line ends. - function expandSelectionToLine(_cm, curStart, curEnd) { - curStart.ch = 0; - curEnd.ch = 0; - curEnd.line++; - } - - function findFirstNonWhiteSpaceCharacter(text) { - if (!text) { - return 0; - } - var firstNonWS = text.search(/\S/); - return firstNonWS == -1 ? text.length : firstNonWS; - } - - function expandWordUnderCursor(cm, inclusive, _forward, bigWord, noSymbol) { - var cur = getHead(cm); - var line = cm.getLine(cur.line); - var idx = cur.ch; - - // Seek to first word or non-whitespace character, depending on if - // noSymbol is true. - var test = noSymbol ? wordCharTest[0] : bigWordCharTest [0]; - while (!test(line.charAt(idx))) { - idx++; - if (idx >= line.length) { return null; } - } - - if (bigWord) { - test = bigWordCharTest[0]; - } else { - test = wordCharTest[0]; - if (!test(line.charAt(idx))) { - test = wordCharTest[1]; - } - } - - var end = idx, start = idx; - while (test(line.charAt(end)) && end < line.length) { end++; } - while (test(line.charAt(start)) && start >= 0) { start--; } - start++; - - if (inclusive) { - // If present, include all whitespace after word. - // Otherwise, include all whitespace before word, except indentation. - var wordEnd = end; - while (/\s/.test(line.charAt(end)) && end < line.length) { end++; } - if (wordEnd == end) { - var wordStart = start; - while (/\s/.test(line.charAt(start - 1)) && start > 0) { start--; } - if (!start) { start = wordStart; } - } - } - return { start: Pos(cur.line, start), end: Pos(cur.line, end) }; - } - - function recordJumpPosition(cm, oldCur, newCur) { - if (!cursorEqual(oldCur, newCur)) { - vimGlobalState.jumpList.add(cm, oldCur, newCur); - } - } - - function recordLastCharacterSearch(increment, args) { - vimGlobalState.lastCharacterSearch.increment = increment; - vimGlobalState.lastCharacterSearch.forward = args.forward; - vimGlobalState.lastCharacterSearch.selectedCharacter = args.selectedCharacter; - } - - var symbolToMode = { - '(': 'bracket', ')': 'bracket', '{': 'bracket', '}': 'bracket', - '[': 'section', ']': 'section', - '*': 'comment', '/': 'comment', - 'm': 'method', 'M': 'method', - '#': 'preprocess' - }; - var findSymbolModes = { - bracket: { - isComplete: function(state) { - if (state.nextCh === state.symb) { - state.depth++; - if (state.depth >= 1)return true; - } else if (state.nextCh === state.reverseSymb) { - state.depth--; - } - return false; - } - }, - section: { - init: function(state) { - state.curMoveThrough = true; - state.symb = (state.forward ? ']' : '[') === state.symb ? '{' : '}'; - }, - isComplete: function(state) { - return state.index === 0 && state.nextCh === state.symb; - } - }, - comment: { - isComplete: function(state) { - var found = state.lastCh === '*' && state.nextCh === '/'; - state.lastCh = state.nextCh; - return found; - } - }, - // TODO: The original Vim implementation only operates on level 1 and 2. - // The current implementation doesn't check for code block level and - // therefore it operates on any levels. - method: { - init: function(state) { - state.symb = (state.symb === 'm' ? '{' : '}'); - state.reverseSymb = state.symb === '{' ? '}' : '{'; - }, - isComplete: function(state) { - if (state.nextCh === state.symb)return true; - return false; - } - }, - preprocess: { - init: function(state) { - state.index = 0; - }, - isComplete: function(state) { - if (state.nextCh === '#') { - var token = state.lineText.match(/#(\w+)/)[1]; - if (token === 'endif') { - if (state.forward && state.depth === 0) { - return true; - } - state.depth++; - } else if (token === 'if') { - if (!state.forward && state.depth === 0) { - return true; - } - state.depth--; - } - if (token === 'else' && state.depth === 0)return true; - } - return false; - } - } - }; - function findSymbol(cm, repeat, forward, symb) { - var cur = copyCursor(cm.getCursor()); - var increment = forward ? 1 : -1; - var endLine = forward ? cm.lineCount() : -1; - var curCh = cur.ch; - var line = cur.line; - var lineText = cm.getLine(line); - var state = { - lineText: lineText, - nextCh: lineText.charAt(curCh), - lastCh: null, - index: curCh, - symb: symb, - reverseSymb: (forward ? { ')': '(', '}': '{' } : { '(': ')', '{': '}' })[symb], - forward: forward, - depth: 0, - curMoveThrough: false - }; - var mode = symbolToMode[symb]; - if (!mode)return cur; - var init = findSymbolModes[mode].init; - var isComplete = findSymbolModes[mode].isComplete; - if (init) { init(state); } - while (line !== endLine && repeat) { - state.index += increment; - state.nextCh = state.lineText.charAt(state.index); - if (!state.nextCh) { - line += increment; - state.lineText = cm.getLine(line) || ''; - if (increment > 0) { - state.index = 0; - } else { - var lineLen = state.lineText.length; - state.index = (lineLen > 0) ? (lineLen-1) : 0; - } - state.nextCh = state.lineText.charAt(state.index); - } - if (isComplete(state)) { - cur.line = line; - cur.ch = state.index; - repeat--; - } - } - if (state.nextCh || state.curMoveThrough) { - return Pos(line, state.index); - } - return cur; - } - - /* - * Returns the boundaries of the next word. If the cursor in the middle of - * the word, then returns the boundaries of the current word, starting at - * the cursor. If the cursor is at the start/end of a word, and we are going - * forward/backward, respectively, find the boundaries of the next word. - * - * @param {CodeMirror} cm CodeMirror object. - * @param {Cursor} cur The cursor position. - * @param {boolean} forward True to search forward. False to search - * backward. - * @param {boolean} bigWord True if punctuation count as part of the word. - * False if only [a-zA-Z0-9] characters count as part of the word. - * @param {boolean} emptyLineIsWord True if empty lines should be treated - * as words. - * @return {Object{from:number, to:number, line: number}} The boundaries of - * the word, or null if there are no more words. - */ - function findWord(cm, cur, forward, bigWord, emptyLineIsWord) { - var lineNum = cur.line; - var pos = cur.ch; - var line = cm.getLine(lineNum); - var dir = forward ? 1 : -1; - var charTests = bigWord ? bigWordCharTest: wordCharTest; - - if (emptyLineIsWord && line == '') { - lineNum += dir; - line = cm.getLine(lineNum); - if (!isLine(cm, lineNum)) { - return null; - } - pos = (forward) ? 0 : line.length; - } - - while (true) { - if (emptyLineIsWord && line == '') { - return { from: 0, to: 0, line: lineNum }; - } - var stop = (dir > 0) ? line.length : -1; - var wordStart = stop, wordEnd = stop; - // Find bounds of next word. - while (pos != stop) { - var foundWord = false; - for (var i = 0; i < charTests.length && !foundWord; ++i) { - if (charTests[i](line.charAt(pos))) { - wordStart = pos; - // Advance to end of word. - while (pos != stop && charTests[i](line.charAt(pos))) { - pos += dir; - } - wordEnd = pos; - foundWord = wordStart != wordEnd; - if (wordStart == cur.ch && lineNum == cur.line && - wordEnd == wordStart + dir) { - // We started at the end of a word. Find the next one. - continue; - } else { - return { - from: Math.min(wordStart, wordEnd + 1), - to: Math.max(wordStart, wordEnd), - line: lineNum }; - } - } - } - if (!foundWord) { - pos += dir; - } - } - // Advance to next/prev line. - lineNum += dir; - if (!isLine(cm, lineNum)) { - return null; - } - line = cm.getLine(lineNum); - pos = (dir > 0) ? 0 : line.length; - } - } - - /** - * @param {CodeMirror} cm CodeMirror object. - * @param {Pos} cur The position to start from. - * @param {int} repeat Number of words to move past. - * @param {boolean} forward True to search forward. False to search - * backward. - * @param {boolean} wordEnd True to move to end of word. False to move to - * beginning of word. - * @param {boolean} bigWord True if punctuation count as part of the word. - * False if only alphabet characters count as part of the word. - * @return {Cursor} The position the cursor should move to. - */ - function moveToWord(cm, cur, repeat, forward, wordEnd, bigWord) { - var curStart = copyCursor(cur); - var words = []; - if (forward && !wordEnd || !forward && wordEnd) { - repeat++; - } - // For 'e', empty lines are not considered words, go figure. - var emptyLineIsWord = !(forward && wordEnd); - for (var i = 0; i < repeat; i++) { - var word = findWord(cm, cur, forward, bigWord, emptyLineIsWord); - if (!word) { - var eodCh = lineLength(cm, cm.lastLine()); - words.push(forward - ? {line: cm.lastLine(), from: eodCh, to: eodCh} - : {line: 0, from: 0, to: 0}); - break; - } - words.push(word); - cur = Pos(word.line, forward ? (word.to - 1) : word.from); - } - var shortCircuit = words.length != repeat; - var firstWord = words[0]; - var lastWord = words.pop(); - if (forward && !wordEnd) { - // w - if (!shortCircuit && (firstWord.from != curStart.ch || firstWord.line != curStart.line)) { - // We did not start in the middle of a word. Discard the extra word at the end. - lastWord = words.pop(); - } - return Pos(lastWord.line, lastWord.from); - } else if (forward && wordEnd) { - return Pos(lastWord.line, lastWord.to - 1); - } else if (!forward && wordEnd) { - // ge - if (!shortCircuit && (firstWord.to != curStart.ch || firstWord.line != curStart.line)) { - // We did not start in the middle of a word. Discard the extra word at the end. - lastWord = words.pop(); - } - return Pos(lastWord.line, lastWord.to); - } else { - // b - return Pos(lastWord.line, lastWord.from); - } - } - - function moveToCharacter(cm, repeat, forward, character) { - var cur = cm.getCursor(); - var start = cur.ch; - var idx; - for (var i = 0; i < repeat; i ++) { - var line = cm.getLine(cur.line); - idx = charIdxInLine(start, line, character, forward, true); - if (idx == -1) { - return null; - } - start = idx; - } - return Pos(cm.getCursor().line, idx); - } - - function moveToColumn(cm, repeat) { - // repeat is always >= 1, so repeat - 1 always corresponds - // to the column we want to go to. - var line = cm.getCursor().line; - return clipCursorToContent(cm, Pos(line, repeat - 1)); - } - - function updateMark(cm, vim, markName, pos) { - if (!inArray(markName, validMarks)) { - return; - } - if (vim.marks[markName]) { - vim.marks[markName].clear(); - } - vim.marks[markName] = cm.setBookmark(pos); - } - - function charIdxInLine(start, line, character, forward, includeChar) { - // Search for char in line. - // motion_options: {forward, includeChar} - // If includeChar = true, include it too. - // If forward = true, search forward, else search backwards. - // If char is not found on this line, do nothing - var idx; - if (forward) { - idx = line.indexOf(character, start + 1); - if (idx != -1 && !includeChar) { - idx -= 1; - } - } else { - idx = line.lastIndexOf(character, start - 1); - if (idx != -1 && !includeChar) { - idx += 1; - } - } - return idx; - } - - function findParagraph(cm, head, repeat, dir, inclusive) { - var line = head.line; - var min = cm.firstLine(); - var max = cm.lastLine(); - var start, end, i = line; - function isEmpty(i) { return !cm.getLine(i); } - function isBoundary(i, dir, any) { - if (any) { return isEmpty(i) != isEmpty(i + dir); } - return !isEmpty(i) && isEmpty(i + dir); - } - if (dir) { - while (min <= i && i <= max && repeat > 0) { - if (isBoundary(i, dir)) { repeat--; } - i += dir; - } - return new Pos(i, 0); - } - - var vim = cm.state.vim; - if (vim.visualLine && isBoundary(line, 1, true)) { - var anchor = vim.sel.anchor; - if (isBoundary(anchor.line, -1, true)) { - if (!inclusive || anchor.line != line) { - line += 1; - } - } - } - var startState = isEmpty(line); - for (i = line; i <= max && repeat; i++) { - if (isBoundary(i, 1, true)) { - if (!inclusive || isEmpty(i) != startState) { - repeat--; - } - } - } - end = new Pos(i, 0); - // select boundary before paragraph for the last one - if (i > max && !startState) { startState = true; } - else { inclusive = false; } - for (i = line; i > min; i--) { - if (!inclusive || isEmpty(i) == startState || i == line) { - if (isBoundary(i, -1, true)) { break; } - } - } - start = new Pos(i, 0); - return { start: start, end: end }; - } - - // TODO: perhaps this finagling of start and end positions belonds - // in codemirror/replaceRange? - function selectCompanionObject(cm, head, symb, inclusive) { - var cur = head, start, end; - - var bracketRegexp = ({ - '(': /[()]/, ')': /[()]/, - '[': /[[\]]/, ']': /[[\]]/, - '{': /[{}]/, '}': /[{}]/})[symb]; - var openSym = ({ - '(': '(', ')': '(', - '[': '[', ']': '[', - '{': '{', '}': '{'})[symb]; - var curChar = cm.getLine(cur.line).charAt(cur.ch); - // Due to the behavior of scanForBracket, we need to add an offset if the - // cursor is on a matching open bracket. - var offset = curChar === openSym ? 1 : 0; - - start = cm.scanForBracket(Pos(cur.line, cur.ch + offset), -1, null, {'bracketRegex': bracketRegexp}); - end = cm.scanForBracket(Pos(cur.line, cur.ch + offset), 1, null, {'bracketRegex': bracketRegexp}); - - if (!start || !end) { - return { start: cur, end: cur }; - } - - start = start.pos; - end = end.pos; - - if ((start.line == end.line && start.ch > end.ch) - || (start.line > end.line)) { - var tmp = start; - start = end; - end = tmp; - } - - if (inclusive) { - end.ch += 1; - } else { - start.ch += 1; - } - - return { start: start, end: end }; - } - - // Takes in a symbol and a cursor and tries to simulate text objects that - // have identical opening and closing symbols - // TODO support across multiple lines - function findBeginningAndEnd(cm, head, symb, inclusive) { - var cur = copyCursor(head); - var line = cm.getLine(cur.line); - var chars = line.split(''); - var start, end, i, len; - var firstIndex = chars.indexOf(symb); - - // the decision tree is to always look backwards for the beginning first, - // but if the cursor is in front of the first instance of the symb, - // then move the cursor forward - if (cur.ch < firstIndex) { - cur.ch = firstIndex; - // Why is this line even here??? - // cm.setCursor(cur.line, firstIndex+1); - } - // otherwise if the cursor is currently on the closing symbol - else if (firstIndex < cur.ch && chars[cur.ch] == symb) { - end = cur.ch; // assign end to the current cursor - --cur.ch; // make sure to look backwards - } - - // if we're currently on the symbol, we've got a start - if (chars[cur.ch] == symb && !end) { - start = cur.ch + 1; // assign start to ahead of the cursor - } else { - // go backwards to find the start - for (i = cur.ch; i > -1 && !start; i--) { - if (chars[i] == symb) { - start = i + 1; - } - } - } - - // look forwards for the end symbol - if (start && !end) { - for (i = start, len = chars.length; i < len && !end; i++) { - if (chars[i] == symb) { - end = i; - } - } - } - - // nothing found - if (!start || !end) { - return { start: cur, end: cur }; - } - - // include the symbols - if (inclusive) { - --start; ++end; - } - - return { - start: Pos(cur.line, start), - end: Pos(cur.line, end) - }; - } - - // Search functions - defineOption('pcre', true, 'boolean'); - function SearchState() {} - SearchState.prototype = { - getQuery: function() { - return vimGlobalState.query; - }, - setQuery: function(query) { - vimGlobalState.query = query; - }, - getOverlay: function() { - return this.searchOverlay; - }, - setOverlay: function(overlay) { - this.searchOverlay = overlay; - }, - isReversed: function() { - return vimGlobalState.isReversed; - }, - setReversed: function(reversed) { - vimGlobalState.isReversed = reversed; - }, - getScrollbarAnnotate: function() { - return this.annotate; - }, - setScrollbarAnnotate: function(annotate) { - this.annotate = annotate; - } - }; - function getSearchState(cm) { - var vim = cm.state.vim; - return vim.searchState_ || (vim.searchState_ = new SearchState()); - } - function dialog(cm, template, shortText, onClose, options) { - if (cm.openDialog) { - cm.openDialog(template, onClose, { bottom: true, value: options.value, - onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp, - selectValueOnOpen: false}); - } - else { - onClose(prompt(shortText, '')); - } - } - function splitBySlash(argString) { - return splitBySeparator(argString, '/'); - } - - function findUnescapedSlashes(argString) { - return findUnescapedSeparators(argString, '/'); - } - - function splitBySeparator(argString, separator) { - var slashes = findUnescapedSeparators(argString, separator) || []; - if (!slashes.length) return []; - var tokens = []; - // in case of strings like foo/bar - if (slashes[0] !== 0) return; - for (var i = 0; i < slashes.length; i++) { - if (typeof slashes[i] == 'number') - tokens.push(argString.substring(slashes[i] + 1, slashes[i+1])); - } - return tokens; - } - - function findUnescapedSeparators(str, separator) { - if (!separator) - separator = '/'; - - var escapeNextChar = false; - var slashes = []; - for (var i = 0; i < str.length; i++) { - var c = str.charAt(i); - if (!escapeNextChar && c == separator) { - slashes.push(i); - } - escapeNextChar = !escapeNextChar && (c == '\\'); - } - return slashes; - } - - // Translates a search string from ex (vim) syntax into javascript form. - function translateRegex(str) { - // When these match, add a '\' if unescaped or remove one if escaped. - var specials = '|(){'; - // Remove, but never add, a '\' for these. - var unescape = '}'; - var escapeNextChar = false; - var out = []; - for (var i = -1; i < str.length; i++) { - var c = str.charAt(i) || ''; - var n = str.charAt(i+1) || ''; - var specialComesNext = (n && specials.indexOf(n) != -1); - if (escapeNextChar) { - if (c !== '\\' || !specialComesNext) { - out.push(c); - } - escapeNextChar = false; - } else { - if (c === '\\') { - escapeNextChar = true; - // Treat the unescape list as special for removing, but not adding '\'. - if (n && unescape.indexOf(n) != -1) { - specialComesNext = true; - } - // Not passing this test means removing a '\'. - if (!specialComesNext || n === '\\') { - out.push(c); - } - } else { - out.push(c); - if (specialComesNext && n !== '\\') { - out.push('\\'); - } - } - } - } - return out.join(''); - } - - // Translates the replace part of a search and replace from ex (vim) syntax into - // javascript form. Similar to translateRegex, but additionally fixes back references - // (translates '\[0..9]' to '$[0..9]') and follows different rules for escaping '$'. - var charUnescapes = {'\\n': '\n', '\\r': '\r', '\\t': '\t'}; - function translateRegexReplace(str) { - var escapeNextChar = false; - var out = []; - for (var i = -1; i < str.length; i++) { - var c = str.charAt(i) || ''; - var n = str.charAt(i+1) || ''; - if (charUnescapes[c + n]) { - out.push(charUnescapes[c+n]); - i++; - } else if (escapeNextChar) { - // At any point in the loop, escapeNextChar is true if the previous - // character was a '\' and was not escaped. - out.push(c); - escapeNextChar = false; - } else { - if (c === '\\') { - escapeNextChar = true; - if ((isNumber(n) || n === '$')) { - out.push('$'); - } else if (n !== '/' && n !== '\\') { - out.push('\\'); - } - } else { - if (c === '$') { - out.push('$'); - } - out.push(c); - if (n === '/') { - out.push('\\'); - } - } - } - } - return out.join(''); - } - - // Unescape \ and / in the replace part, for PCRE mode. - var unescapes = {'\\/': '/', '\\\\': '\\', '\\n': '\n', '\\r': '\r', '\\t': '\t'}; - function unescapeRegexReplace(str) { - var stream = new CodeMirror.StringStream(str); - var output = []; - while (!stream.eol()) { - // Search for \. - while (stream.peek() && stream.peek() != '\\') { - output.push(stream.next()); - } - var matched = false; - for (var matcher in unescapes) { - if (stream.match(matcher, true)) { - matched = true; - output.push(unescapes[matcher]); - break; - } - } - if (!matched) { - // Don't change anything - output.push(stream.next()); - } - } - return output.join(''); - } - - /** - * Extract the regular expression from the query and return a Regexp object. - * Returns null if the query is blank. - * If ignoreCase is passed in, the Regexp object will have the 'i' flag set. - * If smartCase is passed in, and the query contains upper case letters, - * then ignoreCase is overridden, and the 'i' flag will not be set. - * If the query contains the /i in the flag part of the regular expression, - * then both ignoreCase and smartCase are ignored, and 'i' will be passed - * through to the Regex object. - */ - function parseQuery(query, ignoreCase, smartCase) { - // First update the last search register - var lastSearchRegister = vimGlobalState.registerController.getRegister('/'); - lastSearchRegister.setText(query); - // Check if the query is already a regex. - if (query instanceof RegExp) { return query; } - // First try to extract regex + flags from the input. If no flags found, - // extract just the regex. IE does not accept flags directly defined in - // the regex string in the form /regex/flags - var slashes = findUnescapedSlashes(query); - var regexPart; - var forceIgnoreCase; - if (!slashes.length) { - // Query looks like 'regexp' - regexPart = query; - } else { - // Query looks like 'regexp/...' - regexPart = query.substring(0, slashes[0]); - var flagsPart = query.substring(slashes[0]); - forceIgnoreCase = (flagsPart.indexOf('i') != -1); - } - if (!regexPart) { - return null; - } - if (!getOption('pcre')) { - regexPart = translateRegex(regexPart); - } - if (smartCase) { - ignoreCase = (/^[^A-Z]*$/).test(regexPart); - } - var regexp = new RegExp(regexPart, - (ignoreCase || forceIgnoreCase) ? 'i' : undefined); - return regexp; - } - function showConfirm(cm, text) { - if (cm.openNotification) { - cm.openNotification('<span style="color: red">' + text + '</span>', - {bottom: true, duration: 5000}); - } else { - alert(text); - } - } - function makePrompt(prefix, desc) { - var raw = '<span style="font-family: monospace; white-space: pre">' + - (prefix || "") + '<input type="text"></span>'; - if (desc) - raw += ' <span style="color: #888">' + desc + '</span>'; - return raw; - } - var searchPromptDesc = '(Javascript regexp)'; - function showPrompt(cm, options) { - var shortText = (options.prefix || '') + ' ' + (options.desc || ''); - var prompt = makePrompt(options.prefix, options.desc); - dialog(cm, prompt, shortText, options.onClose, options); - } - function regexEqual(r1, r2) { - if (r1 instanceof RegExp && r2 instanceof RegExp) { - var props = ['global', 'multiline', 'ignoreCase', 'source']; - for (var i = 0; i < props.length; i++) { - var prop = props[i]; - if (r1[prop] !== r2[prop]) { - return false; - } - } - return true; - } - return false; - } - // Returns true if the query is valid. - function updateSearchQuery(cm, rawQuery, ignoreCase, smartCase) { - if (!rawQuery) { - return; - } - var state = getSearchState(cm); - var query = parseQuery(rawQuery, !!ignoreCase, !!smartCase); - if (!query) { - return; - } - highlightSearchMatches(cm, query); - if (regexEqual(query, state.getQuery())) { - return query; - } - state.setQuery(query); - return query; - } - function searchOverlay(query) { - if (query.source.charAt(0) == '^') { - var matchSol = true; - } - return { - token: function(stream) { - if (matchSol && !stream.sol()) { - stream.skipToEnd(); - return; - } - var match = stream.match(query, false); - if (match) { - if (match[0].length == 0) { - // Matched empty string, skip to next. - stream.next(); - return 'searching'; - } - if (!stream.sol()) { - // Backtrack 1 to match \b - stream.backUp(1); - if (!query.exec(stream.next() + match[0])) { - stream.next(); - return null; - } - } - stream.match(query); - return 'searching'; - } - while (!stream.eol()) { - stream.next(); - if (stream.match(query, false)) break; - } - }, - query: query - }; - } - function highlightSearchMatches(cm, query) { - var searchState = getSearchState(cm); - var overlay = searchState.getOverlay(); - if (!overlay || query != overlay.query) { - if (overlay) { - cm.removeOverlay(overlay); - } - overlay = searchOverlay(query); - cm.addOverlay(overlay); - if (cm.showMatchesOnScrollbar) { - if (searchState.getScrollbarAnnotate()) { - searchState.getScrollbarAnnotate().clear(); - } - searchState.setScrollbarAnnotate(cm.showMatchesOnScrollbar(query)); - } - searchState.setOverlay(overlay); - } - } - function findNext(cm, prev, query, repeat) { - if (repeat === undefined) { repeat = 1; } - return cm.operation(function() { - var pos = cm.getCursor(); - var cursor = cm.getSearchCursor(query, pos); - for (var i = 0; i < repeat; i++) { - var found = cursor.find(prev); - if (i == 0 && found && cursorEqual(cursor.from(), pos)) { found = cursor.find(prev); } - if (!found) { - // SearchCursor may have returned null because it hit EOF, wrap - // around and try again. - cursor = cm.getSearchCursor(query, - (prev) ? Pos(cm.lastLine()) : Pos(cm.firstLine(), 0) ); - if (!cursor.find(prev)) { - return; - } - } - } - return cursor.from(); - }); - } - function clearSearchHighlight(cm) { - var state = getSearchState(cm); - cm.removeOverlay(getSearchState(cm).getOverlay()); - state.setOverlay(null); - if (state.getScrollbarAnnotate()) { - state.getScrollbarAnnotate().clear(); - state.setScrollbarAnnotate(null); - } - } - /** - * Check if pos is in the specified range, INCLUSIVE. - * Range can be specified with 1 or 2 arguments. - * If the first range argument is an array, treat it as an array of line - * numbers. Match pos against any of the lines. - * If the first range argument is a number, - * if there is only 1 range argument, check if pos has the same line - * number - * if there are 2 range arguments, then check if pos is in between the two - * range arguments. - */ - function isInRange(pos, start, end) { - if (typeof pos != 'number') { - // Assume it is a cursor position. Get the line number. - pos = pos.line; - } - if (start instanceof Array) { - return inArray(pos, start); - } else { - if (end) { - return (pos >= start && pos <= end); - } else { - return pos == start; - } - } - } - function getUserVisibleLines(cm) { - var scrollInfo = cm.getScrollInfo(); - var occludeToleranceTop = 6; - var occludeToleranceBottom = 10; - var from = cm.coordsChar({left:0, top: occludeToleranceTop + scrollInfo.top}, 'local'); - var bottomY = scrollInfo.clientHeight - occludeToleranceBottom + scrollInfo.top; - var to = cm.coordsChar({left:0, top: bottomY}, 'local'); - return {top: from.line, bottom: to.line}; - } - - function getMarkPos(cm, vim, markName) { - if (markName == '\'') { - var history = cm.doc.history.done; - var event = history[history.length - 2]; - return event && event.ranges && event.ranges[0].head; - } else if (markName == '.') { - if (cm.doc.history.lastModTime == 0) { - return // If no changes, bail out; don't bother to copy or reverse history array. - } else { - var changeHistory = cm.doc.history.done.filter(function(el){ if (el.changes !== undefined) { return el } }); - changeHistory.reverse(); - var lastEditPos = changeHistory[0].changes[0].to; - } - return lastEditPos; - } - - var mark = vim.marks[markName]; - return mark && mark.find(); - } - - var ExCommandDispatcher = function() { - this.buildCommandMap_(); - }; - ExCommandDispatcher.prototype = { - processCommand: function(cm, input, opt_params) { - var that = this; - cm.operation(function () { - cm.curOp.isVimOp = true; - that._processCommand(cm, input, opt_params); - }); - }, - _processCommand: function(cm, input, opt_params) { - var vim = cm.state.vim; - var commandHistoryRegister = vimGlobalState.registerController.getRegister(':'); - var previousCommand = commandHistoryRegister.toString(); - if (vim.visualMode) { - exitVisualMode(cm); - } - var inputStream = new CodeMirror.StringStream(input); - // update ": with the latest command whether valid or invalid - commandHistoryRegister.setText(input); - var params = opt_params || {}; - params.input = input; - try { - this.parseInput_(cm, inputStream, params); - } catch(e) { - showConfirm(cm, e); - throw e; - } - var command; - var commandName; - if (!params.commandName) { - // If only a line range is defined, move to the line. - if (params.line !== undefined) { - commandName = 'move'; - } - } else { - command = this.matchCommand_(params.commandName); - if (command) { - commandName = command.name; - if (command.excludeFromCommandHistory) { - commandHistoryRegister.setText(previousCommand); - } - this.parseCommandArgs_(inputStream, params, command); - if (command.type == 'exToKey') { - // Handle Ex to Key mapping. - for (var i = 0; i < command.toKeys.length; i++) { - CodeMirror.Vim.handleKey(cm, command.toKeys[i], 'mapping'); - } - return; - } else if (command.type == 'exToEx') { - // Handle Ex to Ex mapping. - this.processCommand(cm, command.toInput); - return; - } - } - } - if (!commandName) { - showConfirm(cm, 'Not an editor command ":' + input + '"'); - return; - } - try { - exCommands[commandName](cm, params); - // Possibly asynchronous commands (e.g. substitute, which might have a - // user confirmation), are responsible for calling the callback when - // done. All others have it taken care of for them here. - if ((!command || !command.possiblyAsync) && params.callback) { - params.callback(); - } - } catch(e) { - showConfirm(cm, e); - throw e; - } - }, - parseInput_: function(cm, inputStream, result) { - inputStream.eatWhile(':'); - // Parse range. - if (inputStream.eat('%')) { - result.line = cm.firstLine(); - result.lineEnd = cm.lastLine(); - } else { - result.line = this.parseLineSpec_(cm, inputStream); - if (result.line !== undefined && inputStream.eat(',')) { - result.lineEnd = this.parseLineSpec_(cm, inputStream); - } - } - - // Parse command name. - var commandMatch = inputStream.match(/^(\w+)/); - if (commandMatch) { - result.commandName = commandMatch[1]; - } else { - result.commandName = inputStream.match(/.*/)[0]; - } - - return result; - }, - parseLineSpec_: function(cm, inputStream) { - var numberMatch = inputStream.match(/^(\d+)/); - if (numberMatch) { - // Absolute line number plus offset (N+M or N-M) is probably a typo, - // not something the user actually wanted. (NB: vim does allow this.) - return parseInt(numberMatch[1], 10) - 1; - } - switch (inputStream.next()) { - case '.': - return this.parseLineSpecOffset_(inputStream, cm.getCursor().line); - case '$': - return this.parseLineSpecOffset_(inputStream, cm.lastLine()); - case '\'': - var markName = inputStream.next(); - var markPos = getMarkPos(cm, cm.state.vim, markName); - if (!markPos) throw new Error('Mark not set'); - return this.parseLineSpecOffset_(inputStream, markPos.line); - case '-': - case '+': - inputStream.backUp(1); - // Offset is relative to current line if not otherwise specified. - return this.parseLineSpecOffset_(inputStream, cm.getCursor().line); - default: - inputStream.backUp(1); - return undefined; - } - }, - parseLineSpecOffset_: function(inputStream, line) { - var offsetMatch = inputStream.match(/^([+-])?(\d+)/); - if (offsetMatch) { - var offset = parseInt(offsetMatch[2], 10); - if (offsetMatch[1] == "-") { - line -= offset; - } else { - line += offset; - } - } - return line; - }, - parseCommandArgs_: function(inputStream, params, command) { - if (inputStream.eol()) { - return; - } - params.argString = inputStream.match(/.*/)[0]; - // Parse command-line arguments - var delim = command.argDelimiter || /\s+/; - var args = trim(params.argString).split(delim); - if (args.length && args[0]) { - params.args = args; - } - }, - matchCommand_: function(commandName) { - // Return the command in the command map that matches the shortest - // prefix of the passed in command name. The match is guaranteed to be - // unambiguous if the defaultExCommandMap's shortNames are set up - // correctly. (see @code{defaultExCommandMap}). - for (var i = commandName.length; i > 0; i--) { - var prefix = commandName.substring(0, i); - if (this.commandMap_[prefix]) { - var command = this.commandMap_[prefix]; - if (command.name.indexOf(commandName) === 0) { - return command; - } - } - } - return null; - }, - buildCommandMap_: function() { - this.commandMap_ = {}; - for (var i = 0; i < defaultExCommandMap.length; i++) { - var command = defaultExCommandMap[i]; - var key = command.shortName || command.name; - this.commandMap_[key] = command; - } - }, - map: function(lhs, rhs, ctx) { - if (lhs != ':' && lhs.charAt(0) == ':') { - if (ctx) { throw Error('Mode not supported for ex mappings'); } - var commandName = lhs.substring(1); - if (rhs != ':' && rhs.charAt(0) == ':') { - // Ex to Ex mapping - this.commandMap_[commandName] = { - name: commandName, - type: 'exToEx', - toInput: rhs.substring(1), - user: true - }; - } else { - // Ex to key mapping - this.commandMap_[commandName] = { - name: commandName, - type: 'exToKey', - toKeys: rhs, - user: true - }; - } - } else { - if (rhs != ':' && rhs.charAt(0) == ':') { - // Key to Ex mapping. - var mapping = { - keys: lhs, - type: 'keyToEx', - exArgs: { input: rhs.substring(1) } - }; - if (ctx) { mapping.context = ctx; } - defaultKeymap.unshift(mapping); - } else { - // Key to key mapping - var mapping = { - keys: lhs, - type: 'keyToKey', - toKeys: rhs - }; - if (ctx) { mapping.context = ctx; } - defaultKeymap.unshift(mapping); - } - } - }, - unmap: function(lhs, ctx) { - if (lhs != ':' && lhs.charAt(0) == ':') { - // Ex to Ex or Ex to key mapping - if (ctx) { throw Error('Mode not supported for ex mappings'); } - var commandName = lhs.substring(1); - if (this.commandMap_[commandName] && this.commandMap_[commandName].user) { - delete this.commandMap_[commandName]; - return; - } - } else { - // Key to Ex or key to key mapping - var keys = lhs; - for (var i = 0; i < defaultKeymap.length; i++) { - if (keys == defaultKeymap[i].keys - && defaultKeymap[i].context === ctx) { - defaultKeymap.splice(i, 1); - return; - } - } - } - throw Error('No such mapping.'); - } - }; - - var exCommands = { - colorscheme: function(cm, params) { - if (!params.args || params.args.length < 1) { - showConfirm(cm, cm.getOption('theme')); - return; - } - cm.setOption('theme', params.args[0]); - }, - map: function(cm, params, ctx) { - var mapArgs = params.args; - if (!mapArgs || mapArgs.length < 2) { - if (cm) { - showConfirm(cm, 'Invalid mapping: ' + params.input); - } - return; - } - exCommandDispatcher.map(mapArgs[0], mapArgs[1], ctx); - }, - imap: function(cm, params) { this.map(cm, params, 'insert'); }, - nmap: function(cm, params) { this.map(cm, params, 'normal'); }, - vmap: function(cm, params) { this.map(cm, params, 'visual'); }, - unmap: function(cm, params, ctx) { - var mapArgs = params.args; - if (!mapArgs || mapArgs.length < 1) { - if (cm) { - showConfirm(cm, 'No such mapping: ' + params.input); - } - return; - } - exCommandDispatcher.unmap(mapArgs[0], ctx); - }, - move: function(cm, params) { - commandDispatcher.processCommand(cm, cm.state.vim, { - type: 'motion', - motion: 'moveToLineOrEdgeOfDocument', - motionArgs: { forward: false, explicitRepeat: true, - linewise: true }, - repeatOverride: params.line+1}); - }, - set: function(cm, params) { - var setArgs = params.args; - // Options passed through to the setOption/getOption calls. May be passed in by the - // local/global versions of the set command - var setCfg = params.setCfg || {}; - if (!setArgs || setArgs.length < 1) { - if (cm) { - showConfirm(cm, 'Invalid mapping: ' + params.input); - } - return; - } - var expr = setArgs[0].split('='); - var optionName = expr[0]; - var value = expr[1]; - var forceGet = false; - - if (optionName.charAt(optionName.length - 1) == '?') { - // If post-fixed with ?, then the set is actually a get. - if (value) { throw Error('Trailing characters: ' + params.argString); } - optionName = optionName.substring(0, optionName.length - 1); - forceGet = true; - } - if (value === undefined && optionName.substring(0, 2) == 'no') { - // To set boolean options to false, the option name is prefixed with - // 'no'. - optionName = optionName.substring(2); - value = false; - } - - var optionIsBoolean = options[optionName] && options[optionName].type == 'boolean'; - if (optionIsBoolean && value == undefined) { - // Calling set with a boolean option sets it to true. - value = true; - } - // If no value is provided, then we assume this is a get. - if (!optionIsBoolean && value === undefined || forceGet) { - var oldValue = getOption(optionName, cm, setCfg); - if (oldValue instanceof Error) { - showConfirm(cm, oldValue.message); - } else if (oldValue === true || oldValue === false) { - showConfirm(cm, ' ' + (oldValue ? '' : 'no') + optionName); - } else { - showConfirm(cm, ' ' + optionName + '=' + oldValue); - } - } else { - var setOptionReturn = setOption(optionName, value, cm, setCfg); - if (setOptionReturn instanceof Error) { - showConfirm(cm, setOptionReturn.message); - } - } - }, - setlocal: function (cm, params) { - // setCfg is passed through to setOption - params.setCfg = {scope: 'local'}; - this.set(cm, params); - }, - setglobal: function (cm, params) { - // setCfg is passed through to setOption - params.setCfg = {scope: 'global'}; - this.set(cm, params); - }, - registers: function(cm, params) { - var regArgs = params.args; - var registers = vimGlobalState.registerController.registers; - var regInfo = '----------Registers----------<br><br>'; - if (!regArgs) { - for (var registerName in registers) { - var text = registers[registerName].toString(); - if (text.length) { - regInfo += '"' + registerName + ' ' + text + '<br>'; - } - } - } else { - var registerName; - regArgs = regArgs.join(''); - for (var i = 0; i < regArgs.length; i++) { - registerName = regArgs.charAt(i); - if (!vimGlobalState.registerController.isValidRegister(registerName)) { - continue; - } - var register = registers[registerName] || new Register(); - regInfo += '"' + registerName + ' ' + register.toString() + '<br>'; - } - } - showConfirm(cm, regInfo); - }, - sort: function(cm, params) { - var reverse, ignoreCase, unique, number, pattern; - function parseArgs() { - if (params.argString) { - var args = new CodeMirror.StringStream(params.argString); - if (args.eat('!')) { reverse = true; } - if (args.eol()) { return; } - if (!args.eatSpace()) { return 'Invalid arguments'; } - var opts = args.match(/([dinuox]+)?\s*(\/.+\/)?\s*/); - if (!opts && !args.eol()) { return 'Invalid arguments'; } - if (opts[1]) { - ignoreCase = opts[1].indexOf('i') != -1; - unique = opts[1].indexOf('u') != -1; - var decimal = opts[1].indexOf('d') != -1 || opts[1].indexOf('n') != -1 && 1; - var hex = opts[1].indexOf('x') != -1 && 1; - var octal = opts[1].indexOf('o') != -1 && 1; - if (decimal + hex + octal > 1) { return 'Invalid arguments'; } - number = decimal && 'decimal' || hex && 'hex' || octal && 'octal'; - } - if (opts[2]) { - pattern = new RegExp(opts[2].substr(1, opts[2].length - 2), ignoreCase ? 'i' : ''); - } - } - } - var err = parseArgs(); - if (err) { - showConfirm(cm, err + ': ' + params.argString); - return; - } - var lineStart = params.line || cm.firstLine(); - var lineEnd = params.lineEnd || params.line || cm.lastLine(); - if (lineStart == lineEnd) { return; } - var curStart = Pos(lineStart, 0); - var curEnd = Pos(lineEnd, lineLength(cm, lineEnd)); - var text = cm.getRange(curStart, curEnd).split('\n'); - var numberRegex = pattern ? pattern : - (number == 'decimal') ? /(-?)([\d]+)/ : - (number == 'hex') ? /(-?)(?:0x)?([0-9a-f]+)/i : - (number == 'octal') ? /([0-7]+)/ : null; - var radix = (number == 'decimal') ? 10 : (number == 'hex') ? 16 : (number == 'octal') ? 8 : null; - var numPart = [], textPart = []; - if (number || pattern) { - for (var i = 0; i < text.length; i++) { - var matchPart = pattern ? text[i].match(pattern) : null; - if (matchPart && matchPart[0] != '') { - numPart.push(matchPart); - } else if (!pattern && numberRegex.exec(text[i])) { - numPart.push(text[i]); - } else { - textPart.push(text[i]); - } - } - } else { - textPart = text; - } - function compareFn(a, b) { - if (reverse) { var tmp; tmp = a; a = b; b = tmp; } - if (ignoreCase) { a = a.toLowerCase(); b = b.toLowerCase(); } - var anum = number && numberRegex.exec(a); - var bnum = number && numberRegex.exec(b); - if (!anum) { return a < b ? -1 : 1; } - anum = parseInt((anum[1] + anum[2]).toLowerCase(), radix); - bnum = parseInt((bnum[1] + bnum[2]).toLowerCase(), radix); - return anum - bnum; - } - function comparePatternFn(a, b) { - if (reverse) { var tmp; tmp = a; a = b; b = tmp; } - if (ignoreCase) { a[0] = a[0].toLowerCase(); b[0] = b[0].toLowerCase(); } - return (a[0] < b[0]) ? -1 : 1; - } - numPart.sort(pattern ? comparePatternFn : compareFn); - if (pattern) { - for (var i = 0; i < numPart.length; i++) { - numPart[i] = numPart[i].input; - } - } else if (!number) { textPart.sort(compareFn); } - text = (!reverse) ? textPart.concat(numPart) : numPart.concat(textPart); - if (unique) { // Remove duplicate lines - var textOld = text; - var lastLine; - text = []; - for (var i = 0; i < textOld.length; i++) { - if (textOld[i] != lastLine) { - text.push(textOld[i]); - } - lastLine = textOld[i]; - } - } - cm.replaceRange(text.join('\n'), curStart, curEnd); - }, - global: function(cm, params) { - // a global command is of the form - // :[range]g/pattern/[cmd] - // argString holds the string /pattern/[cmd] - var argString = params.argString; - if (!argString) { - showConfirm(cm, 'Regular Expression missing from global'); - return; - } - // range is specified here - var lineStart = (params.line !== undefined) ? params.line : cm.firstLine(); - var lineEnd = params.lineEnd || params.line || cm.lastLine(); - // get the tokens from argString - var tokens = splitBySlash(argString); - var regexPart = argString, cmd; - if (tokens.length) { - regexPart = tokens[0]; - cmd = tokens.slice(1, tokens.length).join('/'); - } - if (regexPart) { - // If regex part is empty, then use the previous query. Otherwise - // use the regex part as the new query. - try { - updateSearchQuery(cm, regexPart, true /** ignoreCase */, - true /** smartCase */); - } catch (e) { - showConfirm(cm, 'Invalid regex: ' + regexPart); - return; - } - } - // now that we have the regexPart, search for regex matches in the - // specified range of lines - var query = getSearchState(cm).getQuery(); - var matchedLines = [], content = ''; - for (var i = lineStart; i <= lineEnd; i++) { - var matched = query.test(cm.getLine(i)); - if (matched) { - matchedLines.push(i+1); - content+= cm.getLine(i) + '<br>'; - } - } - // if there is no [cmd], just display the list of matched lines - if (!cmd) { - showConfirm(cm, content); - return; - } - var index = 0; - var nextCommand = function() { - if (index < matchedLines.length) { - var command = matchedLines[index] + cmd; - exCommandDispatcher.processCommand(cm, command, { - callback: nextCommand - }); - } - index++; - }; - nextCommand(); - }, - substitute: function(cm, params) { - if (!cm.getSearchCursor) { - throw new Error('Search feature not available. Requires searchcursor.js or ' + - 'any other getSearchCursor implementation.'); - } - var argString = params.argString; - var tokens = argString ? splitBySeparator(argString, argString[0]) : []; - var regexPart, replacePart = '', trailing, flagsPart, count; - var confirm = false; // Whether to confirm each replace. - var global = false; // True to replace all instances on a line, false to replace only 1. - if (tokens.length) { - regexPart = tokens[0]; - replacePart = tokens[1]; - if (regexPart && regexPart[regexPart.length - 1] === '$') { - regexPart = regexPart.slice(0, regexPart.length - 1) + '\\n'; - replacePart = replacePart ? replacePart + '\n' : '\n'; - } - if (replacePart !== undefined) { - if (getOption('pcre')) { - replacePart = unescapeRegexReplace(replacePart); - } else { - replacePart = translateRegexReplace(replacePart); - } - vimGlobalState.lastSubstituteReplacePart = replacePart; - } - trailing = tokens[2] ? tokens[2].split(' ') : []; - } else { - // either the argString is empty or its of the form ' hello/world' - // actually splitBySlash returns a list of tokens - // only if the string starts with a '/' - if (argString && argString.length) { - showConfirm(cm, 'Substitutions should be of the form ' + - ':s/pattern/replace/'); - return; - } - } - // After the 3rd slash, we can have flags followed by a space followed - // by count. - if (trailing) { - flagsPart = trailing[0]; - count = parseInt(trailing[1]); - if (flagsPart) { - if (flagsPart.indexOf('c') != -1) { - confirm = true; - flagsPart.replace('c', ''); - } - if (flagsPart.indexOf('g') != -1) { - global = true; - flagsPart.replace('g', ''); - } - regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart; - } - } - if (regexPart) { - // If regex part is empty, then use the previous query. Otherwise use - // the regex part as the new query. - try { - updateSearchQuery(cm, regexPart, true /** ignoreCase */, - true /** smartCase */); - } catch (e) { - showConfirm(cm, 'Invalid regex: ' + regexPart); - return; - } - } - replacePart = replacePart || vimGlobalState.lastSubstituteReplacePart; - if (replacePart === undefined) { - showConfirm(cm, 'No previous substitute regular expression'); - return; - } - var state = getSearchState(cm); - var query = state.getQuery(); - var lineStart = (params.line !== undefined) ? params.line : cm.getCursor().line; - var lineEnd = params.lineEnd || lineStart; - if (lineStart == cm.firstLine() && lineEnd == cm.lastLine()) { - lineEnd = Infinity; - } - if (count) { - lineStart = lineEnd; - lineEnd = lineStart + count - 1; - } - var startPos = clipCursorToContent(cm, Pos(lineStart, 0)); - var cursor = cm.getSearchCursor(query, startPos); - doReplace(cm, confirm, global, lineStart, lineEnd, cursor, query, replacePart, params.callback); - }, - redo: CodeMirror.commands.redo, - undo: CodeMirror.commands.undo, - write: function(cm) { - if (CodeMirror.commands.save) { - // If a save command is defined, call it. - CodeMirror.commands.save(cm); - } else if (cm.save) { - // Saves to text area if no save command is defined and cm.save() is available. - cm.save(); - } - }, - nohlsearch: function(cm) { - clearSearchHighlight(cm); - }, - yank: function (cm) { - var cur = copyCursor(cm.getCursor()); - var line = cur.line; - var lineText = cm.getLine(line); - vimGlobalState.registerController.pushText( - '0', 'yank', lineText, true, true); - }, - delmarks: function(cm, params) { - if (!params.argString || !trim(params.argString)) { - showConfirm(cm, 'Argument required'); - return; - } - - var state = cm.state.vim; - var stream = new CodeMirror.StringStream(trim(params.argString)); - while (!stream.eol()) { - stream.eatSpace(); - - // Record the streams position at the beginning of the loop for use - // in error messages. - var count = stream.pos; - - if (!stream.match(/[a-zA-Z]/, false)) { - showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); - return; - } - - var sym = stream.next(); - // Check if this symbol is part of a range - if (stream.match('-', true)) { - // This symbol is part of a range. - - // The range must terminate at an alphabetic character. - if (!stream.match(/[a-zA-Z]/, false)) { - showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); - return; - } - - var startMark = sym; - var finishMark = stream.next(); - // The range must terminate at an alphabetic character which - // shares the same case as the start of the range. - if (isLowerCase(startMark) && isLowerCase(finishMark) || - isUpperCase(startMark) && isUpperCase(finishMark)) { - var start = startMark.charCodeAt(0); - var finish = finishMark.charCodeAt(0); - if (start >= finish) { - showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); - return; - } - - // Because marks are always ASCII values, and we have - // determined that they are the same case, we can use - // their char codes to iterate through the defined range. - for (var j = 0; j <= finish - start; j++) { - var mark = String.fromCharCode(start + j); - delete state.marks[mark]; - } - } else { - showConfirm(cm, 'Invalid argument: ' + startMark + '-'); - return; - } - } else { - // This symbol is a valid mark, and is not part of a range. - delete state.marks[sym]; - } - } - } - }; - - var exCommandDispatcher = new ExCommandDispatcher(); - - /** - * @param {CodeMirror} cm CodeMirror instance we are in. - * @param {boolean} confirm Whether to confirm each replace. - * @param {Cursor} lineStart Line to start replacing from. - * @param {Cursor} lineEnd Line to stop replacing at. - * @param {RegExp} query Query for performing matches with. - * @param {string} replaceWith Text to replace matches with. May contain $1, - * $2, etc for replacing captured groups using Javascript replace. - * @param {function()} callback A callback for when the replace is done. - */ - function doReplace(cm, confirm, global, lineStart, lineEnd, searchCursor, query, - replaceWith, callback) { - // Set up all the functions. - cm.state.vim.exMode = true; - var done = false; - var lastPos = searchCursor.from(); - function replaceAll() { - cm.operation(function() { - while (!done) { - replace(); - next(); - } - stop(); - }); - } - function replace() { - var text = cm.getRange(searchCursor.from(), searchCursor.to()); - var newText = text.replace(query, replaceWith); - searchCursor.replace(newText); - } - function next() { - // The below only loops to skip over multiple occurrences on the same - // line when 'global' is not true. - while(searchCursor.findNext() && - isInRange(searchCursor.from(), lineStart, lineEnd)) { - if (!global && lastPos && searchCursor.from().line == lastPos.line) { - continue; - } - cm.scrollIntoView(searchCursor.from(), 30); - cm.setSelection(searchCursor.from(), searchCursor.to()); - lastPos = searchCursor.from(); - done = false; - return; - } - done = true; - } - function stop(close) { - if (close) { close(); } - cm.focus(); - if (lastPos) { - cm.setCursor(lastPos); - var vim = cm.state.vim; - vim.exMode = false; - vim.lastHPos = vim.lastHSPos = lastPos.ch; - } - if (callback) { callback(); } - } - function onPromptKeyDown(e, _value, close) { - // Swallow all keys. - CodeMirror.e_stop(e); - var keyName = CodeMirror.keyName(e); - switch (keyName) { - case 'Y': - replace(); next(); break; - case 'N': - next(); break; - case 'A': - // replaceAll contains a call to close of its own. We don't want it - // to fire too early or multiple times. - var savedCallback = callback; - callback = undefined; - cm.operation(replaceAll); - callback = savedCallback; - break; - case 'L': - replace(); - // fall through and exit. - case 'Q': - case 'Esc': - case 'Ctrl-C': - case 'Ctrl-[': - stop(close); - break; - } - if (done) { stop(close); } - return true; - } - - // Actually do replace. - next(); - if (done) { - showConfirm(cm, 'No matches for ' + query.source); - return; - } - if (!confirm) { - replaceAll(); - if (callback) { callback(); } - return; - } - showPrompt(cm, { - prefix: 'replace with <strong>' + replaceWith + '</strong> (y/n/a/q/l)', - onKeyDown: onPromptKeyDown - }); - } - - CodeMirror.keyMap.vim = { - attach: attachVimMap, - detach: detachVimMap, - call: cmKey - }; - - function exitInsertMode(cm) { - var vim = cm.state.vim; - var macroModeState = vimGlobalState.macroModeState; - var insertModeChangeRegister = vimGlobalState.registerController.getRegister('.'); - var isPlaying = macroModeState.isPlaying; - var lastChange = macroModeState.lastInsertModeChanges; - // In case of visual block, the insertModeChanges are not saved as a - // single word, so we convert them to a single word - // so as to update the ". register as expected in real vim. - var text = []; - if (!isPlaying) { - var selLength = lastChange.inVisualBlock && vim.lastSelection ? - vim.lastSelection.visualBlock.height : 1; - var changes = lastChange.changes; - var text = []; - var i = 0; - // In case of multiple selections in blockwise visual, - // the inserted text, for example: 'f<Backspace>oo', is stored as - // 'f', 'f', InsertModeKey 'o', 'o', 'o', 'o'. (if you have a block with 2 lines). - // We push the contents of the changes array as per the following: - // 1. In case of InsertModeKey, just increment by 1. - // 2. In case of a character, jump by selLength (2 in the example). - while (i < changes.length) { - // This loop will convert 'ff<bs>oooo' to 'f<bs>oo'. - text.push(changes[i]); - if (changes[i] instanceof InsertModeKey) { - i++; - } else { - i+= selLength; - } - } - lastChange.changes = text; - cm.off('change', onChange); - CodeMirror.off(cm.getInputField(), 'keydown', onKeyEventTargetKeyDown); - } - if (!isPlaying && vim.insertModeRepeat > 1) { - // Perform insert mode repeat for commands like 3,a and 3,o. - repeatLastEdit(cm, vim, vim.insertModeRepeat - 1, - true /** repeatForInsert */); - vim.lastEditInputState.repeatOverride = vim.insertModeRepeat; - } - delete vim.insertModeRepeat; - vim.insertMode = false; - cm.setCursor(cm.getCursor().line, cm.getCursor().ch-1); - cm.setOption('keyMap', 'vim'); - cm.setOption('disableInput', true); - cm.toggleOverwrite(false); // exit replace mode if we were in it. - // update the ". register before exiting insert mode - insertModeChangeRegister.setText(lastChange.changes.join('')); - CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); - if (macroModeState.isRecording) { - logInsertModeChange(macroModeState); - } - } - - function _mapCommand(command) { - defaultKeymap.unshift(command); - } - - function mapCommand(keys, type, name, args, extra) { - var command = {keys: keys, type: type}; - command[type] = name; - command[type + "Args"] = args; - for (var key in extra) - command[key] = extra[key]; - _mapCommand(command); - } - - // The timeout in milliseconds for the two-character ESC keymap should be - // adjusted according to your typing speed to prevent false positives. - defineOption('insertModeEscKeysTimeout', 200, 'number'); - - CodeMirror.keyMap['vim-insert'] = { - // TODO: override navigation keys so that Esc will cancel automatic - // indentation from o, O, i_<CR> - fallthrough: ['default'], - attach: attachVimMap, - detach: detachVimMap, - call: cmKey - }; - - CodeMirror.keyMap['vim-replace'] = { - 'Backspace': 'goCharLeft', - fallthrough: ['vim-insert'], - attach: attachVimMap, - detach: detachVimMap, - call: cmKey - }; - - function executeMacroRegister(cm, vim, macroModeState, registerName) { - var register = vimGlobalState.registerController.getRegister(registerName); - if (registerName == ':') { - // Read-only register containing last Ex command. - if (register.keyBuffer[0]) { - exCommandDispatcher.processCommand(cm, register.keyBuffer[0]); - } - macroModeState.isPlaying = false; - return; - } - var keyBuffer = register.keyBuffer; - var imc = 0; - macroModeState.isPlaying = true; - macroModeState.replaySearchQueries = register.searchQueries.slice(0); - for (var i = 0; i < keyBuffer.length; i++) { - var text = keyBuffer[i]; - var match, key; - while (text) { - // Pull off one command key, which is either a single character - // or a special sequence wrapped in '<' and '>', e.g. '<Space>'. - match = (/<\w+-.+?>|<\w+>|./).exec(text); - key = match[0]; - text = text.substring(match.index + key.length); - CodeMirror.Vim.handleKey(cm, key, 'macro'); - if (vim.insertMode) { - var changes = register.insertModeChanges[imc++].changes; - vimGlobalState.macroModeState.lastInsertModeChanges.changes = - changes; - repeatInsertModeChanges(cm, changes, 1); - exitInsertMode(cm); - } - } - } - macroModeState.isPlaying = false; - } - - function logKey(macroModeState, key) { - if (macroModeState.isPlaying) { return; } - var registerName = macroModeState.latestRegister; - var register = vimGlobalState.registerController.getRegister(registerName); - if (register) { - register.pushText(key); - } - } - - function logInsertModeChange(macroModeState) { - if (macroModeState.isPlaying) { return; } - var registerName = macroModeState.latestRegister; - var register = vimGlobalState.registerController.getRegister(registerName); - if (register && register.pushInsertModeChanges) { - register.pushInsertModeChanges(macroModeState.lastInsertModeChanges); - } - } - - function logSearchQuery(macroModeState, query) { - if (macroModeState.isPlaying) { return; } - var registerName = macroModeState.latestRegister; - var register = vimGlobalState.registerController.getRegister(registerName); - if (register && register.pushSearchQuery) { - register.pushSearchQuery(query); - } - } - - /** - * Listens for changes made in insert mode. - * Should only be active in insert mode. - */ - function onChange(cm, changeObj) { - var macroModeState = vimGlobalState.macroModeState; - var lastChange = macroModeState.lastInsertModeChanges; - if (!macroModeState.isPlaying) { - while(changeObj) { - lastChange.expectCursorActivityForChange = true; - if (changeObj.origin == '+input' || changeObj.origin == 'paste' - || changeObj.origin === undefined /* only in testing */) { - var text = changeObj.text.join('\n'); - if (lastChange.maybeReset) { - lastChange.changes = []; - lastChange.maybeReset = false; - } - if (cm.state.overwrite && !/\n/.test(text)) { - lastChange.changes.push([text]); - } else { - lastChange.changes.push(text); - } - } - // Change objects may be chained with next. - changeObj = changeObj.next; - } - } - } - - /** - * Listens for any kind of cursor activity on CodeMirror. - */ - function onCursorActivity(cm) { - var vim = cm.state.vim; - if (vim.insertMode) { - // Tracking cursor activity in insert mode (for macro support). - var macroModeState = vimGlobalState.macroModeState; - if (macroModeState.isPlaying) { return; } - var lastChange = macroModeState.lastInsertModeChanges; - if (lastChange.expectCursorActivityForChange) { - lastChange.expectCursorActivityForChange = false; - } else { - // Cursor moved outside the context of an edit. Reset the change. - lastChange.maybeReset = true; - } - } else if (!cm.curOp.isVimOp) { - handleExternalSelection(cm, vim); - } - if (vim.visualMode) { - updateFakeCursor(cm); - } - } - function updateFakeCursor(cm) { - var vim = cm.state.vim; - var from = clipCursorToContent(cm, copyCursor(vim.sel.head)); - var to = offsetCursor(from, 0, 1); - if (vim.fakeCursor) { - vim.fakeCursor.clear(); - } - vim.fakeCursor = cm.markText(from, to, {className: 'cm-animate-fat-cursor'}); - } - function handleExternalSelection(cm, vim) { - var anchor = cm.getCursor('anchor'); - var head = cm.getCursor('head'); - // Enter or exit visual mode to match mouse selection. - if (vim.visualMode && !cm.somethingSelected()) { - exitVisualMode(cm, false); - } else if (!vim.visualMode && !vim.insertMode && cm.somethingSelected()) { - vim.visualMode = true; - vim.visualLine = false; - CodeMirror.signal(cm, "vim-mode-change", {mode: "visual"}); - } - if (vim.visualMode) { - // Bind CodeMirror selection model to vim selection model. - // Mouse selections are considered visual characterwise. - var headOffset = !cursorIsBefore(head, anchor) ? -1 : 0; - var anchorOffset = cursorIsBefore(head, anchor) ? -1 : 0; - head = offsetCursor(head, 0, headOffset); - anchor = offsetCursor(anchor, 0, anchorOffset); - vim.sel = { - anchor: anchor, - head: head - }; - updateMark(cm, vim, '<', cursorMin(head, anchor)); - updateMark(cm, vim, '>', cursorMax(head, anchor)); - } else if (!vim.insertMode) { - // Reset lastHPos if selection was modified by something outside of vim mode e.g. by mouse. - vim.lastHPos = cm.getCursor().ch; - } - } - - /** Wrapper for special keys pressed in insert mode */ - function InsertModeKey(keyName) { - this.keyName = keyName; - } - - /** - * Handles raw key down events from the text area. - * - Should only be active in insert mode. - * - For recording deletes in insert mode. - */ - function onKeyEventTargetKeyDown(e) { - var macroModeState = vimGlobalState.macroModeState; - var lastChange = macroModeState.lastInsertModeChanges; - var keyName = CodeMirror.keyName(e); - if (!keyName) { return; } - function onKeyFound() { - if (lastChange.maybeReset) { - lastChange.changes = []; - lastChange.maybeReset = false; - } - lastChange.changes.push(new InsertModeKey(keyName)); - return true; - } - if (keyName.indexOf('Delete') != -1 || keyName.indexOf('Backspace') != -1) { - CodeMirror.lookupKey(keyName, 'vim-insert', onKeyFound); - } - } - - /** - * Repeats the last edit, which includes exactly 1 command and at most 1 - * insert. Operator and motion commands are read from lastEditInputState, - * while action commands are read from lastEditActionCommand. - * - * If repeatForInsert is true, then the function was called by - * exitInsertMode to repeat the insert mode changes the user just made. The - * corresponding enterInsertMode call was made with a count. - */ - function repeatLastEdit(cm, vim, repeat, repeatForInsert) { - var macroModeState = vimGlobalState.macroModeState; - macroModeState.isPlaying = true; - var isAction = !!vim.lastEditActionCommand; - var cachedInputState = vim.inputState; - function repeatCommand() { - if (isAction) { - commandDispatcher.processAction(cm, vim, vim.lastEditActionCommand); - } else { - commandDispatcher.evalInput(cm, vim); - } - } - function repeatInsert(repeat) { - if (macroModeState.lastInsertModeChanges.changes.length > 0) { - // For some reason, repeat cw in desktop VIM does not repeat - // insert mode changes. Will conform to that behavior. - repeat = !vim.lastEditActionCommand ? 1 : repeat; - var changeObject = macroModeState.lastInsertModeChanges; - repeatInsertModeChanges(cm, changeObject.changes, repeat); - } - } - vim.inputState = vim.lastEditInputState; - if (isAction && vim.lastEditActionCommand.interlaceInsertRepeat) { - // o and O repeat have to be interlaced with insert repeats so that the - // insertions appear on separate lines instead of the last line. - for (var i = 0; i < repeat; i++) { - repeatCommand(); - repeatInsert(1); - } - } else { - if (!repeatForInsert) { - // Hack to get the cursor to end up at the right place. If I is - // repeated in insert mode repeat, cursor will be 1 insert - // change set left of where it should be. - repeatCommand(); - } - repeatInsert(repeat); - } - vim.inputState = cachedInputState; - if (vim.insertMode && !repeatForInsert) { - // Don't exit insert mode twice. If repeatForInsert is set, then we - // were called by an exitInsertMode call lower on the stack. - exitInsertMode(cm); - } - macroModeState.isPlaying = false; - } - - function repeatInsertModeChanges(cm, changes, repeat) { - function keyHandler(binding) { - if (typeof binding == 'string') { - CodeMirror.commands[binding](cm); - } else { - binding(cm); - } - return true; - } - var head = cm.getCursor('head'); - var inVisualBlock = vimGlobalState.macroModeState.lastInsertModeChanges.inVisualBlock; - if (inVisualBlock) { - // Set up block selection again for repeating the changes. - var vim = cm.state.vim; - var lastSel = vim.lastSelection; - var offset = getOffset(lastSel.anchor, lastSel.head); - selectForInsert(cm, head, offset.line + 1); - repeat = cm.listSelections().length; - cm.setCursor(head); - } - for (var i = 0; i < repeat; i++) { - if (inVisualBlock) { - cm.setCursor(offsetCursor(head, i, 0)); - } - for (var j = 0; j < changes.length; j++) { - var change = changes[j]; - if (change instanceof InsertModeKey) { - CodeMirror.lookupKey(change.keyName, 'vim-insert', keyHandler); - } else if (typeof change == "string") { - var cur = cm.getCursor(); - cm.replaceRange(change, cur, cur); - } else { - var start = cm.getCursor(); - var end = offsetCursor(start, 0, change[0].length); - cm.replaceRange(change[0], start, end); - } - } - } - if (inVisualBlock) { - cm.setCursor(offsetCursor(head, 0, 1)); - } - } - - resetVimGlobalState(); - return vimApi; - }; - // Initialize Vim and make it available as an API. - CodeMirror.Vim = Vim(); -}); - -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../lib/codemirror")); diff --git a/media/editors/codemirror/lib/addons.min.js b/media/editors/codemirror/lib/addons.min.js index 15f27b478e056..ce94bd717b7cd 100644 --- a/media/editors/codemirror/lib/addons.min.js +++ b/media/editors/codemirror/lib/addons.min.js @@ -1,5 +1,2 @@ !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen), -!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",hb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",hb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ob?b[e]=ob[f]:d=!0,f in pb&&(b[e]=pb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Hb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return qb.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),yb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)yb[d[f]]=yb[a];b&&y(a,b)}function y(a,b,c,d){var e=yb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=yb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ab()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){Bb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:zb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in yb){var b=yb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=Bb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,xb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Fb[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Gb[a]=b}function M(a,b){Hb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c); -return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),ib(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?rb[0]:sb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=sb[0]:(j=rb[0],j(h.charAt(i))||(j=rb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||Bb.jumpList.add(a,b,c)}function sa(a,b){Bb.lastCharacterSearch.increment=a,Bb.lastCharacterSearch.forward=b.forward,Bb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Ib[e];if(!m)return f;var n=Jb[m].init,o=Jb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?sb:rb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,wb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){return Ia(a,"/")}function Ha(a){return Ja(a,"/")}function Ia(a,b){var c=Ja(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function Ja(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Ka(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function La(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Kb[e+f]?(c.push(Kb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ma(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Lb)if(c.match(f,!0)){e=!0,d.push(Lb[f]);break}e||d.push(c.next())}return d.join("")}function Na(a,b,c){var d=Bb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ka(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Oa(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Pa(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Qa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Pa(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Ra(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Sa(a,b,c,d){if(b){var e=Ea(a),f=Na(b,!!c,!!d);if(f)return Ua(a,f),Ra(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ta(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Ua(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ta(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Va(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Wa(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Xa(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Ya(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Za(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function $a(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Xa(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Oa(b,"No matches for "+h.source):c?void Qa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function _a(b){var c=b.state.vim,d=Bb.macroModeState,e=Bb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof kb?k++:k+=i;g.changes=h,b.off("change",gb),a.off(b.getInputField(),"keydown",lb)}!f&&c.insertModeRepeat>1&&(mb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&eb(d)}function ab(a){b.unshift(a)}function bb(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];ab(f)}function cb(b,c,d,e){var f=Bb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Pb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Bb.macroModeState.lastInsertModeChanges.changes=m,nb(b,m,1),_a(b)}d.isPlaying=!1}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushText(b)}}function eb(a){if(!a.isPlaying){var b=a.latestRegister,c=Bb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function fb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function gb(a,b){var c=Bb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function hb(a){var b=a.state.vim;if(b.insertMode){var c=Bb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||jb(a,b);b.visualMode&&ib(a)}function ib(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function jb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function kb(a){this.keyName=a}function lb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new kb(f)),!0}var d=Bb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function mb(a,b,c,d){function e(){h?Eb.processAction(a,b,b.lastEditActionCommand):Eb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;nb(a,d.changes,c)}}var g=Bb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&_a(a),g.isPlaying=!1}function nb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Bb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof kb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ob={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},pb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},qb=/[\d]/,rb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],sb=[function(a){return/\S/.test(a)}],tb=p(65,26),ub=p(97,26),vb=p(48,10),wb=[].concat(tb,ub,vb,["<",">"]),xb=[].concat(tb,ub,vb,["-",'"',".",":","/"]),yb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var zb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},Ab=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=Bb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Bb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Bb,Cb,Db={buildKeyMap:function(){},getRegisterController:function(){return Bb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return Bb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:kb,map:function(a,b,c){Pb.map(a,b,c)},unmap:function(a,b){Pb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ob[a]=c,Pb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Bb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&db(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&_a(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Eb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Eb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Cb&&window.clearTimeout(Cb),Cb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Cb&&window.clearTimeout(Cb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}Bb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Eb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Eb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Pb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:bb,_mapCommand:ab,defineRegister:G,exitVisualMode:ma,exitInsertMode:_a};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Ab(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,xb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Eb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Hb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Bb.searchHistoryController.pushInput(a),Bb.searchHistoryController.reset();try{Sa(b,a,e,f)}catch(c){return Oa(b,"Invalid regex: "+a),void E(b)}Eb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Bb.macroModeState;c.isRecording&&fb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.searchHistoryController.reset();var j;try{j=Sa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Va(b,!i,j),30):(Wa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Bb.searchHistoryController.pushInput(d),Bb.searchHistoryController.reset(),Sa(b,l),Wa(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Bb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Qa(b,{onClose:f,prefix:k,desc:Mb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),Bb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Bb.exCommandHistoryController.pushInput(a),Bb.exCommandHistoryController.reset(),Pb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Bb.exCommandHistoryController.pushInput(d),Bb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.exCommandHistoryController.reset()}"keyToEx"==d.type?Pb.processCommand(b,d.exArgs.input):c.visualMode?Qa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Qa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Fb[h](a,n,i,b);if(b.lastMotion=Fb[h],!r)return;if(i.toJumplist){var s=Bb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Gb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=Bb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Fb={moveToTopLine:function(a,b,c){var e=Ya(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Ya(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Ya(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Ua(a,e),Va(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Za(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j); -}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Fb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Bb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Gb={change:function(b,c,e){var f,g,h=b.state.vim;if(Bb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}Bb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Hb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Fb.moveToFirstNonWhiteSpaceCharacter(a,i))}Bb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Fb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Fb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Bb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Hb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Bb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Bb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)cb(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Bb.macroModeState,d=b.selectedCharacter;Bb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Fb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Bb.macroModeState.isPlaying||(b.on("change",gb),a.on(b.getInputField(),"keydown",lb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=Bb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Bb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,mb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:_a},Ib={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Jb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return Bb.query},setQuery:function(a){Bb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Bb.isReversed},setReversed:function(a){Bb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Kb={"\\n":"\n","\\r":"\r","\\t":"\t"},Lb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Mb="(Javascript regexp)",Nb=function(){this.buildCommandMap_()};Nb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Bb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Oa(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Oa(b,'Not an editor command ":'+c+'"');try{Ob[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Oa(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Za(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ob={colorscheme:function(a,b){return!b.args||b.args.length<1?void Oa(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Oa(a,"Invalid mapping: "+b.input)):void Pb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Oa(a,"No such mapping: "+b.input)):void Pb.unmap(d[0],c)},move:function(a,b){Eb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Oa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=yb[f]&&"boolean"==yb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Oa(a,j.message):j===!0||j===!1?Oa(a," "+(j?"":"no")+f):Oa(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Oa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Bb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Bb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Oa(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Oa(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Oa(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Sa(a,h,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Oa(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Pb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ia(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ma(j):La(j),Bb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Oa(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c.replace(/\//g,"\\/")+"/"+f)),c)try{Sa(a,c,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+c)}if(j=j||Bb.lastSubstituteReplacePart,void 0===j)return void Oa(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);$a(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Wa(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);Bb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Oa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Oa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Oa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Pb=new Nb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Db};a.Vim=e()})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig", -mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/plugins/editors/codemirror/codemirror.php b/plugins/editors/codemirror/codemirror.php index 17f8dd1f296e7..3f71e6b25b0a3 100644 --- a/plugins/editors/codemirror/codemirror.php +++ b/plugins/editors/codemirror/codemirror.php @@ -268,8 +268,19 @@ public function onDisplay( $options->scrollbarStyle = $this->params->get('scrollbarStyle', 'native'); - // Vim Keybindings. - $options->vimMode = (boolean) $this->params->get('vimKeyBinding', 0); + // KeyMap settings. + $options->keyMap = $this->params->get('keyMap', false); + + // Support for older settings. + if ($options->keyMap === false) + { + $options->keyMap = $this->params->get('vimKeyBinding', 0) ? 'vim' : 'default'; + } + + if ($options->keyMap && $options->keyMap != 'default') + { + $this->loadKeyMap($options->keyMap); + } $displayData = (object) array( 'options' => $options, @@ -357,4 +368,18 @@ protected function getFontInfo($font) return isset($fonts[$font]) ? (object) $fonts[$font] : null; } + + /** + * Loads a keyMap file + * + * @param string $keyMap The name of a keyMap file to load. + * + * @return void + */ + protected function loadKeyMap($keyMap) + { + $basePath = $this->params->get('basePath', 'media/editors/codemirror/'); + $ext = JDEBUG ? '.js' : '.min.js'; + JHtml::_('script', $basePath . 'keymap/' . $keyMap . $ext, array('version' => 'auto')); + } } diff --git a/plugins/editors/codemirror/codemirror.xml b/plugins/editors/codemirror/codemirror.xml index c2e60e2e575b8..5c48b8168bedb 100644 --- a/plugins/editors/codemirror/codemirror.xml +++ b/plugins/editors/codemirror/codemirror.xml @@ -169,16 +169,17 @@ </field> <field - name="vimKeyBinding" - type="radio" - label="PLG_CODEMIRROR_FIELD_VIM_KEYBINDING_LABEL" - description="PLG_CODEMIRROR_FIELD_VIM_KEYBINDING_DESC" - class="btn-group btn-group-yesno" - default="0" + name="keyMap" + type="list" + label="PLG_CODEMIRROR_FIELD_KEYMAP_LABEL" + description="PLG_CODEMIRROR_FIELD_KEYMAP_DESC" + default="" filter="options" > - <option value="1">JON</option> - <option value="0">JOFF</option> + <option value="">JDEFAULT</option> + <option value="emacs">PLG_CODEMIRROR_FIELD_KEYMAP_EMACS</option> + <option value="sublime">PLG_CODEMIRROR_FIELD_KEYMAP_SUBLIME</option> + <option value="vim">PLG_CODEMIRROR_FIELD_KEYMAP_VIM</option> </field> <field diff --git a/plugins/editors/codemirror/layouts/editors/codemirror/init.php b/plugins/editors/codemirror/layouts/editors/codemirror/init.php index 0a85ac97f4e37..316a48146a1a4 100644 --- a/plugins/editors/codemirror/layouts/editors/codemirror/init.php +++ b/plugins/editors/codemirror/layouts/editors/codemirror/init.php @@ -29,9 +29,16 @@ JFactory::getDocument()->addScriptDeclaration( <<<JS ;(function (cm, $) { - cm.keyMap.default["Ctrl-Q"] = toggleFullScreen; - cm.keyMap.default[$fsCombo] = toggleFullScreen; - cm.keyMap.default["Esc"] = closeFullScreen; + cm.commands.toggleFullScreen = function (cm) { + cm.setOption('fullScreen', !cm.getOption('fullScreen')); + }; + cm.commands.closeFullScreen = function (cm) { + cm.getOption('fullScreen') && cm.setOption('fullScreen', false); + }; + + cm.keyMap.default['Ctrl-Q'] = 'toggleFullScreen'; + cm.keyMap.default[$fsCombo] = 'toggleFullScreen'; + cm.keyMap.default['Esc'] = 'closeFullScreen'; // For mode autoloading. cm.modeURL = $modPath; // Fire this function any time an editor is created. @@ -51,11 +58,11 @@ } // Handle gutter clicks (place or remove a marker). - editor.on("gutterClick", function (ed, n, gutter) { - if (gutter != "CodeMirror-markergutter") { return; } + editor.on('gutterClick', function (ed, n, gutter) { + if (gutter != 'CodeMirror-markergutter') { return; } var info = ed.lineInfo(n), - hasMarker = !!info.gutterMarkers && !!info.gutterMarkers["CodeMirror-markergutter"]; - ed.setGutterMarker(n, "CodeMirror-markergutter", hasMarker ? null : makeMarker()); + hasMarker = !!info.gutterMarkers && !!info.gutterMarkers['CodeMirror-markergutter']; + ed.setGutterMarker(n, 'CodeMirror-markergutter', hasMarker ? null : makeMarker()); }); // jQuery's ready function. @@ -63,21 +70,14 @@ // Some browsers do something weird with the fieldset which doesn't work well with CodeMirror. Fix it. $(editor.getWrapperElement()).parent('fieldset').css('min-width', 0); // Listen for Bootstrap's 'shown' event. If this editor was in a hidden element when created, it may need to be refreshed. - $(document.body).on("shown shown.bs.tab shown.bs.modal", function () { editor.refresh(); }); + $(document.body).on('shown shown.bs.tab shown.bs.modal', function () { editor.refresh(); }); }); }); - function toggleFullScreen(cm) - { - cm.setOption("fullScreen", !cm.getOption("fullScreen")); - } - function closeFullScreen(cm) - { - cm.getOption("fullScreen") && cm.setOption("fullScreen", false); - } + function makeMarker() { - var marker = document.createElement("div"); - marker.className = "CodeMirror-markergutter-mark"; + var marker = document.createElement('div'); + marker.className = 'CodeMirror-markergutter-mark'; return marker; } From 116a507d5ccea762d3bb24e33e8b09a40d3f1750 Mon Sep 17 00:00:00 2001 From: Harald <eris@elreyforce.org> Date: Sun, 29 Apr 2018 16:49:53 +0200 Subject: [PATCH 240/255] Don't expose LDAP authentication usage. (#18531) * Don't expose LDAP authentication usage. * Use new language strings for LDAP authentication. * remove bind string * remove bind string * use connect string * alpha order * alpha order --- administrator/language/en-GB/en-GB.ini | 2 ++ language/en-GB/en-GB.ini | 2 ++ plugins/authentication/ldap/ldap.php | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index 9eca04c2ef18b..bd1b795573078 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -293,10 +293,12 @@ JGLOBAL_AUTH_FAILED="Failed to authenticate: %s" JGLOBAL_AUTH_INCORRECT="Incorrect username/password" JGLOBAL_AUTH_INVALID_PASS="Username and password do not match or you do not have an account yet." JGLOBAL_AUTH_INVALID_SECRETKEY="The two factor authentication Secret Key is invalid." +; The following 2 strings are deprecated and will be removed with 4.0. JGLOBAL_AUTH_NO_BIND="Unable to bind to LDAP" JGLOBAL_AUTH_NO_CONNECT="Unable to connect to LDAP server" JGLOBAL_AUTH_NO_REDIRECT="Could not redirect to server: %s" JGLOBAL_AUTH_NO_USER="Username and password do not match or you do not have an account yet." +JGLOBAL_AUTH_NOT_CONNECT="Unable to connect to authentication service." JGLOBAL_AUTH_NOT_CREATE_DIR="Could not create the FileStore folder %s. Please check the effective permissions." JGLOBAL_AUTH_PASS_BLANK="LDAP can't have blank password" JGLOBAL_AUTH_UNKNOWN_ACCESS_DENIED="Result Unknown. Access Denied" diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index 652d721b2ea84..df27a558857a8 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -177,10 +177,12 @@ JGLOBAL_AUTH_FAILED="Failed to authenticate: %s" JGLOBAL_AUTH_INCORRECT="Incorrect username/password" JGLOBAL_AUTH_INVALID_PASS="Username and password do not match or you do not have an account yet." JGLOBAL_AUTH_INVALID_SECRETKEY="The two factor authentication Secret Key is invalid." +; The following 2 strings are deprecated and will be removed with 4.0. JGLOBAL_AUTH_NO_BIND="Unable to bind to LDAP" JGLOBAL_AUTH_NO_CONNECT="Unable to connect to LDAP server" JGLOBAL_AUTH_NO_REDIRECT="Could not redirect to server: %s" JGLOBAL_AUTH_NO_USER="Username and password do not match or you do not have an account yet." +JGLOBAL_AUTH_NOT_CONNECT="Unable to connect to authentication service." JGLOBAL_AUTH_NOT_CREATE_DIR="Could not create the FileStore folder %s. Please check the effective permissions." JGLOBAL_AUTH_PASS_BLANK="LDAP can't have blank password" JGLOBAL_AUTH_UNKNOWN_ACCESS_DENIED="Result Unknown. Access Denied" diff --git a/plugins/authentication/ldap/ldap.php b/plugins/authentication/ldap/ldap.php index ddea754b8a4c1..fed64b70a3215 100644 --- a/plugins/authentication/ldap/ldap.php +++ b/plugins/authentication/ldap/ldap.php @@ -61,7 +61,7 @@ public function onUserAuthenticate($credentials, $options, &$response) if (!$ldap->connect()) { $response->status = JAuthentication::STATUS_FAILURE; - $response->error_message = JText::_('JGLOBAL_AUTH_NO_CONNECT'); + $response->error_message = JText::_('JGLOBAL_AUTH_NOT_CONNECT'); return; } @@ -110,7 +110,7 @@ public function onUserAuthenticate($credentials, $options, &$response) else { $response->status = JAuthentication::STATUS_FAILURE; - $response->error_message = JText::_('JGLOBAL_AUTH_NO_BIND'); + $response->error_message = JText::_('JGLOBAL_AUTH_NOT_CONNECT'); } } break; From a6e20f9176dcd5678a32b40853d0ce9b2d15894a Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 29 Apr 2018 23:50:49 +0900 Subject: [PATCH 241/255] Handle the case that JFolder::files returns 'false' (#11715) --- libraries/src/Installer/Installer.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/src/Installer/Installer.php b/libraries/src/Installer/Installer.php index 09632acb6af30..3f0aeb1fe8c08 100644 --- a/libraries/src/Installer/Installer.php +++ b/libraries/src/Installer/Installer.php @@ -1145,14 +1145,16 @@ public function parseSchemaUpdates(\SimpleXMLElement $schema, $eid) if ($schemapath !== '') { - $files = str_replace('.sql', '', \JFolder::files($this->getPath('extension_root') . '/' . $schemapath, '\.sql$')); - usort($files, 'version_compare'); + $files = \JFolder::files($this->getPath('extension_root') . '/' . $schemapath, '\.sql$'); - if (!count($files)) + if (empty($files)) { return $update_count; } + $files = str_replace('.sql', '', $files); + usort($files, 'version_compare'); + $query = $db->getQuery(true) ->select('version_id') ->from('#__schemas') From 9780ed3d0458dcb508fc18b7684b4aee1c009ac8 Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 29 Apr 2018 23:51:27 +0900 Subject: [PATCH 242/255] Initialize tooltips when a new a row is added in a subform (#12996) * Initialize tooltips when a new a row is added in a subform * Fix a test since the init function has changed * Replace htaccess which was removed inexplicably --- libraries/cms/html/bootstrap.php | 10 ++++++++-- media/system/js/subform-repeatable-uncompressed.js | 5 ----- media/system/js/subform-repeatable.js | 3 ++- .../suites/libraries/cms/html/JHtmlBootstrapTest.php | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/libraries/cms/html/bootstrap.php b/libraries/cms/html/bootstrap.php index 8c06b15ab5af8..36619880eac0d 100644 --- a/libraries/cms/html/bootstrap.php +++ b/libraries/cms/html/bootstrap.php @@ -466,7 +466,7 @@ public static function tooltip($selector = '.hasTooltip', $params = array()) $options = JHtml::getJSObject($opt); // Build the script. - $script = array('$(' . json_encode($selector) . ').tooltip(' . $options . ')'); + $script = array('$(container).find(' . json_encode($selector) . ').tooltip(' . $options . ')'); if ($onShow) { @@ -488,8 +488,14 @@ public static function tooltip($selector = '.hasTooltip', $params = array()) $script[] = 'on("hidden.bs.tooltip", ' . $onHidden . ')'; } + $initFunction = 'function initTooltips (event, container) { ' . + 'container = container || document;' . + implode('.', $script) . ';' . + '}'; + // Attach tooltips to document - JFactory::getDocument()->addScriptDeclaration('jQuery(function($){ ' . implode('.', $script) . '; });'); + JFactory::getDocument() + ->addScriptDeclaration('jQuery(function($){ initTooltips(); $("body").on("subform-row-add", initTooltips); ' . $initFunction . ' });'); // Set static array static::$loaded[__METHOD__][$selector] = true; diff --git a/media/system/js/subform-repeatable-uncompressed.js b/media/system/js/subform-repeatable-uncompressed.js index 28ba80a770667..1db67997ba525 100644 --- a/media/system/js/subform-repeatable-uncompressed.js +++ b/media/system/js/subform-repeatable-uncompressed.js @@ -239,11 +239,6 @@ $row.find('.field-media-wrapper').fieldMedia(); } - // bootstrap tooltips - if($.fn.tooltip){ - $row.find('.hasTooltip').tooltip({html: true, container: "body"}); - } - // bootstrap based User field if($.fn.fieldUser){ $row.find('.field-user-wrapper').fieldUser(); diff --git a/media/system/js/subform-repeatable.js b/media/system/js/subform-repeatable.js index 5410427d14ac1..3890ea678c921 100644 --- a/media/system/js/subform-repeatable.js +++ b/media/system/js/subform-repeatable.js @@ -1 +1,2 @@ -(function($){"use strict";$.subformRepeatable=function(container,options){this.$container=$(container);if(this.$container.data("subformRepeatable")){return self}this.$container.data("subformRepeatable",self);this.options=$.extend({},$.subformRepeatable.defaults,options);this.template="";this.prepareTemplate();this.$containerRows=this.options.rowsContainer?this.$container.find(this.options.rowsContainer):this.$container;this.lastRowNum=this.$containerRows.find(this.options.repeatableElement).length;var self=this;this.$container.on("click",this.options.btAdd,function(e){e.preventDefault();var after=$(this).parents(self.options.repeatableElement);if(!after.length){after=null}self.addRow(after)});this.$container.on("click",this.options.btRemove,function(e){e.preventDefault();var $row=$(this).parents(self.options.repeatableElement);self.removeRow($row)});if(this.options.btMove){this.$containerRows.sortable({items:this.options.repeatableElement,handle:this.options.btMove,tolerance:"pointer"})}this.$container.trigger("subform-ready")};$.subformRepeatable.prototype.prepareTemplate=function(){if(this.options.rowTemplateSelector){var tmplElement=this.$container.find(this.options.rowTemplateSelector)[0]||{};this.template=$.trim(tmplElement.text||tmplElement.textContent)}else{var row=this.$container.find(this.options.repeatableElement).get(0),$row=$(row).clone();try{this.clearScripts($row)}catch(e){if(window.console){console.log(e)}}this.template=$row.prop("outerHTML")}};$.subformRepeatable.prototype.addRow=function(after){var count=this.$containerRows.find(this.options.repeatableElement).length;if(count>=this.options.maximum){return null}var row=$.parseHTML(this.template);if(after){$(after).after(row)}else{this.$containerRows.append(row)}var $row=$(row);$row.attr("data-new","true");this.fixUniqueAttributes($row,count);try{this.fixScripts($row)}catch(e){if(window.console){console.log(e)}}this.$container.trigger("subform-row-add",$row);return $row};$.subformRepeatable.prototype.removeRow=function($row){var count=this.$containerRows.find(this.options.repeatableElement).length;if(count<=this.options.minimum){return}this.$container.trigger("subform-row-remove",$row);$row.remove()};$.subformRepeatable.prototype.fixUniqueAttributes=function($row,count){this.lastRowNum++;var group=$row.attr("data-group"),basename=$row.attr("data-base-name"),count=count||0,countnew=Math.max(this.lastRowNum,count+1),groupnew=basename+countnew;this.lastRowNum=countnew;$row.attr("data-group",groupnew);var haveName=$row.find("[name]"),ids={};for(var i=0,l=haveName.length;i<l;i++){var $el=$(haveName[i]),name=$el.attr("name"),id=name.replace(/(\[\]$)/g,"").replace(/(\]\[)/g,"__").replace(/\[/g,"_").replace(/\]/g,""),nameNew=name.replace("["+group+"][","["+groupnew+"]["),idNew=id.replace(group,groupnew),countMulti=0,forOldAttr=id;if($el.prop("type")==="checkbox"&&name.match(/\[\]$/)){countMulti=ids[id]?ids[id].length:0;if(!countMulti){$el.closest("fieldset.checkboxes").attr("id",idNew);$row.find('label[for="'+id+'"]').attr("for",idNew).attr("id",idNew+"-lbl")}forOldAttr=forOldAttr+countMulti;idNew=idNew+countMulti}else if($el.prop("type")==="radio"){countMulti=ids[id]?ids[id].length:0;if(!countMulti){$el.closest("fieldset.radio").attr("id",idNew);$row.find('label[for="'+id+'"]').attr("for",idNew).attr("id",idNew+"-lbl")}forOldAttr=forOldAttr+countMulti;idNew=idNew+countMulti}if(ids[id]){ids[id].push(true)}else{ids[id]=[true]}$el.attr("name",nameNew);$el.attr("id",idNew);$row.find('label[for="'+forOldAttr+'"]').attr("for",idNew).attr("id",idNew+"-lbl")}};$.subformRepeatable.prototype.clearScripts=function($row){if($.fn.chosen){$row.find("select.chzn-done").each(function(){var $el=$(this);$el.next(".chzn-container").remove();$el.show().addClass("fix-chosen")})}};$.subformRepeatable.prototype.fixScripts=function($row){$row.find('a[onclick*="jInsertFieldValue"]').each(function(){var $el=$(this),inputId=$el.siblings('input[type="text"]').attr("id"),$select=$el.prev(),oldHref=$select.attr("href");$el.attr("onclick","jInsertFieldValue('', '"+inputId+"');return false;");$select.attr("href",oldHref.replace(/&fieldid=(.+)&/,"&fieldid="+inputId+"&"))});if($.fn.fieldMedia){$row.find(".field-media-wrapper").fieldMedia()}if($.fn.tooltip){$row.find(".hasTooltip").tooltip({html:true,container:"body"})}if($.fn.fieldUser){$row.find(".field-user-wrapper").fieldUser()}if(window.SqueezeBox&&window.SqueezeBox.assign){SqueezeBox.assign($row.find("a.modal").get(),{parse:"rel"})}};$.subformRepeatable.defaults={btAdd:".group-add",btRemove:".group-remove",btMove:".group-move",minimum:0,maximum:10,repeatableElement:".subform-repeatable-group",rowTemplateSelector:"script.subform-repeatable-template-section",rowsContainer:null};$.fn.subformRepeatable=function(options){return this.each(function(){var options=options||{},data=$(this).data();if(data.subformRepeatable){return}for(var p in data){if(data.hasOwnProperty(p)){options[p]=data[p]}}var inst=new $.subformRepeatable(this,options);$(this).data("subformRepeatable",inst)})};$(window).on("load",function(){$("div.subform-repeatable").subformRepeatable()})})(jQuery); \ No newline at end of file +!(function(e){"use strict";e.subformRepeatable=function(t,a){if(this.$container=e(t),this.$container.data("subformRepeatable"))return o;this.$container.data("subformRepeatable",o),this.options=e.extend({},e.subformRepeatable.defaults,a),this.template="",this.prepareTemplate(),this.$containerRows=this.options.rowsContainer?this.$container.find(this.options.rowsContainer):this.$container,this.lastRowNum=this.$containerRows.find(this.options.repeatableElement).length;var o=this;this.$container.on("click",this.options.btAdd,(function(t){t.preventDefault();var a=e(this).parents(o.options.repeatableElement);a.length||(a=null),o.addRow(a)})),this.$container.on("click",this.options.btRemove,(function(t){t.preventDefault();var a=e(this).parents(o.options.repeatableElement);o.removeRow(a)})),this.options.btMove&&this.$containerRows.sortable({items:this.options.repeatableElement,handle:this.options.btMove,tolerance:"pointer"}),this.$container.trigger("subform-ready")},e.subformRepeatable.prototype.prepareTemplate=function(){if(this.options.rowTemplateSelector){var t=this.$container.find(this.options.rowTemplateSelector)[0]||{};this.template=e.trim(t.text||t.textContent)}else{var a=this.$container.find(this.options.repeatableElement).get(0),o=e(a).clone();try{this.clearScripts(o)}catch(e){window.console&&console.log(e)}this.template=o.prop("outerHTML")}},e.subformRepeatable.prototype.addRow=function(t){var a=this.$containerRows.find(this.options.repeatableElement).length;if(a>=this.options.maximum)return null;var o=e.parseHTML(this.template);t?e(t).after(o):this.$containerRows.append(o);var r=e(o);r.attr("data-new","true"),this.fixUniqueAttributes(r,a);try{this.fixScripts(r)}catch(e){window.console&&console.log(e)}return this.$container.trigger("subform-row-add",r),r},e.subformRepeatable.prototype.removeRow=function(e){this.$containerRows.find(this.options.repeatableElement).length<=this.options.minimum||(this.$container.trigger("subform-row-remove",e),e.remove())},e.subformRepeatable.prototype.fixUniqueAttributes=function(t,a){this.lastRowNum++;var o=t.attr("data-group"),r=t.attr("data-base-name"),i=(a=a||0,Math.max(this.lastRowNum,a+1)),n=r+i;this.lastRowNum=i,t.attr("data-group",n);for(var s=t.find("[name]"),l={},p=0,f=s.length;p<f;p++){var c=e(s[p]),h=c.attr("name"),u=h.replace(/(\[\]$)/g,"").replace(/(\]\[)/g,"__").replace(/\[/g,"_").replace(/\]/g,""),d=h.replace("["+o+"][","["+n+"]["),m=u.replace(o,n),b=0,w=u;"checkbox"===c.prop("type")&&h.match(/\[\]$/)?((b=l[u]?l[u].length:0)||(c.closest("fieldset.checkboxes").attr("id",m),t.find('label[for="'+u+'"]').attr("for",m).attr("id",m+"-lbl")),w+=b,m+=b):"radio"===c.prop("type")&&((b=l[u]?l[u].length:0)||(c.closest("fieldset.radio").attr("id",m),t.find('label[for="'+u+'"]').attr("for",m).attr("id",m+"-lbl")),w+=b,m+=b),l[u]?l[u].push(!0):l[u]=[!0],c.attr("name",d),c.attr("id",m),t.find('label[for="'+w+'"]').attr("for",m).attr("id",m+"-lbl")}},e.subformRepeatable.prototype.clearScripts=function(t){e.fn.chosen&&t.find("select.chzn-done").each((function(){var t=e(this);t.next(".chzn-container").remove(),t.show().addClass("fix-chosen")}))},e.subformRepeatable.prototype.fixScripts=function(t){t.find('a[onclick*="jInsertFieldValue"]').each((function(){var t=e(this),a=t.siblings('input[type="text"]').attr("id"),o=t.prev(),r=o.attr("href");t.attr("onclick","jInsertFieldValue('', '"+a+"');return false;"),o.attr("href",r.replace(/&fieldid=(.+)&/,"&fieldid="+a+"&"))})),e.fn.fieldMedia&&t.find(".field-media-wrapper").fieldMedia(),e.fn.fieldUser&&t.find(".field-user-wrapper").fieldUser(),window.SqueezeBox&&window.SqueezeBox.assign&&SqueezeBox.assign(t.find("a.modal").get(),{parse:"rel"})},e.subformRepeatable.defaults={btAdd:".group-add",btRemove:".group-remove",btMove:".group-move",minimum:0,maximum:10,repeatableElement:".subform-repeatable-group",rowTemplateSelector:"script.subform-repeatable-template-section",rowsContainer:null},e.fn.subformRepeatable=function(t){return this.each((function(){var t=t||{},a=e(this).data();if(!a.subformRepeatable){for(var o in a)a.hasOwnProperty(o)&&(t[o]=a[o]);var r=new e.subformRepeatable(this,t);e(this).data("subformRepeatable",r)}}))},e(window).on("load",(function(){e("div.subform-repeatable").subformRepeatable()}))})(jQuery); + diff --git a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php index c7f76c7aaea8b..b6b3dc0ae5df6 100644 --- a/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php +++ b/tests/unit/suites/libraries/cms/html/JHtmlBootstrapTest.php @@ -382,9 +382,9 @@ public function testTooltip() 'Verify that the alert method initialises Bootstrap as well' ); - $this->assertEquals( + $this->assertContains( + 'jQuery(function($){ initTooltips();', $document->_script['text/javascript'], - 'jQuery(function($){ $(".hasTooltip").tooltip({"html": true,"container": "body"}); });', 'Verify that the tooltip script is initialised' ); } From 3d9ce7f2459ccf32ab16fb0f0484253d740a219d Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Tue, 1 May 2018 01:31:00 +0300 Subject: [PATCH 243/255] Missing space (#20260) --- libraries/src/Form/Field/TagField.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Form/Field/TagField.php b/libraries/src/Form/Field/TagField.php index fac09bb18507b..ecd7326bd8416 100644 --- a/libraries/src/Form/Field/TagField.php +++ b/libraries/src/Form/Field/TagField.php @@ -116,7 +116,7 @@ protected function getInput() */ protected function getOptions() { - $published = $this->element['published']?: array(0, 1); + $published = $this->element['published'] ?: array(0, 1); $app = Factory::getApplication(); $tag = $app->getLanguage()->getTag(); From 539603fbcde66ff860c832037d2404b81aca5bb3 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Mon, 30 Apr 2018 15:31:48 -0700 Subject: [PATCH 244/255] Tiny JLanguage::loadLanguage() code improvement (#20257) --- libraries/src/Language/Language.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libraries/src/Language/Language.php b/libraries/src/Language/Language.php index 0f384d5937b27..72acb92a1739c 100644 --- a/libraries/src/Language/Language.php +++ b/libraries/src/Language/Language.php @@ -791,13 +791,10 @@ protected function loadLanguage($filename, $extension = 'unknown') $strings = $this->parse($filename); } - if ($strings) + if (is_array($strings) && count($strings)) { - if (is_array($strings) && count($strings)) - { - $this->strings = array_replace($this->strings, $strings, $this->override); - $result = true; - } + $this->strings = array_replace($this->strings, $strings, $this->override); + $result = true; } // Record the result of loading the extension's file. From 960e1effa472db4f0732f3552f8f493b0fa43cc1 Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Mon, 30 Apr 2018 15:32:17 -0700 Subject: [PATCH 245/255] [com_content] Remove redundant check (#20254) --- components/com_content/views/form/view.html.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/components/com_content/views/form/view.html.php b/components/com_content/views/form/view.html.php index 267f4c4a29a86..a5d5ae02de5c8 100644 --- a/components/com_content/views/form/view.html.php +++ b/components/com_content/views/form/view.html.php @@ -72,10 +72,7 @@ public function display($tpl = null) if (!empty($this->item->id)) { $this->item->tags->getItemTags('com_content.article', $this->item->id); - } - if (!empty($this->item) && isset($this->item->id)) - { $this->item->images = json_decode($this->item->images); $this->item->urls = json_decode($this->item->urls); From e99b38dc22fc61ebaa1384cda2c3a60379a1383b Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Tue, 1 May 2018 01:32:56 +0300 Subject: [PATCH 246/255] Update articles.php (#20245) --- components/com_content/models/articles.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/com_content/models/articles.php b/components/com_content/models/articles.php index 6be0ecfce88e0..a3afe075ea1cd 100644 --- a/components/com_content/models/articles.php +++ b/components/com_content/models/articles.php @@ -377,11 +377,11 @@ protected function getListQuery() } elseif (is_array($authorId)) { - $authorId = ArrayHelper::toInteger($authorId); - $authorId = implode(',', $authorId); + $authorId = array_filter($authorId, 'is_numeric'); if ($authorId) { + $authorId = implode(',', $authorId); $type = $this->getState('filter.author_id.include', true) ? 'IN' : 'NOT IN'; $authorWhere = 'a.created_by ' . $type . ' (' . $authorId . ')'; } From f632960538a3d18a48bd08ec363dffdec6e2057b Mon Sep 17 00:00:00 2001 From: Quy <quy@fluxbb.org> Date: Fri, 4 May 2018 15:06:13 -0700 Subject: [PATCH 247/255] [com_config] Capitalize label (#20299) --- administrator/language/en-GB/en-GB.com_config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/language/en-GB/en-GB.com_config.ini b/administrator/language/en-GB/en-GB.com_config.ini index 2c8110a6d10ac..fef4b2ae96afe 100644 --- a/administrator/language/en-GB/en-GB.com_config.ini +++ b/administrator/language/en-GB/en-GB.com_config.ini @@ -114,7 +114,7 @@ COM_CONFIG_FIELD_MAIL_FROM_EMAIL_DESC="The email address that will be used to se COM_CONFIG_FIELD_MAIL_FROM_EMAIL_LABEL="From Email" COM_CONFIG_FIELD_MAIL_FROM_NAME_DESC="Text displayed in the header "From:" field when sending a site email. Usually the site name." COM_CONFIG_FIELD_MAIL_FROM_NAME_LABEL="From Name" -COM_CONFIG_FIELD_MAIL_REPLY_TO_EMAIL_LABEL="Reply To email" +COM_CONFIG_FIELD_MAIL_REPLY_TO_EMAIL_LABEL="Reply To Email" COM_CONFIG_FIELD_MAIL_REPLY_TO_EMAIL_DESC="The email address that will be used to receive end user(s) reply" COM_CONFIG_FIELD_MAIL_REPLY_TO_NAME_LABEL="Reply To Name" COM_CONFIG_FIELD_MAIL_REPLY_TO_NAME_DESC="Text displayed in the header "To:" field when end user(s) replying to received email" From 3ca70d0dca5ac5caf643bb447eb1dab5c84703d4 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Sat, 5 May 2018 20:14:50 +0200 Subject: [PATCH 248/255] Implement Issue Templates as discussen in #20298 https://github.com/joomla/joomla-cms/issues/20298 --- .github/ISSUE_TEMPLATE/Bug_report.md | 23 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/Custom.md | 16 ++++++++++++++++ .github/ISSUE_TEMPLATE/Feature_request.md | 15 +++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/Bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/Custom.md create mode 100644 .github/ISSUE_TEMPLATE/Feature_request.md diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md new file mode 100644 index 0000000000000..f234699b23618 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -0,0 +1,23 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + +### Steps to reproduce the issue + + + +### Expected result + + + +### Actual result + + + +### System information (as much as possible) + + + +### Additional comments diff --git a/.github/ISSUE_TEMPLATE/Custom.md b/.github/ISSUE_TEMPLATE/Custom.md new file mode 100644 index 0000000000000..1c32a221edc25 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Custom.md @@ -0,0 +1,16 @@ +--- +name: Fix this template +about: Suggest a fix it + +--- + +### What needs to be fixed + + +### Why this should be fixed + + +### How would you fix it + + +### Side Effects expected diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md new file mode 100644 index 0000000000000..e853c4610a791 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -0,0 +1,15 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +### Is your feature request related to a problem? Please describe. + + + +### Describe the solution you'd like + + + +### Additional context From dfa167c75236945cf5bd6a9776ae007b614da3da Mon Sep 17 00:00:00 2001 From: Ramil Valitov <ramilvalitov@gmail.com> Date: Sat, 5 May 2018 23:15:51 +0300 Subject: [PATCH 249/255] [fix] openbase_dir processing (#20280) --- libraries/joomla/filesystem/folder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/joomla/filesystem/folder.php b/libraries/joomla/filesystem/folder.php index 81ddc8e5a9ef9..76db95ce57a0a 100644 --- a/libraries/joomla/filesystem/folder.php +++ b/libraries/joomla/filesystem/folder.php @@ -247,7 +247,7 @@ public static function create($path = '', $mode = 0755) { $test = $pathObject->clean($test); - if (strpos($path, $test) === 0) + if (strpos($path, $test) === 0 || strpos($path, realpath($test)) === 0) { $inBaseDir = true; break; From 13491f611f2c1cfdcc7fa5f54ce466214ccc83dd Mon Sep 17 00:00:00 2001 From: Elijah Madden <okonomiyaki3000@gmail.com> Date: Sun, 6 May 2018 05:16:12 +0900 Subject: [PATCH 250/255] CodeMirror updated to version 5.37.0 (#20269) --- .../codemirror/addon/edit/continuelist.js | 2 +- .../codemirror/addon/edit/continuelist.min.js | 2 +- .../editors/codemirror/addon/fold/xml-fold.js | 8 +- .../codemirror/addon/fold/xml-fold.min.js | 2 +- .../codemirror/addon/hint/javascript-hint.js | 4 +- .../addon/hint/javascript-hint.min.js | 2 +- .../codemirror/addon/hint/show-hint.js | 11 +- .../codemirror/addon/hint/show-hint.min.js | 2 +- .../editors/codemirror/addon/hint/sql-hint.js | 19 +- .../codemirror/addon/hint/sql-hint.min.js | 2 +- .../editors/codemirror/addon/merge/merge.css | 6 + media/editors/codemirror/addon/merge/merge.js | 3 +- .../codemirror/addon/merge/merge.min.css | 2 +- .../codemirror/addon/merge/merge.min.js | 2 +- .../codemirror/addon/mode/multiplex.js | 10 +- .../codemirror/addon/mode/multiplex.min.js | 2 +- .../addon/search/match-highlighter.js | 2 +- .../addon/search/match-highlighter.min.js | 2 +- media/editors/codemirror/keymap/emacs.js | 1 + media/editors/codemirror/keymap/emacs.min.js | 2 +- media/editors/codemirror/keymap/vim.js | 188 +++++++++++++++++- media/editors/codemirror/keymap/vim.min.js | 6 +- media/editors/codemirror/lib/addons.js | 20 +- media/editors/codemirror/lib/addons.min.js | 4 +- media/editors/codemirror/lib/codemirror.js | 65 +++--- .../editors/codemirror/lib/codemirror.min.js | 8 +- media/editors/codemirror/mode/clike/clike.js | 4 + .../codemirror/mode/clike/clike.min.js | 2 +- .../codemirror/mode/javascript/javascript.js | 26 ++- .../mode/javascript/javascript.min.js | 2 +- .../codemirror/mode/markdown/markdown.js | 4 +- .../codemirror/mode/markdown/markdown.min.js | 2 +- .../editors/codemirror/mode/python/python.js | 99 ++++++++- .../codemirror/mode/python/python.min.js | 2 +- media/editors/codemirror/mode/soy/soy.js | 1 + media/editors/codemirror/mode/soy/soy.min.js | 2 +- media/editors/codemirror/mode/sql/sql.js | 30 ++- media/editors/codemirror/mode/sql/sql.min.js | 4 +- .../codemirror/mode/velocity/velocity.js | 2 +- .../codemirror/mode/velocity/velocity.min.js | 2 +- .../editors/codemirror/theme/gruvbox-dark.css | 34 ++++ media/editors/codemirror/theme/idea.css | 31 +++ media/editors/codemirror/theme/lucario.css | 37 ++++ media/editors/codemirror/theme/ssms.css | 16 ++ plugins/editors/codemirror/codemirror.xml | 2 +- 45 files changed, 563 insertions(+), 116 deletions(-) create mode 100644 media/editors/codemirror/theme/gruvbox-dark.css create mode 100644 media/editors/codemirror/theme/idea.css create mode 100644 media/editors/codemirror/theme/lucario.css create mode 100644 media/editors/codemirror/theme/ssms.css diff --git a/media/editors/codemirror/addon/edit/continuelist.js b/media/editors/codemirror/addon/edit/continuelist.js index b83dc505ff56c..4e7d39287429c 100644 --- a/media/editors/codemirror/addon/edit/continuelist.js +++ b/media/editors/codemirror/addon/edit/continuelist.js @@ -66,7 +66,7 @@ var newNumber = (parseInt(startItem[3], 10) + lookAhead - skipCount); var nextNumber = (parseInt(nextItem[3], 10)), itemNumber = nextNumber; - if (startIndent === nextIndent) { + if (startIndent === nextIndent && !isNaN(nextNumber)) { if (newNumber === nextNumber) itemNumber = nextNumber + 1; if (newNumber > nextNumber) itemNumber = newNumber + 1; cm.replaceRange( diff --git a/media/editors/codemirror/addon/edit/continuelist.min.js b/media/editors/codemirror/addon/edit/continuelist.min.js index da14112694522..e7e653a79e6f8 100644 --- a/media/editors/codemirror/addon/edit/continuelist.min.js +++ b/media/editors/codemirror/addon/edit/continuelist.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){var d=b.line,e=0,f=0,g=c.exec(a.getLine(d)),h=g[1];do{e+=1;var i=d+e,j=a.getLine(i),k=c.exec(j);if(k){var l=k[1],m=parseInt(g[3],10)+e-f,n=parseInt(k[3],10),o=n;if(h===l)m===n&&(o=n+1),m>n&&(o=m+1),a.replaceRange(j.replace(c,l+o+k[4]+k[5]),{line:i,ch:0},{line:i,ch:j.length});else{if(h.length>l.length)return;if(h.length<l.length&&1===e)return;f+=1}}}while(k)}var c=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,d=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,e=/[*+-]\s/;a.commands.newlineAndIndentContinueMarkdownList=function(f){if(f.getOption("disableInput"))return a.Pass;for(var g=f.listSelections(),h=[],i=0;i<g.length;i++){var j=g[i].head,k=f.getStateAfter(j.line),l=k.list!==!1,m=0!==k.quote,n=f.getLine(j.line),o=c.exec(n),p=/^\s*$/.test(n.slice(0,j.ch));if(!g[i].empty()||!l&&!m||!o||p)return void f.execCommand("newlineAndIndent");if(d.test(n))/>\s*$/.test(n)||f.replaceRange("",{line:j.line,ch:0},{line:j.line,ch:j.ch+1}),h[i]="\n";else{var q=o[1],r=o[5],s=!(e.test(o[2])||o[2].indexOf(">")>=0),t=s?parseInt(o[3],10)+1+o[4]:o[2].replace("x"," ");h[i]="\n"+q+t+r,s&&b(f,j)}}f.replaceSelections(h)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){var d=b.line,e=0,f=0,g=c.exec(a.getLine(d)),h=g[1];do{e+=1;var i=d+e,j=a.getLine(i),k=c.exec(j);if(k){var l=k[1],m=parseInt(g[3],10)+e-f,n=parseInt(k[3],10),o=n;if(h!==l||isNaN(n)){if(h.length>l.length)return;if(h.length<l.length&&1===e)return;f+=1}else m===n&&(o=n+1),m>n&&(o=m+1),a.replaceRange(j.replace(c,l+o+k[4]+k[5]),{line:i,ch:0},{line:i,ch:j.length})}}while(k)}var c=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,d=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,e=/[*+-]\s/;a.commands.newlineAndIndentContinueMarkdownList=function(f){if(f.getOption("disableInput"))return a.Pass;for(var g=f.listSelections(),h=[],i=0;i<g.length;i++){var j=g[i].head,k=f.getStateAfter(j.line),l=k.list!==!1,m=0!==k.quote,n=f.getLine(j.line),o=c.exec(n),p=/^\s*$/.test(n.slice(0,j.ch));if(!g[i].empty()||!l&&!m||!o||p)return void f.execCommand("newlineAndIndent");if(d.test(n))/>\s*$/.test(n)||f.replaceRange("",{line:j.line,ch:0},{line:j.line,ch:j.ch+1}),h[i]="\n";else{var q=o[1],r=o[5],s=!(e.test(o[2])||o[2].indexOf(">")>=0),t=s?parseInt(o[3],10)+1+o[4]:o[2].replace("x"," ");h[i]="\n"+q+t+r,s&&b(f,j)}}f.replaceSelections(h)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/fold/xml-fold.js b/media/editors/codemirror/addon/fold/xml-fold.js index 3acf952d9d2fa..867ecb5cb3724 100644 --- a/media/editors/codemirror/addon/fold/xml-fold.js +++ b/media/editors/codemirror/addon/fold/xml-fold.js @@ -137,12 +137,14 @@ CodeMirror.registerHelper("fold", "xml", function(cm, start) { var iter = new Iter(cm, start.line, 0); for (;;) { - var openTag = toNextTag(iter), end; - if (!openTag || !(end = toTagEnd(iter)) || iter.line != start.line) return; + var openTag = toNextTag(iter) + if (!openTag || iter.line != start.line) return + var end = toTagEnd(iter) + if (!end) return if (!openTag[1] && end != "selfClose") { var startPos = Pos(iter.line, iter.ch); var endPos = findMatchingClose(iter, openTag[2]); - return endPos && {from: startPos, to: endPos.from}; + return endPos && cmp(endPos.from, startPos) > 0 ? {from: startPos, to: endPos.from} : null } } }); diff --git a/media/editors/codemirror/addon/fold/xml-fold.min.js b/media/editors/codemirror/addon/fold/xml-fold.min.js index c7036f3215084..c74f165958076 100644 --- a/media/editors/codemirror/addon/fold/xml-fold.min.js +++ b/media/editors/codemirror/addon/fold/xml-fold.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,d){for(var e=new c(a,d.line,0);;){var f=i(e);if(!f||e.line!=d.line)return;var h=g(e);if(!h)return;if(!f[1]&&"selfClose"!=h){var j=m(e.line,e.ch),l=k(e,f[2]);return l&&b(l.from,j)>0?{from:j,to:l.from}:null}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/hint/javascript-hint.js b/media/editors/codemirror/addon/hint/javascript-hint.js index 9c39b168e966f..f6ab2a2e89751 100644 --- a/media/editors/codemirror/addon/hint/javascript-hint.js +++ b/media/editors/codemirror/addon/hint/javascript-hint.js @@ -32,7 +32,9 @@ // Find the token at the cursor var cur = editor.getCursor(), token = getToken(editor, cur); if (/\b(?:string|comment)\b/.test(token.type)) return; - token.state = CodeMirror.innerMode(editor.getMode(), token.state).state; + var innerMode = CodeMirror.innerMode(editor.getMode(), token.state); + if (innerMode.mode.helperType === "json") return; + token.state = innerMode.state; // If it's not a 'word-style' token, ignore the token. if (!/^[\w$_]*$/.test(token.string)) { diff --git a/media/editors/codemirror/addon/hint/javascript-hint.min.js b/media/editors/codemirror/addon/hint/javascript-hint.min.js index da75e21620ed0..fa853411f2ee0 100644 --- a/media/editors/codemirror/addon/hint/javascript-hint.min.js +++ b/media/editors/codemirror/addon/hint/javascript-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){for(var c=0,d=a.length;c<d;++c)b(a[c])}function c(a,b){if(!Array.prototype.indexOf){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}return a.indexOf(b)!=-1}function d(b,c,d,e){var f=b.getCursor(),g=d(b,f);if(!/\b(?:string|comment)\b/.test(g.type)){g.state=a.innerMode(b.getMode(),g.state).state,/^[\w$_]*$/.test(g.string)?g.end>f.ch&&(g.end=f.ch,g.string=g.string.slice(0,f.ch-g.start)):g={start:f.ch,end:f.ch,string:"",state:g.state,type:"."==g.string?"property":null};for(var h=g;"property"==h.type;){if(h=d(b,j(f.line,h.start)),"."!=h.string)return;if(h=d(b,j(f.line,h.start)),!k)var k=[];k.push(h)}return{list:i(g,k,c,e),from:j(f.line,g.start),to:j(f.line,g.end)}}}function e(a,b){return d(a,n,(function(a,b){return a.getTokenAt(b)}),b)}function f(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type="property",c.start++,c.string=c.string.replace(/\./,"")),c}function g(a,b){return d(a,o,f,b)}function h(a,b){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var c=a;c;c=Object.getPrototypeOf(c))Object.getOwnPropertyNames(c).forEach(b);else for(var d in a)b(d)}function i(a,d,e,f){function g(a){0!=a.lastIndexOf(n,0)||c(j,a)||j.push(a)}function i(a){"string"==typeof a?b(k,g):a instanceof Array?b(l,g):a instanceof Function&&b(m,g),h(a,g)}var j=[],n=a.string,o=f&&f.globalScope||window;if(d&&d.length){var p,q=d.pop();for(q.type&&0===q.type.indexOf("variable")?(f&&f.additionalContext&&(p=f.additionalContext[q.string]),f&&f.useGlobalScope===!1||(p=p||o[q.string])):"string"==q.type?p="":"atom"==q.type?p=1:"function"==q.type&&(null==o.jQuery||"$"!=q.string&&"jQuery"!=q.string||"function"!=typeof o.jQuery?null!=o._&&"_"==q.string&&"function"==typeof o._&&(p=o._()):p=o.jQuery());null!=p&&d.length;)p=p[d.pop().string];null!=p&&i(p)}else{for(var r=a.state.localVars;r;r=r.next)g(r.name);for(var r=a.state.globalVars;r;r=r.next)g(r.name);f&&f.useGlobalScope===!1||i(o),b(e,g)}return j}var j=a.Pos;a.registerHelper("hint","javascript",e),a.registerHelper("hint","coffeescript",g);var k="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),l="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),m="prototype apply call bind".split(" "),n="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),o="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){for(var c=0,d=a.length;c<d;++c)b(a[c])}function c(a,b){if(!Array.prototype.indexOf){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}return a.indexOf(b)!=-1}function d(b,c,d,e){var f=b.getCursor(),g=d(b,f);if(!/\b(?:string|comment)\b/.test(g.type)){var h=a.innerMode(b.getMode(),g.state);if("json"!==h.mode.helperType){g.state=h.state,/^[\w$_]*$/.test(g.string)?g.end>f.ch&&(g.end=f.ch,g.string=g.string.slice(0,f.ch-g.start)):g={start:f.ch,end:f.ch,string:"",state:g.state,type:"."==g.string?"property":null};for(var k=g;"property"==k.type;){if(k=d(b,j(f.line,k.start)),"."!=k.string)return;if(k=d(b,j(f.line,k.start)),!l)var l=[];l.push(k)}return{list:i(g,l,c,e),from:j(f.line,g.start),to:j(f.line,g.end)}}}}function e(a,b){return d(a,n,(function(a,b){return a.getTokenAt(b)}),b)}function f(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type="property",c.start++,c.string=c.string.replace(/\./,"")),c}function g(a,b){return d(a,o,f,b)}function h(a,b){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var c=a;c;c=Object.getPrototypeOf(c))Object.getOwnPropertyNames(c).forEach(b);else for(var d in a)b(d)}function i(a,d,e,f){function g(a){0!=a.lastIndexOf(n,0)||c(j,a)||j.push(a)}function i(a){"string"==typeof a?b(k,g):a instanceof Array?b(l,g):a instanceof Function&&b(m,g),h(a,g)}var j=[],n=a.string,o=f&&f.globalScope||window;if(d&&d.length){var p,q=d.pop();for(q.type&&0===q.type.indexOf("variable")?(f&&f.additionalContext&&(p=f.additionalContext[q.string]),f&&f.useGlobalScope===!1||(p=p||o[q.string])):"string"==q.type?p="":"atom"==q.type?p=1:"function"==q.type&&(null==o.jQuery||"$"!=q.string&&"jQuery"!=q.string||"function"!=typeof o.jQuery?null!=o._&&"_"==q.string&&"function"==typeof o._&&(p=o._()):p=o.jQuery());null!=p&&d.length;)p=p[d.pop().string];null!=p&&i(p)}else{for(var r=a.state.localVars;r;r=r.next)g(r.name);for(var r=a.state.globalVars;r;r=r.next)g(r.name);f&&f.useGlobalScope===!1||i(o),b(e,g)}return j}var j=a.Pos;a.registerHelper("hint","javascript",e),a.registerHelper("hint","coffeescript",g);var k="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),l="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),m="prototype apply call bind".split(" "),n="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),o="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/hint/show-hint.js b/media/editors/codemirror/addon/hint/show-hint.js index 62c683cb8cc64..81a63fc9921e8 100644 --- a/media/editors/codemirror/addon/hint/show-hint.js +++ b/media/editors/codemirror/addon/hint/show-hint.js @@ -397,12 +397,13 @@ }); CodeMirror.registerHelper("hint", "fromList", function(cm, options) { - var cur = cm.getCursor(), token = cm.getTokenAt(cur); - var to = CodeMirror.Pos(cur.line, token.end); - if (token.string && /\w/.test(token.string[token.string.length - 1])) { - var term = token.string, from = CodeMirror.Pos(cur.line, token.start); + var cur = cm.getCursor(), token = cm.getTokenAt(cur) + var term, from = CodeMirror.Pos(cur.line, token.start), to = cur + if (token.start < cur.ch && /\w/.test(token.string.charAt(cur.ch - token.start - 1))) { + term = token.string.substr(0, cur.ch - token.start) } else { - var term = "", from = to; + term = "" + from = cur } var found = []; for (var i = 0; i < options.words.length; i++) { diff --git a/media/editors/codemirror/addon/hint/show-hint.min.js b/media/editors/codemirror/addon/hint/show-hint.min.js index d3f5fe746ba8a..1fc4c65859357 100644 --- a/media/editors/codemirror/addon/hint/show-hint.min.js +++ b/media/editors/codemirror/addon/hint/show-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.cm=a,this.options=b,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var c=this;a.on("cursorActivity",this.activityFunc=function(){c.cursorActivity()})}function c(a,b,c){var d=a.options.hintOptions,e={};for(var f in o)e[f]=o[f];if(d)for(var f in d)void 0!==d[f]&&(e[f]=d[f]);if(c)for(var f in c)void 0!==c[f]&&(e[f]=c[f]);return e.hint.resolve&&(e.hint=e.hint.resolve(a,b)),e}function d(a){return"string"==typeof a?a:a.text}function e(a,b){function c(a,c){var e;e="string"!=typeof c?function(a){return c(a,b)}:d.hasOwnProperty(c)?d[c]:c,f[a]=e}var d={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize()+1,!0)},PageDown:function(){b.moveFocus(b.menuSize()-1,!0)},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length-1)},Enter:b.pick,Tab:b.pick,Esc:b.close},e=a.options.customKeys,f=e?{}:d;if(e)for(var g in e)e.hasOwnProperty(g)&&c(g,e[g]);var h=a.options.extraKeys;if(h)for(var g in h)h.hasOwnProperty(g)&&c(g,h[g]);return f}function f(a,b){for(;b&&b!=a;){if("LI"===b.nodeName.toUpperCase()&&b.parentNode==a)return b;b=b.parentNode}}function g(b,c){this.completion=b,this.data=c,this.picked=!1;var g=this,h=b.cm,i=this.hints=document.createElement("ul");i.className="CodeMirror-hints",this.selectedHint=c.selectedHint||0;for(var j=c.list,m=0;m<j.length;++m){var n=i.appendChild(document.createElement("li")),o=j[m],p=k+(m!=this.selectedHint?"":" "+l);null!=o.className&&(p=o.className+" "+p),n.className=p,o.render?o.render(n,c,o):n.appendChild(document.createTextNode(o.displayText||d(o))),n.hintId=m}var q=h.cursorCoords(b.options.alignWithWord?c.from:null),r=q.left,s=q.bottom,t=!0;i.style.left=r+"px",i.style.top=s+"px";var u=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),v=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(b.options.container||document.body).appendChild(i);var w=i.getBoundingClientRect(),x=w.bottom-v,y=i.scrollHeight>i.clientHeight+1,z=h.getScrollInfo();if(x>0){var A=w.bottom-w.top,B=q.top-(q.bottom-w.top);if(B-A>0)i.style.top=(s=q.top-A)+"px",t=!1;else if(A>v){i.style.height=v-5+"px",i.style.top=(s=q.bottom-w.top)+"px";var C=h.getCursor();c.from.ch!=C.ch&&(q=h.cursorCoords(C),i.style.left=(r=q.left)+"px",w=i.getBoundingClientRect())}}var D=w.right-u;if(D>0&&(w.right-w.left>u&&(i.style.width=u-5+"px",D-=w.right-w.left-u),i.style.left=(r=q.left-D)+"px"),y)for(var E=i.firstChild;E;E=E.nextSibling)E.style.paddingRight=h.display.nativeBarWidth+"px";if(h.addKeyMap(this.keyMap=e(b,{moveFocus:function(a,b){g.changeActive(g.selectedHint+a,b)},setFocus:function(a){g.changeActive(a)},menuSize:function(){return g.screenAmount()},length:j.length,close:function(){b.close()},pick:function(){g.pick()},data:c})),b.options.closeOnUnfocus){var F;h.on("blur",this.onBlur=function(){F=setTimeout((function(){b.close()}),100)}),h.on("focus",this.onFocus=function(){clearTimeout(F)})}return h.on("scroll",this.onScroll=function(){var a=h.getScrollInfo(),c=h.getWrapperElement().getBoundingClientRect(),d=s+z.top-a.top,e=d-(window.pageYOffset||(document.documentElement||document.body).scrollTop);return t||(e+=i.offsetHeight),e<=c.top||e>=c.bottom?b.close():(i.style.top=d+"px",void(i.style.left=r+z.left-a.left+"px"))}),a.on(i,"dblclick",(function(a){var b=f(i,a.target||a.srcElement);b&&null!=b.hintId&&(g.changeActive(b.hintId),g.pick())})),a.on(i,"click",(function(a){var c=f(i,a.target||a.srcElement);c&&null!=c.hintId&&(g.changeActive(c.hintId),b.options.completeOnSingleClick&&g.pick())})),a.on(i,"mousedown",(function(){setTimeout((function(){h.focus()}),20)})),a.signal(c,"select",j[this.selectedHint],i.childNodes[this.selectedHint]),!0}function h(a,b){if(!a.somethingSelected())return b;for(var c=[],d=0;d<b.length;d++)b[d].supportsSelection&&c.push(b[d]);return c}function i(a,b,c,d){if(a.async)a(b,d,c);else{var e=a(b,c);e&&e.then?e.then(d):d(e)}}function j(b,c){var d,e=b.getHelpers(c,"hint");if(e.length){var f=function(a,b,c){function d(e){return e==f.length?b(null):void i(f[e],a,c,(function(a){a&&a.list.length>0?b(a):d(e+1)}))}var f=h(a,e);d(0)};return f.async=!0,f.supportsSelection=!0,f}return(d=b.getHelper(b.getCursor(),"hintWords"))?function(b){return a.hint.fromList(b,{words:d})}:a.hint.anyword?function(b,c){return a.hint.anyword(b,c)}:function(){}}var k="CodeMirror-hint",l="CodeMirror-hint-active";a.showHint=function(a,b,c){if(!b)return a.showHint(c);c&&c.async&&(b.async=!0);var d={hint:b};if(c)for(var e in c)d[e]=c[e];return a.showHint(d)},a.defineExtension("showHint",(function(d){d=c(this,this.getCursor("start"),d);var e=this.listSelections();if(!(e.length>1)){if(this.somethingSelected()){if(!d.hint.supportsSelection)return;for(var f=0;f<e.length;f++)if(e[f].head.line!=e[f].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var g=this.state.completionActive=new b(this,d);g.options.hint&&(a.signal(this,"startCompletion",this),g.update(!0))}}));var m=window.requestAnimationFrame||function(a){return setTimeout(a,1e3/60)},n=window.cancelAnimationFrame||clearTimeout;b.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&a.signal(this.data,"close"),this.widget&&this.widget.close(),a.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(b,c){var e=b.list[c];e.hint?e.hint(this.cm,b,e):this.cm.replaceRange(d(e),e.from||b.from,e.to||b.to,"complete"),a.signal(b,"pick",e),this.close()},cursorActivity:function(){this.debounce&&(n(this.debounce),this.debounce=0);var a=this.cm.getCursor(),b=this.cm.getLine(a.line);if(a.line!=this.startPos.line||b.length-a.ch!=this.startLen-this.startPos.ch||a.ch<this.startPos.ch||this.cm.somethingSelected()||a.ch&&this.options.closeCharacters.test(b.charAt(a.ch-1)))this.close();else{var c=this;this.debounce=m((function(){c.update()})),this.widget&&this.widget.disable()}},update:function(a){if(null!=this.tick){var b=this,c=++this.tick;i(this.options.hint,this.cm,this.options,(function(d){b.tick==c&&b.finishUpdate(d,a)}))}},finishUpdate:function(b,c){this.data&&a.signal(this.data,"update");var d=this.widget&&this.widget.picked||c&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=b,b&&b.list.length&&(d&&1==b.list.length?this.pick(b,0):(this.widget=new g(this,b),a.signal(b,"shown")))}},g.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var a=this.completion.cm;this.completion.options.closeOnUnfocus&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus)),a.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var a=this;this.keyMap={Enter:function(){a.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(b,c){if(b>=this.data.list.length?b=c?this.data.list.length-1:0:b<0&&(b=c?0:this.data.list.length-1),this.selectedHint!=b){var d=this.hints.childNodes[this.selectedHint];d.className=d.className.replace(" "+l,""),d=this.hints.childNodes[this.selectedHint=b],d.className+=" "+l,d.offsetTop<this.hints.scrollTop?this.hints.scrollTop=d.offsetTop-3:d.offsetTop+d.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=d.offsetTop+d.offsetHeight-this.hints.clientHeight+3),a.signal(this.data,"select",this.data.list[this.selectedHint],d)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},a.registerHelper("hint","auto",{resolve:j}),a.registerHelper("hint","fromList",(function(b,c){var d=b.getCursor(),e=b.getTokenAt(d),f=a.Pos(d.line,e.end);if(e.string&&/\w/.test(e.string[e.string.length-1]))var g=e.string,h=a.Pos(d.line,e.start);else var g="",h=f;for(var i=[],j=0;j<c.words.length;j++){var k=c.words[j];k.slice(0,g.length)==g&&i.push(k)}if(i.length)return{list:i,from:h,to:f}})),a.commands.autocomplete=a.showHint;var o={hint:a.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};a.defineOption("hintOptions",null)})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.cm=a,this.options=b,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var c=this;a.on("cursorActivity",this.activityFunc=function(){c.cursorActivity()})}function c(a,b,c){var d=a.options.hintOptions,e={};for(var f in o)e[f]=o[f];if(d)for(var f in d)void 0!==d[f]&&(e[f]=d[f]);if(c)for(var f in c)void 0!==c[f]&&(e[f]=c[f]);return e.hint.resolve&&(e.hint=e.hint.resolve(a,b)),e}function d(a){return"string"==typeof a?a:a.text}function e(a,b){function c(a,c){var e;e="string"!=typeof c?function(a){return c(a,b)}:d.hasOwnProperty(c)?d[c]:c,f[a]=e}var d={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize()+1,!0)},PageDown:function(){b.moveFocus(b.menuSize()-1,!0)},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length-1)},Enter:b.pick,Tab:b.pick,Esc:b.close},e=a.options.customKeys,f=e?{}:d;if(e)for(var g in e)e.hasOwnProperty(g)&&c(g,e[g]);var h=a.options.extraKeys;if(h)for(var g in h)h.hasOwnProperty(g)&&c(g,h[g]);return f}function f(a,b){for(;b&&b!=a;){if("LI"===b.nodeName.toUpperCase()&&b.parentNode==a)return b;b=b.parentNode}}function g(b,c){this.completion=b,this.data=c,this.picked=!1;var g=this,h=b.cm,i=this.hints=document.createElement("ul");i.className="CodeMirror-hints",this.selectedHint=c.selectedHint||0;for(var j=c.list,m=0;m<j.length;++m){var n=i.appendChild(document.createElement("li")),o=j[m],p=k+(m!=this.selectedHint?"":" "+l);null!=o.className&&(p=o.className+" "+p),n.className=p,o.render?o.render(n,c,o):n.appendChild(document.createTextNode(o.displayText||d(o))),n.hintId=m}var q=h.cursorCoords(b.options.alignWithWord?c.from:null),r=q.left,s=q.bottom,t=!0;i.style.left=r+"px",i.style.top=s+"px";var u=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),v=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(b.options.container||document.body).appendChild(i);var w=i.getBoundingClientRect(),x=w.bottom-v,y=i.scrollHeight>i.clientHeight+1,z=h.getScrollInfo();if(x>0){var A=w.bottom-w.top,B=q.top-(q.bottom-w.top);if(B-A>0)i.style.top=(s=q.top-A)+"px",t=!1;else if(A>v){i.style.height=v-5+"px",i.style.top=(s=q.bottom-w.top)+"px";var C=h.getCursor();c.from.ch!=C.ch&&(q=h.cursorCoords(C),i.style.left=(r=q.left)+"px",w=i.getBoundingClientRect())}}var D=w.right-u;if(D>0&&(w.right-w.left>u&&(i.style.width=u-5+"px",D-=w.right-w.left-u),i.style.left=(r=q.left-D)+"px"),y)for(var E=i.firstChild;E;E=E.nextSibling)E.style.paddingRight=h.display.nativeBarWidth+"px";if(h.addKeyMap(this.keyMap=e(b,{moveFocus:function(a,b){g.changeActive(g.selectedHint+a,b)},setFocus:function(a){g.changeActive(a)},menuSize:function(){return g.screenAmount()},length:j.length,close:function(){b.close()},pick:function(){g.pick()},data:c})),b.options.closeOnUnfocus){var F;h.on("blur",this.onBlur=function(){F=setTimeout((function(){b.close()}),100)}),h.on("focus",this.onFocus=function(){clearTimeout(F)})}return h.on("scroll",this.onScroll=function(){var a=h.getScrollInfo(),c=h.getWrapperElement().getBoundingClientRect(),d=s+z.top-a.top,e=d-(window.pageYOffset||(document.documentElement||document.body).scrollTop);return t||(e+=i.offsetHeight),e<=c.top||e>=c.bottom?b.close():(i.style.top=d+"px",void(i.style.left=r+z.left-a.left+"px"))}),a.on(i,"dblclick",(function(a){var b=f(i,a.target||a.srcElement);b&&null!=b.hintId&&(g.changeActive(b.hintId),g.pick())})),a.on(i,"click",(function(a){var c=f(i,a.target||a.srcElement);c&&null!=c.hintId&&(g.changeActive(c.hintId),b.options.completeOnSingleClick&&g.pick())})),a.on(i,"mousedown",(function(){setTimeout((function(){h.focus()}),20)})),a.signal(c,"select",j[this.selectedHint],i.childNodes[this.selectedHint]),!0}function h(a,b){if(!a.somethingSelected())return b;for(var c=[],d=0;d<b.length;d++)b[d].supportsSelection&&c.push(b[d]);return c}function i(a,b,c,d){if(a.async)a(b,d,c);else{var e=a(b,c);e&&e.then?e.then(d):d(e)}}function j(b,c){var d,e=b.getHelpers(c,"hint");if(e.length){var f=function(a,b,c){function d(e){return e==f.length?b(null):void i(f[e],a,c,(function(a){a&&a.list.length>0?b(a):d(e+1)}))}var f=h(a,e);d(0)};return f.async=!0,f.supportsSelection=!0,f}return(d=b.getHelper(b.getCursor(),"hintWords"))?function(b){return a.hint.fromList(b,{words:d})}:a.hint.anyword?function(b,c){return a.hint.anyword(b,c)}:function(){}}var k="CodeMirror-hint",l="CodeMirror-hint-active";a.showHint=function(a,b,c){if(!b)return a.showHint(c);c&&c.async&&(b.async=!0);var d={hint:b};if(c)for(var e in c)d[e]=c[e];return a.showHint(d)},a.defineExtension("showHint",(function(d){d=c(this,this.getCursor("start"),d);var e=this.listSelections();if(!(e.length>1)){if(this.somethingSelected()){if(!d.hint.supportsSelection)return;for(var f=0;f<e.length;f++)if(e[f].head.line!=e[f].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var g=this.state.completionActive=new b(this,d);g.options.hint&&(a.signal(this,"startCompletion",this),g.update(!0))}}));var m=window.requestAnimationFrame||function(a){return setTimeout(a,1e3/60)},n=window.cancelAnimationFrame||clearTimeout;b.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&a.signal(this.data,"close"),this.widget&&this.widget.close(),a.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(b,c){var e=b.list[c];e.hint?e.hint(this.cm,b,e):this.cm.replaceRange(d(e),e.from||b.from,e.to||b.to,"complete"),a.signal(b,"pick",e),this.close()},cursorActivity:function(){this.debounce&&(n(this.debounce),this.debounce=0);var a=this.cm.getCursor(),b=this.cm.getLine(a.line);if(a.line!=this.startPos.line||b.length-a.ch!=this.startLen-this.startPos.ch||a.ch<this.startPos.ch||this.cm.somethingSelected()||a.ch&&this.options.closeCharacters.test(b.charAt(a.ch-1)))this.close();else{var c=this;this.debounce=m((function(){c.update()})),this.widget&&this.widget.disable()}},update:function(a){if(null!=this.tick){var b=this,c=++this.tick;i(this.options.hint,this.cm,this.options,(function(d){b.tick==c&&b.finishUpdate(d,a)}))}},finishUpdate:function(b,c){this.data&&a.signal(this.data,"update");var d=this.widget&&this.widget.picked||c&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=b,b&&b.list.length&&(d&&1==b.list.length?this.pick(b,0):(this.widget=new g(this,b),a.signal(b,"shown")))}},g.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var a=this.completion.cm;this.completion.options.closeOnUnfocus&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus)),a.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var a=this;this.keyMap={Enter:function(){a.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(b,c){if(b>=this.data.list.length?b=c?this.data.list.length-1:0:b<0&&(b=c?0:this.data.list.length-1),this.selectedHint!=b){var d=this.hints.childNodes[this.selectedHint];d.className=d.className.replace(" "+l,""),d=this.hints.childNodes[this.selectedHint=b],d.className+=" "+l,d.offsetTop<this.hints.scrollTop?this.hints.scrollTop=d.offsetTop-3:d.offsetTop+d.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=d.offsetTop+d.offsetHeight-this.hints.clientHeight+3),a.signal(this.data,"select",this.data.list[this.selectedHint],d)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},a.registerHelper("hint","auto",{resolve:j}),a.registerHelper("hint","fromList",(function(b,c){var d,e=b.getCursor(),f=b.getTokenAt(e),g=a.Pos(e.line,f.start),h=e;f.start<e.ch&&/\w/.test(f.string.charAt(e.ch-f.start-1))?d=f.string.substr(0,e.ch-f.start):(d="",g=e);for(var i=[],j=0;j<c.words.length;j++){var k=c.words[j];k.slice(0,d.length)==d&&i.push(k)}if(i.length)return{list:i,from:g,to:h}})),a.commands.autocomplete=a.showHint;var o={hint:a.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};a.defineOption("hintOptions",null)})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/hint/sql-hint.js b/media/editors/codemirror/addon/hint/sql-hint.js index 5d20eea625420..62b69c948f7e2 100644 --- a/media/editors/codemirror/addon/hint/sql-hint.js +++ b/media/editors/codemirror/addon/hint/sql-hint.js @@ -275,10 +275,23 @@ if (search.charAt(0) == "." || search.charAt(0) == identifierQuote) { start = nameCompletion(cur, token, result, editor); } else { - addMatches(result, search, defaultTable, function(w) {return w;}); - addMatches(result, search, tables, function(w) {return w;}); + addMatches(result, search, defaultTable, function(w) {return {text:w, className: "CodeMirror-hint-table CodeMirror-hint-default-table"};}); + addMatches( + result, + search, + tables, + function(w) { + if (typeof w === 'object') { + w.className = "CodeMirror-hint-table"; + } else { + w = {text: w, className: "CodeMirror-hint-table"}; + } + + return w; + } + ); if (!disableKeywords) - addMatches(result, search, keywords, function(w) {return w.toUpperCase();}); + addMatches(result, search, keywords, function(w) {return {text: w.toUpperCase(), className: "CodeMirror-hint-keyword"};}); } return {list: result, from: Pos(cur.line, start), to: Pos(cur.line, end)}; diff --git a/media/editors/codemirror/addon/hint/sql-hint.min.js b/media/editors/codemirror/addon/hint/sql-hint.min.js index 7f1c90ff30829..4403319422be9 100644 --- a/media/editors/codemirror/addon/hint/sql-hint.min.js +++ b/media/editors/codemirror/addon/hint/sql-hint.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../mode/sql/sql")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../mode/sql/sql"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return"[object Array]"==Object.prototype.toString.call(a)}function c(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).keywords}function d(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).identifierQuote||"`"}function e(a){return"string"==typeof a?a:a.text}function f(a,c){return b(c)&&(c={columns:c}),c.text||(c.text=a),c}function g(a){var c={};if(b(a))for(var d=a.length-1;d>=0;d--){var g=a[d];c[e(g).toUpperCase()]=f(e(g),g)}else if(a)for(var h in a)c[h.toUpperCase()]=f(h,a[h]);return c}function h(a){return q[a.toUpperCase()]}function i(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function j(a,b){var c=a.length,d=e(b).substr(0,c);return a.toUpperCase()===d.toUpperCase()}function k(a,c,d,e){if(b(d))for(var f=0;f<d.length;f++)j(c,d[f])&&a.push(e(d[f]));else for(var g in d)if(d.hasOwnProperty(g)){var h=d[g];h=h&&h!==!0?h.displayText?{text:h.text,displayText:h.displayText}:h.text:g,j(c,h)&&a.push(e(h))}}function l(a){"."==a.charAt(0)&&(a=a.substr(1));for(var b=a.split(t+t),c=0;c<b.length;c++)b[c]=b[c].replace(new RegExp(t,"g"),"");return b.join(t)}function m(a){for(var b=e(a).split("."),c=0;c<b.length;c++)b[c]=t+b[c].replace(new RegExp(t,"g"),t+t)+t;var d=b.join(".");return"string"==typeof a?d:(a=i(a),a.text=d,a)}function n(a,b,c,d){for(var e=!1,f=[],g=b.start,j=!0;j;)j="."==b.string.charAt(0),e=e||b.string.charAt(0)==t,g=b.start,f.unshift(l(b.string)),b=d.getTokenAt(v(a.line,b.start)),"."==b.string&&(j=!0,b=d.getTokenAt(v(a.line,b.start)));var n=f.join(".");k(c,n,q,(function(a){return e?m(a):a})),k(c,n,r,(function(a){return e?m(a):a})),n=f.pop();var o=f.join("."),s=!1,u=o;if(!h(o)){var w=o;o=p(o,d),o!==w&&(s=!0)}var x=h(o);return x&&x.columns&&(x=x.columns),x&&k(c,n,x,(function(a){var b=o;return 1==s&&(b=u),"string"==typeof a?a=b+"."+a:(a=i(a),a.text=b+"."+a.text),e?m(a):a})),g}function o(a,b){for(var c=a.split(/\s+/),d=0;d<c.length;d++)c[d]&&b(c[d].replace(/[,;]/g,""))}function p(a,b){for(var c=b.doc,d=c.getValue(),e=a.toUpperCase(),f="",g="",i=[],j={start:v(0,0),end:v(b.lastLine(),b.getLineHandle(b.lastLine()).length)},k=d.indexOf(u.QUERY_DIV);k!=-1;)i.push(c.posFromIndex(k)),k=d.indexOf(u.QUERY_DIV,k+1);i.unshift(v(0,0)),i.push(v(b.lastLine(),b.getLineHandle(b.lastLine()).text.length));for(var l=null,m=b.getCursor(),n=0;n<i.length;n++){if((null==l||w(m,l)>0)&&w(m,i[n])<=0){j={start:l,end:i[n]};break}l=i[n]}if(j.start)for(var p=c.getRange(j.start,j.end,!1),n=0;n<p.length;n++){var q=p[n];if(o(q,(function(a){var b=a.toUpperCase();b===e&&h(f)&&(g=f),b!==u.ALIAS_KEYWORD&&(f=a)})),g)break}return g}var q,r,s,t,u={QUERY_DIV:";",ALIAS_KEYWORD:"AS"},v=a.Pos,w=a.cmpPos;a.registerHelper("hint","sql",(function(a,b){q=g(b&&b.tables);var e=b&&b.defaultTable,f=b&&b.disableKeywords;r=e&&h(e),s=c(a),t=d(a),e&&!r&&(r=p(e,a)),r=r||[],r.columns&&(r=r.columns);var i,j,l,m=a.getCursor(),o=[],u=a.getTokenAt(m);return u.end>m.ch&&(u.end=m.ch,u.string=u.string.slice(0,m.ch-u.start)),u.string.match(/^[.`"\w@]\w*$/)?(l=u.string,i=u.start,j=u.end):(i=j=m.ch,l=""),"."==l.charAt(0)||l.charAt(0)==t?i=n(m,u,o,a):(k(o,l,r,(function(a){return a})),k(o,l,q,(function(a){return a})),f||k(o,l,s,(function(a){return a.toUpperCase()}))),{list:o,from:v(m.line,i),to:v(m.line,j)}}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../../mode/sql/sql")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../../mode/sql/sql"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return"[object Array]"==Object.prototype.toString.call(a)}function c(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).keywords}function d(b){var c=b.doc.modeOption;return"sql"===c&&(c="text/x-sql"),a.resolveMode(c).identifierQuote||"`"}function e(a){return"string"==typeof a?a:a.text}function f(a,c){return b(c)&&(c={columns:c}),c.text||(c.text=a),c}function g(a){var c={};if(b(a))for(var d=a.length-1;d>=0;d--){var g=a[d];c[e(g).toUpperCase()]=f(e(g),g)}else if(a)for(var h in a)c[h.toUpperCase()]=f(h,a[h]);return c}function h(a){return q[a.toUpperCase()]}function i(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function j(a,b){var c=a.length,d=e(b).substr(0,c);return a.toUpperCase()===d.toUpperCase()}function k(a,c,d,e){if(b(d))for(var f=0;f<d.length;f++)j(c,d[f])&&a.push(e(d[f]));else for(var g in d)if(d.hasOwnProperty(g)){var h=d[g];h=h&&h!==!0?h.displayText?{text:h.text,displayText:h.displayText}:h.text:g,j(c,h)&&a.push(e(h))}}function l(a){"."==a.charAt(0)&&(a=a.substr(1));for(var b=a.split(t+t),c=0;c<b.length;c++)b[c]=b[c].replace(new RegExp(t,"g"),"");return b.join(t)}function m(a){for(var b=e(a).split("."),c=0;c<b.length;c++)b[c]=t+b[c].replace(new RegExp(t,"g"),t+t)+t;var d=b.join(".");return"string"==typeof a?d:(a=i(a),a.text=d,a)}function n(a,b,c,d){for(var e=!1,f=[],g=b.start,j=!0;j;)j="."==b.string.charAt(0),e=e||b.string.charAt(0)==t,g=b.start,f.unshift(l(b.string)),b=d.getTokenAt(v(a.line,b.start)),"."==b.string&&(j=!0,b=d.getTokenAt(v(a.line,b.start)));var n=f.join(".");k(c,n,q,(function(a){return e?m(a):a})),k(c,n,r,(function(a){return e?m(a):a})),n=f.pop();var o=f.join("."),s=!1,u=o;if(!h(o)){var w=o;o=p(o,d),o!==w&&(s=!0)}var x=h(o);return x&&x.columns&&(x=x.columns),x&&k(c,n,x,(function(a){var b=o;return 1==s&&(b=u),"string"==typeof a?a=b+"."+a:(a=i(a),a.text=b+"."+a.text),e?m(a):a})),g}function o(a,b){for(var c=a.split(/\s+/),d=0;d<c.length;d++)c[d]&&b(c[d].replace(/[,;]/g,""))}function p(a,b){for(var c=b.doc,d=c.getValue(),e=a.toUpperCase(),f="",g="",i=[],j={start:v(0,0),end:v(b.lastLine(),b.getLineHandle(b.lastLine()).length)},k=d.indexOf(u.QUERY_DIV);k!=-1;)i.push(c.posFromIndex(k)),k=d.indexOf(u.QUERY_DIV,k+1);i.unshift(v(0,0)),i.push(v(b.lastLine(),b.getLineHandle(b.lastLine()).text.length));for(var l=null,m=b.getCursor(),n=0;n<i.length;n++){if((null==l||w(m,l)>0)&&w(m,i[n])<=0){j={start:l,end:i[n]};break}l=i[n]}if(j.start)for(var p=c.getRange(j.start,j.end,!1),n=0;n<p.length;n++){var q=p[n];if(o(q,(function(a){var b=a.toUpperCase();b===e&&h(f)&&(g=f),b!==u.ALIAS_KEYWORD&&(f=a)})),g)break}return g}var q,r,s,t,u={QUERY_DIV:";",ALIAS_KEYWORD:"AS"},v=a.Pos,w=a.cmpPos;a.registerHelper("hint","sql",(function(a,b){q=g(b&&b.tables);var e=b&&b.defaultTable,f=b&&b.disableKeywords;r=e&&h(e),s=c(a),t=d(a),e&&!r&&(r=p(e,a)),r=r||[],r.columns&&(r=r.columns);var i,j,l,m=a.getCursor(),o=[],u=a.getTokenAt(m);return u.end>m.ch&&(u.end=m.ch,u.string=u.string.slice(0,m.ch-u.start)),u.string.match(/^[.`"\w@]\w*$/)?(l=u.string,i=u.start,j=u.end):(i=j=m.ch,l=""),"."==l.charAt(0)||l.charAt(0)==t?i=n(m,u,o,a):(k(o,l,r,(function(a){return{text:a,className:"CodeMirror-hint-table CodeMirror-hint-default-table"}})),k(o,l,q,(function(a){return"object"==typeof a?a.className="CodeMirror-hint-table":a={text:a,className:"CodeMirror-hint-table"},a})),f||k(o,l,s,(function(a){return{text:a.toUpperCase(),className:"CodeMirror-hint-keyword"}}))),{list:o,from:v(m.line,i),to:v(m.line,j)}}))})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/merge/merge.css b/media/editors/codemirror/addon/merge/merge.css index bda3d9f8061a8..dadd7f59c788f 100644 --- a/media/editors/codemirror/addon/merge/merge.css +++ b/media/editors/codemirror/addon/merge/merge.css @@ -48,6 +48,12 @@ color: #555; line-height: 1; } +.CodeMirror-merge-scrolllock:after { + content: "\21db\00a0\00a0\21da"; +} +.CodeMirror-merge-scrolllock.CodeMirror-merge-scrolllock-enabled:after { + content: "\21db\21da"; +} .CodeMirror-merge-copybuttons-left, .CodeMirror-merge-copybuttons-right { position: absolute; diff --git a/media/editors/codemirror/addon/merge/merge.js b/media/editors/codemirror/addon/merge/merge.js index dc2e77c60edab..5b87b5e62a7e9 100644 --- a/media/editors/codemirror/addon/merge/merge.js +++ b/media/editors/codemirror/addon/merge/merge.js @@ -211,7 +211,7 @@ function setScrollLock(dv, val, action) { dv.lockScroll = val; if (val && action != false) syncScroll(dv, DIFF_INSERT) && makeConnections(dv); - dv.lockButton.innerHTML = val ? "\u21db\u21da" : "\u21db  \u21da"; + (val ? CodeMirror.addClass : CodeMirror.rmClass)(dv.lockButton, "CodeMirror-merge-scrolllock-enabled"); } // Updating the marks for editor content @@ -664,6 +664,7 @@ function getChunks(diff) { var chunks = []; + if (!diff.length) return chunks; var startEdit = 0, startOrig = 0; var edit = Pos(0, 0), orig = Pos(0, 0); for (var i = 0; i < diff.length; ++i) { diff --git a/media/editors/codemirror/addon/merge/merge.min.css b/media/editors/codemirror/addon/merge/merge.min.css index 2145a21ed922a..24a20a1da1c52 100644 --- a/media/editors/codemirror/addon/merge/merge.min.css +++ b/media/editors/codemirror/addon/merge/merge.min.css @@ -1 +1 @@ -.CodeMirror-merge{position:relative;border:1px solid #ddd;white-space:pre}.CodeMirror-merge,.CodeMirror-merge .CodeMirror{height:350px}.CodeMirror-merge-2pane .CodeMirror-merge-pane{width:47%}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:6%}.CodeMirror-merge-3pane .CodeMirror-merge-pane{width:31%}.CodeMirror-merge-3pane .CodeMirror-merge-gap{width:3.5%}.CodeMirror-merge-pane{display:inline-block;white-space:normal;vertical-align:top}.CodeMirror-merge-pane-rightmost{position:absolute;right:0;z-index:1}.CodeMirror-merge-gap{z-index:2;display:inline-block;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;border-left:1px solid #ddd;border-right:1px solid #ddd;position:relative;background:#f8f8f8}.CodeMirror-merge-scrolllock-wrap{position:absolute;bottom:0;left:50%}.CodeMirror-merge-scrolllock{position:relative;left:-50%;cursor:pointer;color:#555;line-height:1}.CodeMirror-merge-copy,.CodeMirror-merge-copy-reverse{position:absolute;color:#44c;cursor:pointer}.CodeMirror-merge-copybuttons-left,.CodeMirror-merge-copybuttons-right{position:absolute;left:0;top:0;right:0;bottom:0;line-height:1}.CodeMirror-merge-copy{z-index:3}.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy{left:2px}.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy{right:2px}.CodeMirror-merge-l-inserted,.CodeMirror-merge-r-inserted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);background-position:bottom left;background-repeat:repeat-x}.CodeMirror-merge-l-deleted,.CodeMirror-merge-r-deleted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);background-position:bottom left;background-repeat:repeat-x}.CodeMirror-merge-r-chunk{background:#ffffe0}.CodeMirror-merge-r-chunk-start{border-top:1px solid #ee8}.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #ee8}.CodeMirror-merge-r-connect{fill:#ffffe0;stroke:#ee8;stroke-width:1px}.CodeMirror-merge-l-chunk{background:#eef}.CodeMirror-merge-l-chunk-start{border-top:1px solid #88e}.CodeMirror-merge-l-chunk-end{border-bottom:1px solid #88e}.CodeMirror-merge-l-connect{fill:#eef;stroke:#88e;stroke-width:1px}.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk{background:#dfd}.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start{border-top:1px solid #4e4}.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #4e4}.CodeMirror-merge-collapsed-widget:before{content:"(...)"}.CodeMirror-merge-collapsed-widget{cursor:pointer;color:#88b;background:#eef;border:1px solid #ddf;font-size:90%;padding:0 3px;border-radius:4px}.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt{display:none} \ No newline at end of file +.CodeMirror-merge{position:relative;border:1px solid #ddd;white-space:pre}.CodeMirror-merge,.CodeMirror-merge .CodeMirror{height:350px}.CodeMirror-merge-2pane .CodeMirror-merge-pane{width:47%}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:6%}.CodeMirror-merge-3pane .CodeMirror-merge-pane{width:31%}.CodeMirror-merge-3pane .CodeMirror-merge-gap{width:3.5%}.CodeMirror-merge-pane{display:inline-block;white-space:normal;vertical-align:top}.CodeMirror-merge-pane-rightmost{position:absolute;right:0;z-index:1}.CodeMirror-merge-gap{z-index:2;display:inline-block;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;border-left:1px solid #ddd;border-right:1px solid #ddd;position:relative;background:#f8f8f8}.CodeMirror-merge-scrolllock-wrap{position:absolute;bottom:0;left:50%}.CodeMirror-merge-scrolllock{position:relative;left:-50%;cursor:pointer;color:#555;line-height:1}.CodeMirror-merge-copy,.CodeMirror-merge-copy-reverse{position:absolute;color:#44c;cursor:pointer}.CodeMirror-merge-scrolllock:after{content:"\21db\00a0\00a0\21da"}.CodeMirror-merge-scrolllock.CodeMirror-merge-scrolllock-enabled:after{content:"\21db\21da"}.CodeMirror-merge-copybuttons-left,.CodeMirror-merge-copybuttons-right{position:absolute;left:0;top:0;right:0;bottom:0;line-height:1}.CodeMirror-merge-copy{z-index:3}.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy{left:2px}.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy{right:2px}.CodeMirror-merge-l-inserted,.CodeMirror-merge-r-inserted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);background-position:bottom left;background-repeat:repeat-x}.CodeMirror-merge-l-deleted,.CodeMirror-merge-r-deleted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);background-position:bottom left;background-repeat:repeat-x}.CodeMirror-merge-r-chunk{background:#ffffe0}.CodeMirror-merge-r-chunk-start{border-top:1px solid #ee8}.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #ee8}.CodeMirror-merge-r-connect{fill:#ffffe0;stroke:#ee8;stroke-width:1px}.CodeMirror-merge-l-chunk{background:#eef}.CodeMirror-merge-l-chunk-start{border-top:1px solid #88e}.CodeMirror-merge-l-chunk-end{border-bottom:1px solid #88e}.CodeMirror-merge-l-connect{fill:#eef;stroke:#88e;stroke-width:1px}.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk{background:#dfd}.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start{border-top:1px solid #4e4}.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #4e4}.CodeMirror-merge-collapsed-widget:before{content:"(...)"}.CodeMirror-merge-collapsed-widget{cursor:pointer;color:#88b;background:#eef;border:1px solid #ddf;font-size:90%;padding:0 3px;border-radius:4px}.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt{display:none} \ No newline at end of file diff --git a/media/editors/codemirror/addon/merge/merge.min.js b/media/editors/codemirror/addon/merge/merge.min.js index 0d1928618b587..471606b03f128 100644 --- a/media/editors/codemirror/addon/merge/merge.min.js +++ b/media/editors/codemirror/addon/merge/merge.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","diff_match_patch"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.mv=a,this.type=b,this.classes="left"==b?{chunk:"CodeMirror-merge-l-chunk",start:"CodeMirror-merge-l-chunk-start",end:"CodeMirror-merge-l-chunk-end",insert:"CodeMirror-merge-l-inserted",del:"CodeMirror-merge-l-deleted",connect:"CodeMirror-merge-l-connect"}:{chunk:"CodeMirror-merge-r-chunk",start:"CodeMirror-merge-r-chunk-start",end:"CodeMirror-merge-r-chunk-end",insert:"CodeMirror-merge-r-inserted",del:"CodeMirror-merge-r-deleted",connect:"CodeMirror-merge-r-connect"}}function c(b){b.diffOutOfDate&&(b.diff=z(b.orig.getValue(),b.edit.getValue(),b.mv.options.ignoreWhitespace),b.chunks=A(b.diff),b.diffOutOfDate=!1,a.signal(b.edit,"updateDiff",b.diff))}function d(b){function d(a){W=!0,p=!1,"full"==a&&(b.svg&&J(b.svg),b.copyButtons&&J(b.copyButtons),j(b.edit,m.marked,b.classes),j(b.orig,o.marked,b.classes),m.from=m.to=o.from=o.to=0),c(b),b.showDifferences&&(k(b.edit,b.diff,m,DIFF_INSERT,b.classes),k(b.orig,b.diff,o,DIFF_DELETE,b.classes)),"align"==b.mv.options.connect&&s(b),n(b),null!=b.needsScrollSync&&f(b,b.needsScrollSync),W=!1}function e(a){W||(b.dealigned=!0,g(a))}function g(a){W||p||(clearTimeout(l),a===!0&&(p=!0),l=setTimeout(d,a===!0?20:250))}function h(a,c){b.diffOutOfDate||(b.diffOutOfDate=!0,m.from=m.to=o.from=o.to=0),e(c.text.length-1!=c.to.line-c.from.line)}function i(){b.diffOutOfDate=!0,b.dealigned=!0,d("full")}var l,m={from:0,to:0,marked:[]},o={from:0,to:0,marked:[]},p=!1;return b.edit.on("change",h),b.orig.on("change",h),b.edit.on("swapDoc",i),b.orig.on("swapDoc",i),"align"==b.mv.options.connect&&(a.on(b.edit.state.trackAlignable,"realign",e),a.on(b.orig.state.trackAlignable,"realign",e)),b.edit.on("viewportChange",(function(){g(!1)})),b.orig.on("viewportChange",(function(){g(!1)})),d(),d}function e(a,b){a.edit.on("scroll",(function(){f(a,!0)&&n(a)})),a.orig.on("scroll",(function(){f(a,!1)&&n(a),b&&f(b,!0)&&n(b)}))}function f(a,b){if(a.diffOutOfDate)return a.lockScroll&&null==a.needsScrollSync&&(a.needsScrollSync=b),!1;if(a.needsScrollSync=null,!a.lockScroll)return!0;var c,d,e=+new Date;if(b?(c=a.edit,d=a.orig):(c=a.orig,d=a.edit),c.state.scrollSetBy==a&&(c.state.scrollSetAt||0)+250>e)return!1;var f=c.getScrollInfo();if("align"==a.mv.options.connect)q=f.top;else{var h,i,j=.5*f.clientHeight,k=f.top+j,l=c.lineAtHeight(k,"local"),m=D(a.chunks,l,b),n=g(c,b?m.edit:m.orig),o=g(d,b?m.orig:m.edit),p=(k-n.top)/(n.bot-n.top),q=o.top-j+p*(o.bot-o.top);if(q>f.top&&(i=f.top/j)<1)q=q*i+f.top*(1-i);else if((h=f.height-f.clientHeight-f.top)<j){var r=d.getScrollInfo(),s=r.height-r.clientHeight-q;s>h&&(i=h/j)<1&&(q=q*i+(r.height-r.clientHeight-h)*(1-i))}}return d.scrollTo(f.left,q),d.state.scrollSetAt=e,d.state.scrollSetBy=a,!0}function g(a,b){var c=b.after;return null==c&&(c=a.lastLine()+1),{top:a.heightAtLine(b.before||0,"local"),bot:a.heightAtLine(c,"local")}}function h(a,b,c){a.lockScroll=b,b&&0!=c&&f(a,DIFF_INSERT)&&n(a),a.lockButton.innerHTML=b?"⇛⇚":"⇛  ⇚"}function i(a,b,c){for(var d=c.classLocation,e=0;e<d.length;e++)a.removeLineClass(b,d[e],c.chunk),a.removeLineClass(b,d[e],c.start),a.removeLineClass(b,d[e],c.end)}function j(b,c,d){for(var e=0;e<c.length;++e){var f=c[e];f instanceof a.TextMarker?f.clear():f.parent&&i(b,f,d)}c.length=0}function k(a,b,c,d,e){var f=a.getViewport();a.operation((function(){c.from==c.to||f.from-c.to>20||c.from-f.to>20?(j(a,c.marked,e),m(a,b,d,c.marked,f.from,f.to,e),c.from=f.from,c.to=f.to):(f.from<c.from&&(m(a,b,d,c.marked,f.from,c.from,e),c.from=f.from),f.to>c.to&&(m(a,b,d,c.marked,c.to,f.to,e),c.to=f.to))}))}function l(a,b,c,d,e,f){for(var g=c.classLocation,h=a.getLineHandle(b),i=0;i<g.length;i++)d&&a.addLineClass(h,g[i],c.chunk),e&&a.addLineClass(h,g[i],c.start),f&&a.addLineClass(h,g[i],c.end);return h}function m(a,b,c,d,e,f,g){function h(b,c){for(var h=Math.max(e,b),i=Math.min(f,c),j=h;j<i;++j)d.push(l(a,j,g,!0,j==b,j==c-1));b==c&&h==c&&i==c&&(h?d.push(l(a,h-1,g,!1,!1,!0)):d.push(l(a,h,g,!1,!0,!1)))}for(var i=U(0,0),j=U(e,0),k=a.clipPos(U(f-1)),m=c==DIFF_DELETE?g.del:g.insert,n=0,o=!1,p=0;p<b.length;++p){var q=b[p],r=q[0],s=q[1];if(r==DIFF_EQUAL){var t=i.line+(C(b,p)?0:1);M(i,s);var u=i.line+(B(b,p)?1:0);u>t&&(o&&(h(n,t),o=!1),n=u)}else if(o=!0,r==c){var v=M(i,s,!0),w=P(j,i),x=O(k,v);Q(w,x)||d.push(a.markText(w,x,{className:m})),i=v}}o&&h(n,i.line+1)}function n(a){if(a.showDifferences){if(a.svg){J(a.svg);var b=a.gap.offsetWidth;K(a.svg,"width",b,"height",a.gap.offsetHeight)}a.copyButtons&&J(a.copyButtons);for(var c=a.edit.getViewport(),d=a.orig.getViewport(),e=a.mv.wrap.getBoundingClientRect().top,f=e-a.edit.getScrollerElement().getBoundingClientRect().top+a.edit.getScrollInfo().top,g=e-a.orig.getScrollerElement().getBoundingClientRect().top+a.orig.getScrollInfo().top,h=0;h<a.chunks.length;h++){var i=a.chunks[h];i.editFrom<=c.to&&i.editTo>=c.from&&i.origFrom<=d.to&&i.origTo>=d.from&&v(a,i,g,f,b)}}}function o(a,b){for(var c=0,d=0,e=0;e<b.length;e++){var f=b[e];if(f.editTo>a&&f.editFrom<=a)return null;if(f.editFrom>a)break;c=f.editTo,d=f.origTo}return d+(a-c)}function p(a,b,c){for(var d=a.state.trackAlignable,e=a.firstLine(),f=0,g=[],h=0;;h++){for(var i=b[h],j=i?c?i.origFrom:i.editFrom:1e9;f<d.alignable.length;f+=2){var k=d.alignable[f]+1;if(!(k<=e)){if(!(k<=j))break;g.push(k)}}if(!i)break;g.push(e=c?i.origTo:i.editTo)}return g}function q(a,b,c,d){var e=0,f=0,g=0,h=0;a:for(;;e++){var i=a[e],j=b[f];if(!i&&null==j)break;for(var k=i?i[0]:1e9,l=null==j?1e9:j;g<c.length;){var m=c[g];if(m.origFrom<=l&&m.origTo>l){f++,e--;continue a}if(m.editTo>k){if(m.editFrom<=k)continue a;break}h+=m.origTo-m.origFrom-(m.editTo-m.editFrom),g++}if(k==l-h)i[d]=l,f++;else if(k<l-h)i[d]=k+h;else{var n=[l-h,null,null];n[d]=l,a.splice(e,0,n),f++}}}function r(a,b){var c=p(a.edit,a.chunks,!1),d=[];if(b)for(var e=0,f=0;e<b.chunks.length;e++){for(var g=b.chunks[e].editTo;f<c.length&&c[f]<g;)f++;f!=c.length&&c[f]==g||c.splice(f++,0,g)}for(var e=0;e<c.length;e++)d.push([c[e],null,null]);return q(d,p(a.orig,a.chunks,!0),a.chunks,1),b&&q(d,p(b.orig,b.chunks,!0),b.chunks,2),d}function s(a,b){if(a.dealigned||b){if(!a.orig.curOp)return a.orig.operation((function(){s(a,b)}));a.dealigned=!1;var d=a.mv.left==a?a.mv.right:a.mv.left;d&&(c(d),d.dealigned=!1);for(var e=r(a,d),f=a.mv.aligners,g=0;g<f.length;g++)f[g].clear();f.length=0;var h=[a.edit,a.orig],i=[];d&&h.push(d.orig);for(var g=0;g<h.length;g++)i.push(h[g].getScrollInfo().top);for(var j=0;j<e.length;j++)t(h,e[j],f);for(var g=0;g<h.length;g++)h[g].scrollTo(null,i[g])}}function t(a,b,c){for(var d=0,e=[],f=0;f<a.length;f++)if(null!=b[f]){var g=a[f].heightAtLine(b[f],"local");e[f]=g,d=Math.max(d,g)}for(var f=0;f<a.length;f++)if(null!=b[f]){var h=d-e[f];h>1&&c.push(u(a[f],b[f],h))}}function u(a,b,c){var d=!0;b>a.lastLine()&&(b--,d=!1);var e=document.createElement("div");return e.className="CodeMirror-merge-spacer",e.style.height=c+"px",e.style.minWidth="1px",a.addLineWidget(b,e,{height:c,above:d,mergeSpacer:!0,handleMouseEvents:!0})}function v(a,b,c,d,e){var f="left"==a.type,g=a.orig.heightAtLine(b.origFrom,"local",!0)-c;if(a.svg){var h=g,i=a.edit.heightAtLine(b.editFrom,"local",!0)-d;if(f){var j=h;h=i,i=j}var k=a.orig.heightAtLine(b.origTo,"local",!0)-c,l=a.edit.heightAtLine(b.editTo,"local",!0)-d;if(f){var j=k;k=l,l=j}var m=" C "+e/2+" "+i+" "+e/2+" "+h+" "+(e+2)+" "+h,n=" C "+e/2+" "+k+" "+e/2+" "+l+" -1 "+l;K(a.svg.appendChild(document.createElementNS(V,"path")),"d","M -1 "+i+m+" L "+(e+2)+" "+k+n+" z","class",a.classes.connect)}if(a.copyButtons){var o=a.copyButtons.appendChild(I("div","left"==a.type?"⇝":"⇜","CodeMirror-merge-copy")),p=a.mv.options.allowEditingOriginals;if(o.title=p?"Push to left":"Revert chunk",o.chunk=b,o.style.top=(b.origTo>b.origFrom?g:a.edit.heightAtLine(b.editFrom,"local")-d)+"px",p){var q=a.edit.heightAtLine(b.editFrom,"local")-d,r=a.copyButtons.appendChild(I("div","right"==a.type?"⇝":"⇜","CodeMirror-merge-copy-reverse"));r.title="Push to right",r.chunk={editFrom:b.origFrom,editTo:b.origTo,origFrom:b.editFrom,origTo:b.editTo},r.style.top=q+"px","right"==a.type?r.style.left="2px":r.style.right="2px"}}}function w(a,b,c,d){if(!a.diffOutOfDate){var e=d.origTo>c.lastLine()?U(d.origFrom-1):U(d.origFrom,0),f=U(d.origTo,0),g=d.editTo>b.lastLine()?U(d.editFrom-1):U(d.editFrom,0),h=U(d.editTo,0),i=a.mv.options.revertChunk;i?i(a.mv,c,e,f,b,g,h):b.replaceRange(c.getRange(e,f),g,h)}}function x(b){var c=b.lockButton=I("div",null,"CodeMirror-merge-scrolllock");c.title="Toggle locked scrolling";var d=I("div",[c],"CodeMirror-merge-scrolllock-wrap");a.on(c,"click",(function(){h(b,!b.lockScroll)}));var e=[d];if(b.mv.options.revertButtons!==!1&&(b.copyButtons=I("div",null,"CodeMirror-merge-copybuttons-"+b.type),a.on(b.copyButtons,"click",(function(a){var c=a.target||a.srcElement;if(c.chunk)return"CodeMirror-merge-copy-reverse"==c.className?void w(b,b.orig,b.edit,c.chunk):void w(b,b.edit,b.orig,c.chunk)})),e.unshift(b.copyButtons)),"align"!=b.mv.options.connect){var f=document.createElementNS&&document.createElementNS(V,"svg");f&&!f.createSVGRect&&(f=null),b.svg=f,f&&e.push(f)}return b.gap=I("div",e,"CodeMirror-merge-gap")}function y(a){return"string"==typeof a?a:a.getValue()}function z(a,b,c){Y||(Y=new diff_match_patch);for(var d=Y.diff_main(a,b),e=0;e<d.length;++e){var f=d[e];(c?/[^ \t]/.test(f[1]):f[1])?e&&d[e-1][0]==f[0]&&(d.splice(e--,1),d[e][1]+=f[1]):d.splice(e--,1)}return d}function A(a){for(var b=[],c=0,d=0,e=U(0,0),f=U(0,0),g=0;g<a.length;++g){var h=a[g],i=h[0];if(i==DIFF_EQUAL){var j=!C(a,g)||e.line<c||f.line<d?1:0,k=e.line+j,l=f.line+j;M(e,h[1],null,f);var m=B(a,g)?1:0,n=e.line+m,o=f.line+m;n>k&&(g&&b.push({origFrom:d,origTo:l,editFrom:c,editTo:k}),c=n,d=o)}else M(i==DIFF_INSERT?e:f,h[1])}return(c<=e.line||d<=f.line)&&b.push({origFrom:d,origTo:f.line+1,editFrom:c,editTo:e.line+1}),b}function B(a,b){if(b==a.length-1)return!0;var c=a[b+1][1];return!(1==c.length&&b<a.length-2||10!=c.charCodeAt(0))&&(b==a.length-2||(c=a[b+2][1],(c.length>1||b==a.length-3)&&10==c.charCodeAt(0)))}function C(a,b){if(0==b)return!0;var c=a[b-1][1];return 10==c.charCodeAt(c.length-1)&&(1==b||(c=a[b-2][1],10==c.charCodeAt(c.length-1)))}function D(a,b,c){for(var d,e,f,g,h=0;h<a.length;h++){var i=a[h],j=c?i.editFrom:i.origFrom,k=c?i.editTo:i.origTo;null==e&&(j>b?(e=i.editFrom,g=i.origFrom):k>b&&(e=i.editTo,g=i.origTo)),k<=b?(d=i.editTo,f=i.origTo):j<=b&&(d=i.editFrom,f=i.origFrom)}return{edit:{before:d,after:e},orig:{before:f,after:g}}}function E(b,c,d){function e(){g.clear(),b.removeLineClass(c,"wrap","CodeMirror-merge-collapsed-line")}b.addLineClass(c,"wrap","CodeMirror-merge-collapsed-line");var f=document.createElement("span");f.className="CodeMirror-merge-collapsed-widget",f.title="Identical text collapsed. Click to expand.";var g=b.markText(U(c,0),U(d-1),{inclusiveLeft:!0,inclusiveRight:!0,replacedWith:f,clearOnEnter:!0});return g.explicitlyCleared&&e(),a.on(f,"click",e),g.on("clear",e),a.on(f,"click",e),{mark:g,clear:e}}function F(a,b){function c(){for(var a=0;a<d.length;a++)d[a].clear()}for(var d=[],e=0;e<b.length;e++){var f=b[e],g=E(f.cm,f.line,f.line+a);d.push(g),g.mark.on("clear",c)}return d[0].mark}function G(a,b,c,d){for(var e=0;e<a.chunks.length;e++)for(var f=a.chunks[e],g=f.editFrom-b;g<f.editTo+b;g++){var h=g+c;h>=0&&h<d.length&&(d[h]=!1)}}function H(a,b){"number"!=typeof b&&(b=2);for(var c=[],d=a.editor(),e=d.firstLine(),f=e,g=d.lastLine();f<=g;f++)c.push(!0);a.left&&G(a.left,b,e,c),a.right&&G(a.right,b,e,c);for(var h=0;h<c.length;h++)if(c[h]){for(var i=h+e,j=1;h<c.length-1&&c[h+1];h++,j++);if(j>b){var k=[{line:i,cm:d}];a.left&&k.push({line:o(i,a.left.chunks),cm:a.left.orig}),a.right&&k.push({line:o(i,a.right.chunks),cm:a.right.orig});var l=F(j,k);a.options.onCollapse&&a.options.onCollapse(a,i,j,l)}}}function I(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function J(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild)}function K(a){for(var b=1;b<arguments.length;b+=2)a.setAttribute(arguments[b],arguments[b+1])}function L(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function M(a,b,c,d){for(var e=c?U(a.line,a.ch):a,f=0;;){var g=b.indexOf("\n",f);if(g==-1)break;++e.line,d&&++d.line,f=g+1}return e.ch=(f?0:e.ch)+(b.length-f),d&&(d.ch=(f?0:d.ch)+(b.length-f)),e}function N(a){this.cm=a,this.alignable=[],this.height=a.doc.height;var b=this;a.on("markerAdded",(function(a,c){if(c.collapsed){var d=c.find(1);null!=d&&b.set(d.line,_)}})),a.on("markerCleared",(function(a,c,d,e){null!=e&&c.collapsed&&b.check(e,_,b.hasMarker)})),a.on("markerChanged",this.signal.bind(this)),a.on("lineWidgetAdded",(function(a,c,d){c.mergeSpacer||(c.above?b.set(d-1,$):b.set(d,Z))})),a.on("lineWidgetCleared",(function(a,c,d){c.mergeSpacer||(c.above?b.check(d-1,$,b.hasWidgetBelow):b.check(d,Z,b.hasWidget))})),a.on("lineWidgetChanged",this.signal.bind(this)),a.on("change",(function(a,c){var d=c.from.line,e=c.to.line-c.from.line,f=c.text.length-1,g=d+f;(e||f)&&b.map(d,e,f),b.check(g,_,b.hasMarker),(e||f)&&b.check(c.from.line,_,b.hasMarker)})),a.on("viewportChange",(function(){b.cm.doc.height!=b.height&&b.signal()}))}function O(a,b){return(a.line-b.line||a.ch-b.ch)<0?a:b}function P(a,b){return(a.line-b.line||a.ch-b.ch)>0?a:b}function Q(a,b){return a.line==b.line&&a.ch==b.ch}function R(a,b,c){for(var d=a.length-1;d>=0;d--){var e=a[d],f=(c?e.origTo:e.editTo)-1;if(f<b)return f}}function S(a,b,c){for(var d=0;d<a.length;d++){var e=a[d],f=c?e.origFrom:e.editFrom;if(f>b)return f}}function T(b,d){var e=null,f=b.state.diffViews,g=b.getCursor().line;if(f)for(var h=0;h<f.length;h++){var i=f[h],j=b==i.orig;c(i);var k=d<0?R(i.chunks,g,j):S(i.chunks,g,j);null==k||null!=e&&!(d<0?k>e:k<e)||(e=k)}return null==e?a.Pass:void b.setCursor(e,0)}var U=a.Pos,V="http://www.w3.org/2000/svg";b.prototype={constructor:b,init:function(b,c,d){this.edit=this.mv.edit,(this.edit.state.diffViews||(this.edit.state.diffViews=[])).push(this),this.orig=a(b,L({value:c,readOnly:!this.mv.options.allowEditingOriginals},L(d))),"align"==this.mv.options.connect&&(this.edit.state.trackAlignable||(this.edit.state.trackAlignable=new N(this.edit)),this.orig.state.trackAlignable=new N(this.orig)),this.orig.state.diffViews=[this];var e=d.chunkClassLocation||"background";"[object Array]"!=Object.prototype.toString.call(e)&&(e=[e]),this.classes.classLocation=e,this.diff=z(y(c),y(d.value),this.mv.options.ignoreWhitespace),this.chunks=A(this.diff),this.diffOutOfDate=this.dealigned=!1,this.needsScrollSync=null,this.showDifferences=d.showDifferences!==!1},registerEvents:function(a){this.forceUpdate=d(this),h(this,!0,!1),e(this,a)},setShowDifferences:function(a){a=a!==!1,a!=this.showDifferences&&(this.showDifferences=a,this.forceUpdate("full"))}};var W=!1,X=a.MergeView=function(c,d){if(!(this instanceof X))return new X(c,d);this.options=d;var e=d.origLeft,f=null==d.origRight?d.orig:d.origRight,g=null!=e,h=null!=f,i=1+(g?1:0)+(h?1:0),j=[],k=this.left=null,l=this.right=null,m=this;if(g){k=this.left=new b(this,"left");var o=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-left");j.push(o),j.push(x(k))}var p=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-editor");if(j.push(p),h){l=this.right=new b(this,"right"),j.push(x(l));var q=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-right");j.push(q)}(h?q:p).className+=" CodeMirror-merge-pane-rightmost",j.push(I("div",null,null,"height: 0; clear: both;"));var r=this.wrap=c.appendChild(I("div",j,"CodeMirror-merge CodeMirror-merge-"+i+"pane"));this.edit=a(p,L(d)),k&&k.init(o,e,d),l&&l.init(q,f,d),d.collapseIdentical&&this.editor().operation((function(){H(m,d.collapseIdentical)})),"align"==d.connect&&(this.aligners=[],s(this.left||this.right,!0)),k&&k.registerEvents(l),l&&l.registerEvents(k);var t=function(){k&&n(k),l&&n(l)};a.on(window,"resize",t);var u=setInterval((function(){for(var b=r.parentNode;b&&b!=document.body;b=b.parentNode);b||(clearInterval(u),a.off(window,"resize",t))}),5e3)};X.prototype={constructor:X,editor:function(){return this.edit},rightOriginal:function(){return this.right&&this.right.orig},leftOriginal:function(){return this.left&&this.left.orig},setShowDifferences:function(a){this.right&&this.right.setShowDifferences(a),this.left&&this.left.setShowDifferences(a)},rightChunks:function(){if(this.right)return c(this.right),this.right.chunks},leftChunks:function(){if(this.left)return c(this.left),this.left.chunks}};var Y,Z=1,$=2,_=4;N.prototype={signal:function(){a.signal(this,"realign"),this.height=this.cm.doc.height},set:function(a,b){for(var c=-1;c<this.alignable.length;c+=2){var d=this.alignable[c]-a;if(0==d){if((this.alignable[c+1]&b)==b)return;return this.alignable[c+1]|=b,void this.signal()}if(d>0)break}this.signal(),this.alignable.splice(c,0,a,b)},find:function(a){for(var b=0;b<this.alignable.length;b+=2)if(this.alignable[b]==a)return b;return-1},check:function(a,b,c){var d=this.find(a);if(d!=-1&&this.alignable[d+1]&b&&!c.call(this,a)){this.signal();var e=this.alignable[d+1]&~b;e?this.alignable[d+1]=e:this.alignable.splice(d,2)}},hasMarker:function(a){var b=this.cm.getLineHandle(a);if(b.markedSpans)for(var c=0;c<b.markedSpans.length;c++)if(b.markedSpans[c].mark.collapsed&&null!=b.markedSpans[c].to)return!0;return!1},hasWidget:function(a){var b=this.cm.getLineHandle(a);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(!b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},hasWidgetBelow:function(a){if(a==this.cm.lastLine())return!1;var b=this.cm.getLineHandle(a+1);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},map:function(a,b,c){for(var d=c-b,e=a+b,f=-1,g=-1,h=0;h<this.alignable.length;h+=2){var i=this.alignable[h];i==a&&this.alignable[h+1]&$&&(f=h),i==e&&this.alignable[h+1]&$&&(g=h),i<=a||(i<e?this.alignable.splice(h--,2):this.alignable[h]+=d)}if(f>-1){var j=this.alignable[f+1];j==$?this.alignable.splice(f,2):this.alignable[f+1]=j&~$}g>-1&&c&&this.set(a+c,$)}},a.commands.goNextDiff=function(a){return T(a,1)},a.commands.goPrevDiff=function(a){return T(a,-1)}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","diff_match_patch"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){this.mv=a,this.type=b,this.classes="left"==b?{chunk:"CodeMirror-merge-l-chunk",start:"CodeMirror-merge-l-chunk-start",end:"CodeMirror-merge-l-chunk-end",insert:"CodeMirror-merge-l-inserted",del:"CodeMirror-merge-l-deleted",connect:"CodeMirror-merge-l-connect"}:{chunk:"CodeMirror-merge-r-chunk",start:"CodeMirror-merge-r-chunk-start",end:"CodeMirror-merge-r-chunk-end",insert:"CodeMirror-merge-r-inserted",del:"CodeMirror-merge-r-deleted",connect:"CodeMirror-merge-r-connect"}}function c(b){b.diffOutOfDate&&(b.diff=z(b.orig.getValue(),b.edit.getValue(),b.mv.options.ignoreWhitespace),b.chunks=A(b.diff),b.diffOutOfDate=!1,a.signal(b.edit,"updateDiff",b.diff))}function d(b){function d(a){W=!0,p=!1,"full"==a&&(b.svg&&J(b.svg),b.copyButtons&&J(b.copyButtons),j(b.edit,m.marked,b.classes),j(b.orig,o.marked,b.classes),m.from=m.to=o.from=o.to=0),c(b),b.showDifferences&&(k(b.edit,b.diff,m,DIFF_INSERT,b.classes),k(b.orig,b.diff,o,DIFF_DELETE,b.classes)),"align"==b.mv.options.connect&&s(b),n(b),null!=b.needsScrollSync&&f(b,b.needsScrollSync),W=!1}function e(a){W||(b.dealigned=!0,g(a))}function g(a){W||p||(clearTimeout(l),a===!0&&(p=!0),l=setTimeout(d,a===!0?20:250))}function h(a,c){b.diffOutOfDate||(b.diffOutOfDate=!0,m.from=m.to=o.from=o.to=0),e(c.text.length-1!=c.to.line-c.from.line)}function i(){b.diffOutOfDate=!0,b.dealigned=!0,d("full")}var l,m={from:0,to:0,marked:[]},o={from:0,to:0,marked:[]},p=!1;return b.edit.on("change",h),b.orig.on("change",h),b.edit.on("swapDoc",i),b.orig.on("swapDoc",i),"align"==b.mv.options.connect&&(a.on(b.edit.state.trackAlignable,"realign",e),a.on(b.orig.state.trackAlignable,"realign",e)),b.edit.on("viewportChange",(function(){g(!1)})),b.orig.on("viewportChange",(function(){g(!1)})),d(),d}function e(a,b){a.edit.on("scroll",(function(){f(a,!0)&&n(a)})),a.orig.on("scroll",(function(){f(a,!1)&&n(a),b&&f(b,!0)&&n(b)}))}function f(a,b){if(a.diffOutOfDate)return a.lockScroll&&null==a.needsScrollSync&&(a.needsScrollSync=b),!1;if(a.needsScrollSync=null,!a.lockScroll)return!0;var c,d,e=+new Date;if(b?(c=a.edit,d=a.orig):(c=a.orig,d=a.edit),c.state.scrollSetBy==a&&(c.state.scrollSetAt||0)+250>e)return!1;var f=c.getScrollInfo();if("align"==a.mv.options.connect)q=f.top;else{var h,i,j=.5*f.clientHeight,k=f.top+j,l=c.lineAtHeight(k,"local"),m=D(a.chunks,l,b),n=g(c,b?m.edit:m.orig),o=g(d,b?m.orig:m.edit),p=(k-n.top)/(n.bot-n.top),q=o.top-j+p*(o.bot-o.top);if(q>f.top&&(i=f.top/j)<1)q=q*i+f.top*(1-i);else if((h=f.height-f.clientHeight-f.top)<j){var r=d.getScrollInfo(),s=r.height-r.clientHeight-q;s>h&&(i=h/j)<1&&(q=q*i+(r.height-r.clientHeight-h)*(1-i))}}return d.scrollTo(f.left,q),d.state.scrollSetAt=e,d.state.scrollSetBy=a,!0}function g(a,b){var c=b.after;return null==c&&(c=a.lastLine()+1),{top:a.heightAtLine(b.before||0,"local"),bot:a.heightAtLine(c,"local")}}function h(b,c,d){b.lockScroll=c,c&&0!=d&&f(b,DIFF_INSERT)&&n(b),(c?a.addClass:a.rmClass)(b.lockButton,"CodeMirror-merge-scrolllock-enabled")}function i(a,b,c){for(var d=c.classLocation,e=0;e<d.length;e++)a.removeLineClass(b,d[e],c.chunk),a.removeLineClass(b,d[e],c.start),a.removeLineClass(b,d[e],c.end)}function j(b,c,d){for(var e=0;e<c.length;++e){var f=c[e];f instanceof a.TextMarker?f.clear():f.parent&&i(b,f,d)}c.length=0}function k(a,b,c,d,e){var f=a.getViewport();a.operation((function(){c.from==c.to||f.from-c.to>20||c.from-f.to>20?(j(a,c.marked,e),m(a,b,d,c.marked,f.from,f.to,e),c.from=f.from,c.to=f.to):(f.from<c.from&&(m(a,b,d,c.marked,f.from,c.from,e),c.from=f.from),f.to>c.to&&(m(a,b,d,c.marked,c.to,f.to,e),c.to=f.to))}))}function l(a,b,c,d,e,f){for(var g=c.classLocation,h=a.getLineHandle(b),i=0;i<g.length;i++)d&&a.addLineClass(h,g[i],c.chunk),e&&a.addLineClass(h,g[i],c.start),f&&a.addLineClass(h,g[i],c.end);return h}function m(a,b,c,d,e,f,g){function h(b,c){for(var h=Math.max(e,b),i=Math.min(f,c),j=h;j<i;++j)d.push(l(a,j,g,!0,j==b,j==c-1));b==c&&h==c&&i==c&&(h?d.push(l(a,h-1,g,!1,!1,!0)):d.push(l(a,h,g,!1,!0,!1)))}for(var i=U(0,0),j=U(e,0),k=a.clipPos(U(f-1)),m=c==DIFF_DELETE?g.del:g.insert,n=0,o=!1,p=0;p<b.length;++p){var q=b[p],r=q[0],s=q[1];if(r==DIFF_EQUAL){var t=i.line+(C(b,p)?0:1);M(i,s);var u=i.line+(B(b,p)?1:0);u>t&&(o&&(h(n,t),o=!1),n=u)}else if(o=!0,r==c){var v=M(i,s,!0),w=P(j,i),x=O(k,v);Q(w,x)||d.push(a.markText(w,x,{className:m})),i=v}}o&&h(n,i.line+1)}function n(a){if(a.showDifferences){if(a.svg){J(a.svg);var b=a.gap.offsetWidth;K(a.svg,"width",b,"height",a.gap.offsetHeight)}a.copyButtons&&J(a.copyButtons);for(var c=a.edit.getViewport(),d=a.orig.getViewport(),e=a.mv.wrap.getBoundingClientRect().top,f=e-a.edit.getScrollerElement().getBoundingClientRect().top+a.edit.getScrollInfo().top,g=e-a.orig.getScrollerElement().getBoundingClientRect().top+a.orig.getScrollInfo().top,h=0;h<a.chunks.length;h++){var i=a.chunks[h];i.editFrom<=c.to&&i.editTo>=c.from&&i.origFrom<=d.to&&i.origTo>=d.from&&v(a,i,g,f,b)}}}function o(a,b){for(var c=0,d=0,e=0;e<b.length;e++){var f=b[e];if(f.editTo>a&&f.editFrom<=a)return null;if(f.editFrom>a)break;c=f.editTo,d=f.origTo}return d+(a-c)}function p(a,b,c){for(var d=a.state.trackAlignable,e=a.firstLine(),f=0,g=[],h=0;;h++){for(var i=b[h],j=i?c?i.origFrom:i.editFrom:1e9;f<d.alignable.length;f+=2){var k=d.alignable[f]+1;if(!(k<=e)){if(!(k<=j))break;g.push(k)}}if(!i)break;g.push(e=c?i.origTo:i.editTo)}return g}function q(a,b,c,d){var e=0,f=0,g=0,h=0;a:for(;;e++){var i=a[e],j=b[f];if(!i&&null==j)break;for(var k=i?i[0]:1e9,l=null==j?1e9:j;g<c.length;){var m=c[g];if(m.origFrom<=l&&m.origTo>l){f++,e--;continue a}if(m.editTo>k){if(m.editFrom<=k)continue a;break}h+=m.origTo-m.origFrom-(m.editTo-m.editFrom),g++}if(k==l-h)i[d]=l,f++;else if(k<l-h)i[d]=k+h;else{var n=[l-h,null,null];n[d]=l,a.splice(e,0,n),f++}}}function r(a,b){var c=p(a.edit,a.chunks,!1),d=[];if(b)for(var e=0,f=0;e<b.chunks.length;e++){for(var g=b.chunks[e].editTo;f<c.length&&c[f]<g;)f++;f!=c.length&&c[f]==g||c.splice(f++,0,g)}for(var e=0;e<c.length;e++)d.push([c[e],null,null]);return q(d,p(a.orig,a.chunks,!0),a.chunks,1),b&&q(d,p(b.orig,b.chunks,!0),b.chunks,2),d}function s(a,b){if(a.dealigned||b){if(!a.orig.curOp)return a.orig.operation((function(){s(a,b)}));a.dealigned=!1;var d=a.mv.left==a?a.mv.right:a.mv.left;d&&(c(d),d.dealigned=!1);for(var e=r(a,d),f=a.mv.aligners,g=0;g<f.length;g++)f[g].clear();f.length=0;var h=[a.edit,a.orig],i=[];d&&h.push(d.orig);for(var g=0;g<h.length;g++)i.push(h[g].getScrollInfo().top);for(var j=0;j<e.length;j++)t(h,e[j],f);for(var g=0;g<h.length;g++)h[g].scrollTo(null,i[g])}}function t(a,b,c){for(var d=0,e=[],f=0;f<a.length;f++)if(null!=b[f]){var g=a[f].heightAtLine(b[f],"local");e[f]=g,d=Math.max(d,g)}for(var f=0;f<a.length;f++)if(null!=b[f]){var h=d-e[f];h>1&&c.push(u(a[f],b[f],h))}}function u(a,b,c){var d=!0;b>a.lastLine()&&(b--,d=!1);var e=document.createElement("div");return e.className="CodeMirror-merge-spacer",e.style.height=c+"px",e.style.minWidth="1px",a.addLineWidget(b,e,{height:c,above:d,mergeSpacer:!0,handleMouseEvents:!0})}function v(a,b,c,d,e){var f="left"==a.type,g=a.orig.heightAtLine(b.origFrom,"local",!0)-c;if(a.svg){var h=g,i=a.edit.heightAtLine(b.editFrom,"local",!0)-d;if(f){var j=h;h=i,i=j}var k=a.orig.heightAtLine(b.origTo,"local",!0)-c,l=a.edit.heightAtLine(b.editTo,"local",!0)-d;if(f){var j=k;k=l,l=j}var m=" C "+e/2+" "+i+" "+e/2+" "+h+" "+(e+2)+" "+h,n=" C "+e/2+" "+k+" "+e/2+" "+l+" -1 "+l;K(a.svg.appendChild(document.createElementNS(V,"path")),"d","M -1 "+i+m+" L "+(e+2)+" "+k+n+" z","class",a.classes.connect)}if(a.copyButtons){var o=a.copyButtons.appendChild(I("div","left"==a.type?"⇝":"⇜","CodeMirror-merge-copy")),p=a.mv.options.allowEditingOriginals;if(o.title=p?"Push to left":"Revert chunk",o.chunk=b,o.style.top=(b.origTo>b.origFrom?g:a.edit.heightAtLine(b.editFrom,"local")-d)+"px",p){var q=a.edit.heightAtLine(b.editFrom,"local")-d,r=a.copyButtons.appendChild(I("div","right"==a.type?"⇝":"⇜","CodeMirror-merge-copy-reverse"));r.title="Push to right",r.chunk={editFrom:b.origFrom,editTo:b.origTo,origFrom:b.editFrom,origTo:b.editTo},r.style.top=q+"px","right"==a.type?r.style.left="2px":r.style.right="2px"}}}function w(a,b,c,d){if(!a.diffOutOfDate){var e=d.origTo>c.lastLine()?U(d.origFrom-1):U(d.origFrom,0),f=U(d.origTo,0),g=d.editTo>b.lastLine()?U(d.editFrom-1):U(d.editFrom,0),h=U(d.editTo,0),i=a.mv.options.revertChunk;i?i(a.mv,c,e,f,b,g,h):b.replaceRange(c.getRange(e,f),g,h)}}function x(b){var c=b.lockButton=I("div",null,"CodeMirror-merge-scrolllock");c.title="Toggle locked scrolling";var d=I("div",[c],"CodeMirror-merge-scrolllock-wrap");a.on(c,"click",(function(){h(b,!b.lockScroll)}));var e=[d];if(b.mv.options.revertButtons!==!1&&(b.copyButtons=I("div",null,"CodeMirror-merge-copybuttons-"+b.type),a.on(b.copyButtons,"click",(function(a){var c=a.target||a.srcElement;if(c.chunk)return"CodeMirror-merge-copy-reverse"==c.className?void w(b,b.orig,b.edit,c.chunk):void w(b,b.edit,b.orig,c.chunk)})),e.unshift(b.copyButtons)),"align"!=b.mv.options.connect){var f=document.createElementNS&&document.createElementNS(V,"svg");f&&!f.createSVGRect&&(f=null),b.svg=f,f&&e.push(f)}return b.gap=I("div",e,"CodeMirror-merge-gap")}function y(a){return"string"==typeof a?a:a.getValue()}function z(a,b,c){Y||(Y=new diff_match_patch);for(var d=Y.diff_main(a,b),e=0;e<d.length;++e){var f=d[e];(c?/[^ \t]/.test(f[1]):f[1])?e&&d[e-1][0]==f[0]&&(d.splice(e--,1),d[e][1]+=f[1]):d.splice(e--,1)}return d}function A(a){var b=[];if(!a.length)return b;for(var c=0,d=0,e=U(0,0),f=U(0,0),g=0;g<a.length;++g){var h=a[g],i=h[0];if(i==DIFF_EQUAL){var j=!C(a,g)||e.line<c||f.line<d?1:0,k=e.line+j,l=f.line+j;M(e,h[1],null,f);var m=B(a,g)?1:0,n=e.line+m,o=f.line+m;n>k&&(g&&b.push({origFrom:d,origTo:l,editFrom:c,editTo:k}),c=n,d=o)}else M(i==DIFF_INSERT?e:f,h[1])}return(c<=e.line||d<=f.line)&&b.push({origFrom:d,origTo:f.line+1,editFrom:c,editTo:e.line+1}),b}function B(a,b){if(b==a.length-1)return!0;var c=a[b+1][1];return!(1==c.length&&b<a.length-2||10!=c.charCodeAt(0))&&(b==a.length-2||(c=a[b+2][1],(c.length>1||b==a.length-3)&&10==c.charCodeAt(0)))}function C(a,b){if(0==b)return!0;var c=a[b-1][1];return 10==c.charCodeAt(c.length-1)&&(1==b||(c=a[b-2][1],10==c.charCodeAt(c.length-1)))}function D(a,b,c){for(var d,e,f,g,h=0;h<a.length;h++){var i=a[h],j=c?i.editFrom:i.origFrom,k=c?i.editTo:i.origTo;null==e&&(j>b?(e=i.editFrom,g=i.origFrom):k>b&&(e=i.editTo,g=i.origTo)),k<=b?(d=i.editTo,f=i.origTo):j<=b&&(d=i.editFrom,f=i.origFrom)}return{edit:{before:d,after:e},orig:{before:f,after:g}}}function E(b,c,d){function e(){g.clear(),b.removeLineClass(c,"wrap","CodeMirror-merge-collapsed-line")}b.addLineClass(c,"wrap","CodeMirror-merge-collapsed-line");var f=document.createElement("span");f.className="CodeMirror-merge-collapsed-widget",f.title="Identical text collapsed. Click to expand.";var g=b.markText(U(c,0),U(d-1),{inclusiveLeft:!0,inclusiveRight:!0,replacedWith:f,clearOnEnter:!0});return g.explicitlyCleared&&e(),a.on(f,"click",e),g.on("clear",e),a.on(f,"click",e),{mark:g,clear:e}}function F(a,b){function c(){for(var a=0;a<d.length;a++)d[a].clear()}for(var d=[],e=0;e<b.length;e++){var f=b[e],g=E(f.cm,f.line,f.line+a);d.push(g),g.mark.on("clear",c)}return d[0].mark}function G(a,b,c,d){for(var e=0;e<a.chunks.length;e++)for(var f=a.chunks[e],g=f.editFrom-b;g<f.editTo+b;g++){var h=g+c;h>=0&&h<d.length&&(d[h]=!1)}}function H(a,b){"number"!=typeof b&&(b=2);for(var c=[],d=a.editor(),e=d.firstLine(),f=e,g=d.lastLine();f<=g;f++)c.push(!0);a.left&&G(a.left,b,e,c),a.right&&G(a.right,b,e,c);for(var h=0;h<c.length;h++)if(c[h]){for(var i=h+e,j=1;h<c.length-1&&c[h+1];h++,j++);if(j>b){var k=[{line:i,cm:d}];a.left&&k.push({line:o(i,a.left.chunks),cm:a.left.orig}),a.right&&k.push({line:o(i,a.right.chunks),cm:a.right.orig});var l=F(j,k);a.options.onCollapse&&a.options.onCollapse(a,i,j,l)}}}function I(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function J(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild)}function K(a){for(var b=1;b<arguments.length;b+=2)a.setAttribute(arguments[b],arguments[b+1])}function L(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function M(a,b,c,d){for(var e=c?U(a.line,a.ch):a,f=0;;){var g=b.indexOf("\n",f);if(g==-1)break;++e.line,d&&++d.line,f=g+1}return e.ch=(f?0:e.ch)+(b.length-f),d&&(d.ch=(f?0:d.ch)+(b.length-f)),e}function N(a){this.cm=a,this.alignable=[],this.height=a.doc.height;var b=this;a.on("markerAdded",(function(a,c){if(c.collapsed){var d=c.find(1);null!=d&&b.set(d.line,_)}})),a.on("markerCleared",(function(a,c,d,e){null!=e&&c.collapsed&&b.check(e,_,b.hasMarker)})),a.on("markerChanged",this.signal.bind(this)),a.on("lineWidgetAdded",(function(a,c,d){c.mergeSpacer||(c.above?b.set(d-1,$):b.set(d,Z))})),a.on("lineWidgetCleared",(function(a,c,d){c.mergeSpacer||(c.above?b.check(d-1,$,b.hasWidgetBelow):b.check(d,Z,b.hasWidget))})),a.on("lineWidgetChanged",this.signal.bind(this)),a.on("change",(function(a,c){var d=c.from.line,e=c.to.line-c.from.line,f=c.text.length-1,g=d+f;(e||f)&&b.map(d,e,f),b.check(g,_,b.hasMarker),(e||f)&&b.check(c.from.line,_,b.hasMarker)})),a.on("viewportChange",(function(){b.cm.doc.height!=b.height&&b.signal()}))}function O(a,b){return(a.line-b.line||a.ch-b.ch)<0?a:b}function P(a,b){return(a.line-b.line||a.ch-b.ch)>0?a:b}function Q(a,b){return a.line==b.line&&a.ch==b.ch}function R(a,b,c){for(var d=a.length-1;d>=0;d--){var e=a[d],f=(c?e.origTo:e.editTo)-1;if(f<b)return f}}function S(a,b,c){for(var d=0;d<a.length;d++){var e=a[d],f=c?e.origFrom:e.editFrom;if(f>b)return f}}function T(b,d){var e=null,f=b.state.diffViews,g=b.getCursor().line;if(f)for(var h=0;h<f.length;h++){var i=f[h],j=b==i.orig;c(i);var k=d<0?R(i.chunks,g,j):S(i.chunks,g,j);null==k||null!=e&&!(d<0?k>e:k<e)||(e=k)}return null==e?a.Pass:void b.setCursor(e,0)}var U=a.Pos,V="http://www.w3.org/2000/svg";b.prototype={constructor:b,init:function(b,c,d){this.edit=this.mv.edit,(this.edit.state.diffViews||(this.edit.state.diffViews=[])).push(this),this.orig=a(b,L({value:c,readOnly:!this.mv.options.allowEditingOriginals},L(d))),"align"==this.mv.options.connect&&(this.edit.state.trackAlignable||(this.edit.state.trackAlignable=new N(this.edit)),this.orig.state.trackAlignable=new N(this.orig)),this.orig.state.diffViews=[this];var e=d.chunkClassLocation||"background";"[object Array]"!=Object.prototype.toString.call(e)&&(e=[e]),this.classes.classLocation=e,this.diff=z(y(c),y(d.value),this.mv.options.ignoreWhitespace),this.chunks=A(this.diff),this.diffOutOfDate=this.dealigned=!1,this.needsScrollSync=null,this.showDifferences=d.showDifferences!==!1},registerEvents:function(a){this.forceUpdate=d(this),h(this,!0,!1),e(this,a)},setShowDifferences:function(a){a=a!==!1,a!=this.showDifferences&&(this.showDifferences=a,this.forceUpdate("full"))}};var W=!1,X=a.MergeView=function(c,d){if(!(this instanceof X))return new X(c,d);this.options=d;var e=d.origLeft,f=null==d.origRight?d.orig:d.origRight,g=null!=e,h=null!=f,i=1+(g?1:0)+(h?1:0),j=[],k=this.left=null,l=this.right=null,m=this;if(g){k=this.left=new b(this,"left");var o=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-left");j.push(o),j.push(x(k))}var p=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-editor");if(j.push(p),h){l=this.right=new b(this,"right"),j.push(x(l));var q=I("div",null,"CodeMirror-merge-pane CodeMirror-merge-right");j.push(q)}(h?q:p).className+=" CodeMirror-merge-pane-rightmost",j.push(I("div",null,null,"height: 0; clear: both;"));var r=this.wrap=c.appendChild(I("div",j,"CodeMirror-merge CodeMirror-merge-"+i+"pane"));this.edit=a(p,L(d)),k&&k.init(o,e,d),l&&l.init(q,f,d),d.collapseIdentical&&this.editor().operation((function(){H(m,d.collapseIdentical)})),"align"==d.connect&&(this.aligners=[],s(this.left||this.right,!0)),k&&k.registerEvents(l),l&&l.registerEvents(k);var t=function(){k&&n(k),l&&n(l)};a.on(window,"resize",t);var u=setInterval((function(){for(var b=r.parentNode;b&&b!=document.body;b=b.parentNode);b||(clearInterval(u),a.off(window,"resize",t))}),5e3)};X.prototype={constructor:X,editor:function(){return this.edit},rightOriginal:function(){return this.right&&this.right.orig},leftOriginal:function(){return this.left&&this.left.orig},setShowDifferences:function(a){this.right&&this.right.setShowDifferences(a),this.left&&this.left.setShowDifferences(a)},rightChunks:function(){if(this.right)return c(this.right),this.right.chunks},leftChunks:function(){if(this.left)return c(this.left),this.left.chunks}};var Y,Z=1,$=2,_=4;N.prototype={signal:function(){a.signal(this,"realign"),this.height=this.cm.doc.height},set:function(a,b){for(var c=-1;c<this.alignable.length;c+=2){var d=this.alignable[c]-a;if(0==d){if((this.alignable[c+1]&b)==b)return;return this.alignable[c+1]|=b,void this.signal()}if(d>0)break}this.signal(),this.alignable.splice(c,0,a,b)},find:function(a){for(var b=0;b<this.alignable.length;b+=2)if(this.alignable[b]==a)return b;return-1},check:function(a,b,c){var d=this.find(a);if(d!=-1&&this.alignable[d+1]&b&&!c.call(this,a)){this.signal();var e=this.alignable[d+1]&~b;e?this.alignable[d+1]=e:this.alignable.splice(d,2)}},hasMarker:function(a){var b=this.cm.getLineHandle(a);if(b.markedSpans)for(var c=0;c<b.markedSpans.length;c++)if(b.markedSpans[c].mark.collapsed&&null!=b.markedSpans[c].to)return!0;return!1},hasWidget:function(a){var b=this.cm.getLineHandle(a);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(!b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},hasWidgetBelow:function(a){if(a==this.cm.lastLine())return!1;var b=this.cm.getLineHandle(a+1);if(b.widgets)for(var c=0;c<b.widgets.length;c++)if(b.widgets[c].above&&!b.widgets[c].mergeSpacer)return!0;return!1},map:function(a,b,c){for(var d=c-b,e=a+b,f=-1,g=-1,h=0;h<this.alignable.length;h+=2){var i=this.alignable[h];i==a&&this.alignable[h+1]&$&&(f=h),i==e&&this.alignable[h+1]&$&&(g=h),i<=a||(i<e?this.alignable.splice(h--,2):this.alignable[h]+=d)}if(f>-1){var j=this.alignable[f+1];j==$?this.alignable.splice(f,2):this.alignable[f+1]=j&~$}g>-1&&c&&this.set(a+c,$)}},a.commands.goNextDiff=function(a){return T(a,1)},a.commands.goPrevDiff=function(a){return T(a,-1)}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/mode/multiplex.js b/media/editors/codemirror/addon/mode/multiplex.js index 3d8b34c452013..a084f7025a682 100644 --- a/media/editors/codemirror/addon/mode/multiplex.js +++ b/media/editors/codemirror/addon/mode/multiplex.js @@ -50,7 +50,15 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { if (found == stream.pos) { if (!other.parseDelimiters) stream.match(other.open); state.innerActive = other; - state.inner = CodeMirror.startState(other.mode, outer.indent ? outer.indent(state.outer, "") : 0); + + // Get the outer indent, making sure to handle CodeMirror.Pass + var outerIndent = 0; + if (outer.indent) { + var possibleOuterIndent = outer.indent(state.outer, ""); + if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent; + } + + state.inner = CodeMirror.startState(other.mode, outerIndent); return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open"); } else if (found != -1 && found < cutOff) { cutOff = found; diff --git a/media/editors/codemirror/addon/mode/multiplex.min.js b/media/editors/codemirror/addon/mode/multiplex.min.js index bb9e6d551cec0..8dd1c9a885a69 100644 --- a/media/editors/codemirror/addon/mode/multiplex.min.js +++ b/media/editors/codemirror/addon/mode/multiplex.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos){m.parseDelimiters||e.match(m.open),f.innerActive=m;var n=0;if(b.indent){var o=b.indent(f.outer,"");o!==a.Pass&&(n=o)}return f.inner=a.startState(m.mode,n),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open"}i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var p=b.token(e,f.outer);return k!=1/0&&(e.string=h),p},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})); \ No newline at end of file diff --git a/media/editors/codemirror/addon/search/match-highlighter.js b/media/editors/codemirror/addon/search/match-highlighter.js index 35221711790ee..260cdeb2aa666 100644 --- a/media/editors/codemirror/addon/search/match-highlighter.js +++ b/media/editors/codemirror/addon/search/match-highlighter.js @@ -90,7 +90,7 @@ var state = cm.state.matchHighlighter; cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style)); if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) { - var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[+*?(){|^$]/g, "\\$&") + "\\b") : query; + var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[.+*?(){|^$]/g, "\\$&") + "\\b") : query; state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false, {className: "CodeMirror-selection-highlight-scrollbar"}); } diff --git a/media/editors/codemirror/addon/search/match-highlighter.min.js b/media/editors/codemirror/addon/search/match-highlighter.min.js index 360a309911c16..9bbf981449cf1 100644 --- a/media/editors/codemirror/addon/search/match-highlighter.min.js +++ b/media/editors/codemirror/addon/search/match-highlighter.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/emacs.js b/media/editors/codemirror/keymap/emacs.js index 3160453283293..f7c51b8131fe4 100644 --- a/media/editors/codemirror/keymap/emacs.js +++ b/media/editors/codemirror/keymap/emacs.js @@ -307,6 +307,7 @@ "Backspace": function(cm) { killRegion(cm, false) || killTo(cm, byChar, -1, false); }, "Alt-F": move(byWord, 1), "Alt-B": move(byWord, -1), + "Alt-Right": move(byWord, 1), "Alt-Left": move(byWord, -1), "Alt-D": function(cm) { killTo(cm, byWord, 1, "grow"); }, "Alt-Backspace": function(cm) { killTo(cm, byWord, -1, "grow"); }, diff --git a/media/editors/codemirror/keymap/emacs.min.js b/media/editors/codemirror/keymap/emacs.min.js index b430f9a1b46d2..9fb411f366b8e 100644 --- a/media/editors/codemirror/keymap/emacs.min.js +++ b/media/editors/codemirror/keymap/emacs.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line==b.line&&a.ch==b.ch}function c(a){I.push(a),I.length>50&&I.shift()}function d(a){return I.length?void(I[I.length-1]+=a):c(a)}function e(a){return I[I.length-(a?Math.min(a,1):1)]||""}function f(){return I.length>1&&I.pop(),e()}function g(a,e,f,g,h){null==h&&(h=a.getRange(e,f)),"grow"==g&&J&&J.cm==a&&b(e,J.pos)&&a.isClean(J.gen)?d(h):g!==!1&&c(h),a.replaceRange("",e,f,"+delete"),J="grow"==g?{cm:a,pos:e,gen:a.changeGeneration()}:null}function h(a,b,c){return a.findPosH(b,c,"char",!0)}function i(a,b,c){return a.findPosH(b,c,"word",!0)}function j(a,b,c){return a.findPosV(b,c,"line",a.doc.sel.goalColumn)}function k(a,b,c){return a.findPosV(b,c,"page",a.doc.sel.goalColumn)}function l(a,b,c){for(var d=b.line,e=a.getLine(d),f=/\S/.test(c<0?e.slice(0,b.ch):e.slice(b.ch)),g=a.firstLine(),h=a.lastLine();;){if(d+=c,d<g||d>h)return a.clipPos(H(d-c,c<0?0:null));e=a.getLine(d);var i=/\S/.test(e);if(i)f=!0;else if(f)return H(d,0)}}function m(a,b,c){for(var d=b.line,e=b.ch,f=a.getLine(b.line),g=!1;;){var h=f.charAt(e+(c<0?-1:0));if(h){if(g&&/[!?.]/.test(h))return H(d,e+(c>0?1:0));g||(g=/\w/.test(h)),e+=c}else{if(d==(c<0?a.firstLine():a.lastLine()))return H(d,e);if(f=a.getLine(d+c),!/\S/.test(f))return H(d,e);d+=c,e=c<0?f.length:0}}}function n(a,c,d){var e;if(a.findMatchingBracket&&(e=a.findMatchingBracket(c,{strict:!0}))&&e.match&&(e.forward?1:-1)==d)return d>0?H(e.to.line,e.to.ch+1):e.to;for(var f=!0;;f=!1){var g=a.getTokenAt(c),h=H(c.line,d<0?g.start:g.end);if(!(f&&d>0&&g.end==c.ch)&&/\w/.test(g.string))return h;var i=a.findPosH(h,d,"char");if(b(h,i))return c;c=i}}function o(a,b){var c=a.state.emacsPrefix;return c?(w(a),"-"==c?-1:Number(c)):b?null:1}function p(a){var b="string"==typeof a?function(b){b.execCommand(a)}:a;return function(a){var c=o(a);b(a);for(var d=1;d<c;++d)b(a)}}function q(a,c,d,e){var f=o(a);f<0&&(e=-e,f=-f);for(var g=0;g<f;++g){var h=d(a,c,e);if(b(h,c))break;c=h}return c}function r(a,b){var c=function(c){c.extendSelection(q(c,c.getCursor(),a,b))};return c.motion=!0,c}function s(a,b,c,d){for(var e,f=a.listSelections(),h=f.length;h--;)e=f[h].head,g(a,e,q(a,e,b,c),d)}function t(a,b){if(a.somethingSelected()){for(var c,d=a.listSelections(),e=d.length;e--;)c=d[e],g(a,c.anchor,c.head,b);return!0}}function u(a,b){return a.state.emacsPrefix?void("-"!=b&&(a.state.emacsPrefix+=b)):(a.state.emacsPrefix=b,a.on("keyHandled",v),void a.on("inputRead",x))}function v(a,b){a.state.emacsPrefixMap||K.hasOwnProperty(b)||w(a)}function w(a){a.state.emacsPrefix=null,a.off("keyHandled",v),a.off("inputRead",x)}function x(a,b){var c=o(a);if(c>1&&"+input"==b.origin){for(var d=b.text.join("\n"),e="",f=1;f<c;++f)e+=d;a.replaceSelection(e)}}function y(a){a.state.emacsPrefixMap=!0,a.addKeyMap(M),a.on("keyHandled",z),a.on("inputRead",z)}function z(a,b){("string"!=typeof b||!/^\d$/.test(b)&&"Ctrl-U"!=b)&&(a.removeKeyMap(M),a.state.emacsPrefixMap=!1,a.off("keyHandled",z),a.off("inputRead",z))}function A(a){a.setCursor(a.getCursor()),a.setExtending(!a.getExtending()),a.on("change",(function(){a.setExtending(!1)}))}function B(a){a.setExtending(!1),a.setCursor(a.getCursor())}function C(a,b,c){a.openDialog?a.openDialog(b+': <input type="text" style="width: 10em"/>',c,{bottom:!0}):c(prompt(b,""))}function D(a,b){var c=a.getCursor(),d=a.findPosH(c,1,"word");a.replaceRange(b(a.getRange(c,d)),c,d),a.setCursor(d)}function E(a){for(var b=a.getCursor(),c=b.line,d=b.ch,e=[];c>=a.firstLine();){for(var f=a.getLine(c),g=null==d?f.length:d;g>0;){var d=f.charAt(--g);if(")"==d)e.push("(");else if("]"==d)e.push("[");else if("}"==d)e.push("{");else if(/[\(\{\[]/.test(d)&&(!e.length||e.pop()!=d))return a.extendSelection(H(c,g))}--c,d=null}}function F(a){a.execCommand("clearSearch"),B(a)}function G(a){M[a]=function(b){u(b,a)},L["Ctrl-"+a]=function(b){u(b,a)},K["Ctrl-"+a]=!0}var H=a.Pos,I=[],J=null,K={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};a.emacs={kill:g,killRegion:t,repeated:p};for(var L=a.keyMap.emacs=a.normalizeKeyMap({"Ctrl-W":function(a){g(a,a.getCursor("start"),a.getCursor("end"),!0)},"Ctrl-K":p((function(a){var b=a.getCursor(),c=a.clipPos(H(b.line)),d=a.getRange(b,c);/\S/.test(d)||(d+="\n",c=H(b.line+1,0)),g(a,b,c,"grow",d)})),"Alt-W":function(a){c(a.getSelection()),B(a)},"Ctrl-Y":function(a){var b=a.getCursor();a.replaceRange(e(o(a)),b,b,"paste"),a.setSelection(b,a.getCursor())},"Alt-Y":function(a){a.replaceSelection(f(),"around","paste")},"Ctrl-Space":A,"Ctrl-Shift-2":A,"Ctrl-F":r(h,1),"Ctrl-B":r(h,-1),Right:r(h,1),Left:r(h,-1),"Ctrl-D":function(a){s(a,h,1,!1)},Delete:function(a){t(a,!1)||s(a,h,1,!1)},"Ctrl-H":function(a){s(a,h,-1,!1)},Backspace:function(a){t(a,!1)||s(a,h,-1,!1)},"Alt-F":r(i,1),"Alt-B":r(i,-1),"Alt-D":function(a){s(a,i,1,"grow")},"Alt-Backspace":function(a){s(a,i,-1,"grow")},"Ctrl-N":r(j,1),"Ctrl-P":r(j,-1),Down:r(j,1),Up:r(j,-1),"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":r(k,-1),"Ctrl-V":r(k,1),PageUp:r(k,-1),PageDown:r(k,1),"Ctrl-Up":r(l,-1),"Ctrl-Down":r(l,1),"Alt-A":r(m,-1),"Alt-E":r(m,1),"Alt-K":function(a){s(a,m,1,"grow")},"Ctrl-Alt-K":function(a){s(a,n,1,"grow")},"Ctrl-Alt-Backspace":function(a){s(a,n,-1,"grow")},"Ctrl-Alt-F":r(n,1),"Ctrl-Alt-B":r(n,-1,"grow"),"Shift-Ctrl-Alt-2":function(a){var b=a.getCursor();a.setSelection(q(a,b,n,1),b)},"Ctrl-Alt-T":function(a){var b=n(a,a.getCursor(),-1),c=n(a,b,1),d=n(a,c,1),e=n(a,d,-1);a.replaceRange(a.getRange(e,d)+a.getRange(c,e)+a.getRange(b,c),b,d)},"Ctrl-Alt-U":p(E),"Alt-Space":function(a){for(var b=a.getCursor(),c=b.ch,d=b.ch,e=a.getLine(b.line);c&&/\s/.test(e.charAt(c-1));)--c;for(;d<e.length&&/\s/.test(e.charAt(d));)++d;a.replaceRange(" ",H(b.line,c),H(b.line,d))},"Ctrl-O":p((function(a){a.replaceSelection("\n","start")})),"Ctrl-T":p((function(a){a.execCommand("transposeChars")})),"Alt-C":p((function(a){D(a,(function(a){var b=a.search(/\w/);return b==-1?a:a.slice(0,b)+a.charAt(b).toUpperCase()+a.slice(b+1).toLowerCase()}))})),"Alt-U":p((function(a){D(a,(function(a){return a.toUpperCase()}))})),"Alt-L":p((function(a){D(a,(function(a){return a.toLowerCase()}))})),"Alt-;":"toggleComment","Ctrl-/":p("undo"),"Shift-Ctrl--":p("undo"),"Ctrl-Z":p("undo"),"Cmd-Z":p("undo"),"Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":F,"Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":p((function(a){a.replaceSelection("\n","end")})),Tab:"indentAuto","Alt-G G":function(a){var b=o(a,!0);return null!=b&&b>0?a.setCursor(b-1):void C(a,"Goto line",(function(b){var c;b&&!isNaN(c=Number(b))&&c==(0|c)&&c>0&&a.setCursor(c-1)}))},"Ctrl-X Tab":function(a){a.indentSelection(o(a,!0)||a.getOption("indentUnit"))},"Ctrl-X Ctrl-X":function(a){a.setSelection(a.getCursor("head"),a.getCursor("anchor"))},"Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X U":p("undo"),"Ctrl-X K":"close","Ctrl-X Delete":function(a){g(a,a.getCursor(),m(a,a.getCursor(),1),"grow")},"Ctrl-X H":"selectAll","Ctrl-Q Tab":p("insertTab"),"Ctrl-U":y}),M={"Ctrl-G":w},N=0;N<10;++N)G(String(N));G("-")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line==b.line&&a.ch==b.ch}function c(a){I.push(a),I.length>50&&I.shift()}function d(a){return I.length?void(I[I.length-1]+=a):c(a)}function e(a){return I[I.length-(a?Math.min(a,1):1)]||""}function f(){return I.length>1&&I.pop(),e()}function g(a,e,f,g,h){null==h&&(h=a.getRange(e,f)),"grow"==g&&J&&J.cm==a&&b(e,J.pos)&&a.isClean(J.gen)?d(h):g!==!1&&c(h),a.replaceRange("",e,f,"+delete"),J="grow"==g?{cm:a,pos:e,gen:a.changeGeneration()}:null}function h(a,b,c){return a.findPosH(b,c,"char",!0)}function i(a,b,c){return a.findPosH(b,c,"word",!0)}function j(a,b,c){return a.findPosV(b,c,"line",a.doc.sel.goalColumn)}function k(a,b,c){return a.findPosV(b,c,"page",a.doc.sel.goalColumn)}function l(a,b,c){for(var d=b.line,e=a.getLine(d),f=/\S/.test(c<0?e.slice(0,b.ch):e.slice(b.ch)),g=a.firstLine(),h=a.lastLine();;){if(d+=c,d<g||d>h)return a.clipPos(H(d-c,c<0?0:null));e=a.getLine(d);var i=/\S/.test(e);if(i)f=!0;else if(f)return H(d,0)}}function m(a,b,c){for(var d=b.line,e=b.ch,f=a.getLine(b.line),g=!1;;){var h=f.charAt(e+(c<0?-1:0));if(h){if(g&&/[!?.]/.test(h))return H(d,e+(c>0?1:0));g||(g=/\w/.test(h)),e+=c}else{if(d==(c<0?a.firstLine():a.lastLine()))return H(d,e);if(f=a.getLine(d+c),!/\S/.test(f))return H(d,e);d+=c,e=c<0?f.length:0}}}function n(a,c,d){var e;if(a.findMatchingBracket&&(e=a.findMatchingBracket(c,{strict:!0}))&&e.match&&(e.forward?1:-1)==d)return d>0?H(e.to.line,e.to.ch+1):e.to;for(var f=!0;;f=!1){var g=a.getTokenAt(c),h=H(c.line,d<0?g.start:g.end);if(!(f&&d>0&&g.end==c.ch)&&/\w/.test(g.string))return h;var i=a.findPosH(h,d,"char");if(b(h,i))return c;c=i}}function o(a,b){var c=a.state.emacsPrefix;return c?(w(a),"-"==c?-1:Number(c)):b?null:1}function p(a){var b="string"==typeof a?function(b){b.execCommand(a)}:a;return function(a){var c=o(a);b(a);for(var d=1;d<c;++d)b(a)}}function q(a,c,d,e){var f=o(a);f<0&&(e=-e,f=-f);for(var g=0;g<f;++g){var h=d(a,c,e);if(b(h,c))break;c=h}return c}function r(a,b){var c=function(c){c.extendSelection(q(c,c.getCursor(),a,b))};return c.motion=!0,c}function s(a,b,c,d){for(var e,f=a.listSelections(),h=f.length;h--;)e=f[h].head,g(a,e,q(a,e,b,c),d)}function t(a,b){if(a.somethingSelected()){for(var c,d=a.listSelections(),e=d.length;e--;)c=d[e],g(a,c.anchor,c.head,b);return!0}}function u(a,b){return a.state.emacsPrefix?void("-"!=b&&(a.state.emacsPrefix+=b)):(a.state.emacsPrefix=b,a.on("keyHandled",v),void a.on("inputRead",x))}function v(a,b){a.state.emacsPrefixMap||K.hasOwnProperty(b)||w(a)}function w(a){a.state.emacsPrefix=null,a.off("keyHandled",v),a.off("inputRead",x)}function x(a,b){var c=o(a);if(c>1&&"+input"==b.origin){for(var d=b.text.join("\n"),e="",f=1;f<c;++f)e+=d;a.replaceSelection(e)}}function y(a){a.state.emacsPrefixMap=!0,a.addKeyMap(M),a.on("keyHandled",z),a.on("inputRead",z)}function z(a,b){("string"!=typeof b||!/^\d$/.test(b)&&"Ctrl-U"!=b)&&(a.removeKeyMap(M),a.state.emacsPrefixMap=!1,a.off("keyHandled",z),a.off("inputRead",z))}function A(a){a.setCursor(a.getCursor()),a.setExtending(!a.getExtending()),a.on("change",(function(){a.setExtending(!1)}))}function B(a){a.setExtending(!1),a.setCursor(a.getCursor())}function C(a,b,c){a.openDialog?a.openDialog(b+': <input type="text" style="width: 10em"/>',c,{bottom:!0}):c(prompt(b,""))}function D(a,b){var c=a.getCursor(),d=a.findPosH(c,1,"word");a.replaceRange(b(a.getRange(c,d)),c,d),a.setCursor(d)}function E(a){for(var b=a.getCursor(),c=b.line,d=b.ch,e=[];c>=a.firstLine();){for(var f=a.getLine(c),g=null==d?f.length:d;g>0;){var d=f.charAt(--g);if(")"==d)e.push("(");else if("]"==d)e.push("[");else if("}"==d)e.push("{");else if(/[\(\{\[]/.test(d)&&(!e.length||e.pop()!=d))return a.extendSelection(H(c,g))}--c,d=null}}function F(a){a.execCommand("clearSearch"),B(a)}function G(a){M[a]=function(b){u(b,a)},L["Ctrl-"+a]=function(b){u(b,a)},K["Ctrl-"+a]=!0}var H=a.Pos,I=[],J=null,K={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};a.emacs={kill:g,killRegion:t,repeated:p};for(var L=a.keyMap.emacs=a.normalizeKeyMap({"Ctrl-W":function(a){g(a,a.getCursor("start"),a.getCursor("end"),!0)},"Ctrl-K":p((function(a){var b=a.getCursor(),c=a.clipPos(H(b.line)),d=a.getRange(b,c);/\S/.test(d)||(d+="\n",c=H(b.line+1,0)),g(a,b,c,"grow",d)})),"Alt-W":function(a){c(a.getSelection()),B(a)},"Ctrl-Y":function(a){var b=a.getCursor();a.replaceRange(e(o(a)),b,b,"paste"),a.setSelection(b,a.getCursor())},"Alt-Y":function(a){a.replaceSelection(f(),"around","paste")},"Ctrl-Space":A,"Ctrl-Shift-2":A,"Ctrl-F":r(h,1),"Ctrl-B":r(h,-1),Right:r(h,1),Left:r(h,-1),"Ctrl-D":function(a){s(a,h,1,!1)},Delete:function(a){t(a,!1)||s(a,h,1,!1)},"Ctrl-H":function(a){s(a,h,-1,!1)},Backspace:function(a){t(a,!1)||s(a,h,-1,!1)},"Alt-F":r(i,1),"Alt-B":r(i,-1),"Alt-Right":r(i,1),"Alt-Left":r(i,-1),"Alt-D":function(a){s(a,i,1,"grow")},"Alt-Backspace":function(a){s(a,i,-1,"grow")},"Ctrl-N":r(j,1),"Ctrl-P":r(j,-1),Down:r(j,1),Up:r(j,-1),"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":r(k,-1),"Ctrl-V":r(k,1),PageUp:r(k,-1),PageDown:r(k,1),"Ctrl-Up":r(l,-1),"Ctrl-Down":r(l,1),"Alt-A":r(m,-1),"Alt-E":r(m,1),"Alt-K":function(a){s(a,m,1,"grow")},"Ctrl-Alt-K":function(a){s(a,n,1,"grow")},"Ctrl-Alt-Backspace":function(a){s(a,n,-1,"grow")},"Ctrl-Alt-F":r(n,1),"Ctrl-Alt-B":r(n,-1,"grow"),"Shift-Ctrl-Alt-2":function(a){var b=a.getCursor();a.setSelection(q(a,b,n,1),b)},"Ctrl-Alt-T":function(a){var b=n(a,a.getCursor(),-1),c=n(a,b,1),d=n(a,c,1),e=n(a,d,-1);a.replaceRange(a.getRange(e,d)+a.getRange(c,e)+a.getRange(b,c),b,d)},"Ctrl-Alt-U":p(E),"Alt-Space":function(a){for(var b=a.getCursor(),c=b.ch,d=b.ch,e=a.getLine(b.line);c&&/\s/.test(e.charAt(c-1));)--c;for(;d<e.length&&/\s/.test(e.charAt(d));)++d;a.replaceRange(" ",H(b.line,c),H(b.line,d))},"Ctrl-O":p((function(a){a.replaceSelection("\n","start")})),"Ctrl-T":p((function(a){a.execCommand("transposeChars")})),"Alt-C":p((function(a){D(a,(function(a){var b=a.search(/\w/);return b==-1?a:a.slice(0,b)+a.charAt(b).toUpperCase()+a.slice(b+1).toLowerCase()}))})),"Alt-U":p((function(a){D(a,(function(a){return a.toUpperCase()}))})),"Alt-L":p((function(a){D(a,(function(a){return a.toLowerCase()}))})),"Alt-;":"toggleComment","Ctrl-/":p("undo"),"Shift-Ctrl--":p("undo"),"Ctrl-Z":p("undo"),"Cmd-Z":p("undo"),"Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":F,"Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":p((function(a){a.replaceSelection("\n","end")})),Tab:"indentAuto","Alt-G G":function(a){var b=o(a,!0);return null!=b&&b>0?a.setCursor(b-1):void C(a,"Goto line",(function(b){var c;b&&!isNaN(c=Number(b))&&c==(0|c)&&c>0&&a.setCursor(c-1)}))},"Ctrl-X Tab":function(a){a.indentSelection(o(a,!0)||a.getOption("indentUnit"))},"Ctrl-X Ctrl-X":function(a){a.setSelection(a.getCursor("head"),a.getCursor("anchor"))},"Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X U":p("undo"),"Ctrl-X K":"close","Ctrl-X Delete":function(a){g(a,a.getCursor(),m(a,a.getCursor(),1),"grow")},"Ctrl-X H":"selectAll","Ctrl-Q Tab":p("insertTab"),"Ctrl-U":y}),M={"Ctrl-G":w},N=0;N<10;++N)G(String(N));G("-")})); \ No newline at end of file diff --git a/media/editors/codemirror/keymap/vim.js b/media/editors/codemirror/keymap/vim.js index 529654a3b5387..ef79585f7dbc1 100644 --- a/media/editors/codemirror/keymap/vim.js +++ b/media/editors/codemirror/keymap/vim.js @@ -93,6 +93,8 @@ { keys: 'gE', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: true, bigWord: true, inclusive: true }}, { keys: '{', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: false, toJumplist: true }}, { keys: '}', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: true, toJumplist: true }}, + { keys: '(', type: 'motion', motion: 'moveBySentence', motionArgs: { forward: false }}, + { keys: ')', type: 'motion', motion: 'moveBySentence', motionArgs: { forward: true }}, { keys: '<C-f>', type: 'motion', motion: 'moveByPage', motionArgs: { forward: true }}, { keys: '<C-b>', type: 'motion', motion: 'moveByPage', motionArgs: { forward: false }}, { keys: '<C-d>', type: 'motion', motion: 'moveByScroll', motionArgs: { forward: true, explicitRepeat: true }}, @@ -423,6 +425,9 @@ function isWhiteSpaceString(k) { return (/^\s*$/).test(k); } + function isEndOfSentenceSymbol(k) { + return '.?!'.indexOf(k) != -1; + } function inArray(val, arr) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) { @@ -866,7 +871,7 @@ if (vim.insertMode) { command = handleKeyInsertMode(); } else { command = handleKeyNonInsertMode(); } if (command === false) { - return undefined; + return !vim.insertMode && key.length === 1 ? function() { return true; } : undefined; } else if (command === true) { // TODO: Look into using CodeMirror's multi-key handling. // Return no-op since we are caching the key. Counts as handled, but @@ -1811,6 +1816,10 @@ var dir = motionArgs.forward ? 1 : -1; return findParagraph(cm, head, motionArgs.repeat, dir); }, + moveBySentence: function(cm, head, motionArgs) { + var dir = motionArgs.forward ? 1 : -1; + return findSentence(cm, head, motionArgs.repeat, dir); + }, moveByScroll: function(cm, head, motionArgs, vim) { var scrollbox = cm.getScrollInfo(); var curEnd = null; @@ -3534,6 +3543,179 @@ return { start: start, end: end }; } + function findSentence(cm, cur, repeat, dir) { + + /* + Takes an index object + { + line: the line string, + ln: line number, + pos: index in line, + dir: direction of traversal (-1 or 1) + } + and modifies the line, ln, and pos members to represent the + next valid position or sets them to null if there are + no more valid positions. + */ + function nextChar(cm, idx) { + if (idx.pos + idx.dir < 0 || idx.pos + idx.dir >= idx.line.length) { + idx.ln += idx.dir; + if (!isLine(cm, idx.ln)) { + idx.line = null; + idx.ln = null; + idx.pos = null; + return; + } + idx.line = cm.getLine(idx.ln); + idx.pos = (idx.dir > 0) ? 0 : idx.line.length - 1; + } + else { + idx.pos += idx.dir; + } + } + + /* + Performs one iteration of traversal in forward direction + Returns an index object of the new location + */ + function forward(cm, ln, pos, dir) { + var line = cm.getLine(ln); + var stop = (line === ""); + + var curr = { + line: line, + ln: ln, + pos: pos, + dir: dir, + } + + var last_valid = { + ln: curr.ln, + pos: curr.pos, + } + + var skip_empty_lines = (curr.line === ""); + + // Move one step to skip character we start on + nextChar(cm, curr); + + while (curr.line !== null) { + last_valid.ln = curr.ln; + last_valid.pos = curr.pos; + + if (curr.line === "" && !skip_empty_lines) { + return { ln: curr.ln, pos: curr.pos, }; + } + else if (stop && curr.line !== "" && !isWhiteSpaceString(curr.line[curr.pos])) { + return { ln: curr.ln, pos: curr.pos, }; + } + else if (isEndOfSentenceSymbol(curr.line[curr.pos]) + && !stop + && (curr.pos === curr.line.length - 1 + || isWhiteSpaceString(curr.line[curr.pos + 1]))) { + stop = true; + } + + nextChar(cm, curr); + } + + /* + Set the position to the last non whitespace character on the last + valid line in the case that we reach the end of the document. + */ + var line = cm.getLine(last_valid.ln); + last_valid.pos = 0; + for(var i = line.length - 1; i >= 0; --i) { + if (!isWhiteSpaceString(line[i])) { + last_valid.pos = i; + break; + } + } + + return last_valid; + + } + + /* + Performs one iteration of traversal in reverse direction + Returns an index object of the new location + */ + function reverse(cm, ln, pos, dir) { + var line = cm.getLine(ln); + + var curr = { + line: line, + ln: ln, + pos: pos, + dir: dir, + } + + var last_valid = { + ln: curr.ln, + pos: null, + }; + + var skip_empty_lines = (curr.line === ""); + + // Move one step to skip character we start on + nextChar(cm, curr); + + while (curr.line !== null) { + + if (curr.line === "" && !skip_empty_lines) { + if (last_valid.pos !== null) { + return last_valid; + } + else { + return { ln: curr.ln, pos: curr.pos }; + } + } + else if (isEndOfSentenceSymbol(curr.line[curr.pos]) + && last_valid.pos !== null + && !(curr.ln === last_valid.ln && curr.pos + 1 === last_valid.pos)) { + return last_valid; + } + else if (curr.line !== "" && !isWhiteSpaceString(curr.line[curr.pos])) { + skip_empty_lines = false; + last_valid = { ln: curr.ln, pos: curr.pos } + } + + nextChar(cm, curr); + } + + /* + Set the position to the first non whitespace character on the last + valid line in the case that we reach the beginning of the document. + */ + var line = cm.getLine(last_valid.ln); + last_valid.pos = 0; + for(var i = 0; i < line.length; ++i) { + if (!isWhiteSpaceString(line[i])) { + last_valid.pos = i; + break; + } + } + return last_valid; + } + + var curr_index = { + ln: cur.line, + pos: cur.ch, + }; + + while (repeat > 0) { + if (dir < 0) { + curr_index = reverse(cm, curr_index.ln, curr_index.pos, dir); + } + else { + curr_index = forward(cm, curr_index.ln, curr_index.pos, dir); + } + repeat--; + } + + return Pos(curr_index.ln, curr_index.pos); + } + // TODO: perhaps this finagling of start and end positions belonds // in codemirror/replaceRange? function selectCompanionObject(cm, head, symb, inclusive) { @@ -3552,8 +3734,8 @@ // cursor is on a matching open bracket. var offset = curChar === openSym ? 1 : 0; - start = cm.scanForBracket(Pos(cur.line, cur.ch + offset), -1, null, {'bracketRegex': bracketRegexp}); - end = cm.scanForBracket(Pos(cur.line, cur.ch + offset), 1, null, {'bracketRegex': bracketRegexp}); + start = cm.scanForBracket(Pos(cur.line, cur.ch + offset), -1, undefined, {'bracketRegex': bracketRegexp}); + end = cm.scanForBracket(Pos(cur.line, cur.ch + offset), 1, undefined, {'bracketRegex': bracketRegexp}); if (!start || !end) { return { start: cur, end: cur }; diff --git a/media/editors/codemirror/keymap/vim.min.js b/media/editors/codemirror/keymap/vim.min.js index 326f5a1c830c5..8e51b16aa438a 100644 --- a/media/editors/codemirror/keymap/vim.min.js +++ b/media/editors/codemirror/keymap/vim.min.js @@ -1,3 +1,3 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",hb),B(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",hb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in ob?b[e]=ob[f]:d=!0,f in pb&&(b[e]=pb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(P(a.getCursor(),0,1)),Hb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return qb.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function x(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),yb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)yb[d[f]]=yb[a];b&&y(a,b)}function y(a,b,c,d){var e=yb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function z(a,b,c){var d=yb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function A(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ab()}function B(a){return a.state.vim||(a.state.vim={inputState:new D,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function C(){Bb={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:zb(),macroModeState:new A,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new H({}),searchHistoryController:new I,exCommandHistoryController:new I};for(var a in yb){var b=yb[a];b.value=b.defaultValue}}function D(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(b,c){b.state.vim.inputState=new D,a.signal(b,"vim-command-done",c)}function F(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function G(a,b){var c=Bb.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,xb.push(a)}function H(a){this.registers=a,this.unnamedRegister=a['"']=new F,a["."]=new F,a[":"]=new F,a["/"]=new F}function I(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function J(a,b){Fb[a]=b}function K(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function L(a,b){Gb[a]=b}function M(a,b){Hb[a]=b}function N(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=_(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function O(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function P(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function Q(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function R(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=S(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function S(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function T(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function U(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function V(a){return d(a.line,a.ch)}function W(a,b){return a.ch==b.ch&&a.line==b.line}function X(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Y(a,b){return arguments.length>2&&(b=Y.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?a:b}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),X(a,b)?b:a}function $(a,b,c){var d=X(a,b),e=X(b,c);return d&&e}function _(a,b){return a.getLine(b).length}function aa(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ba(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function ca(a,b,c){var e=_(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function da(a,b){var c=[],e=a.listSelections(),f=V(a.clipPos(b)),g=!W(b,f),h=a.getCursor("head"),i=fa(e,h),j=W(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function ea(a,b,c){for(var d=[],e=0;e<c;e++){var f=P(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function fa(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&W(a[d].anchor,b),f="anchor"!=c&&W(a[d].head,b);if(e||f)return d}return-1}function ga(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=X(c.anchor,c.head)?c.anchor:c.head,f=X(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,_(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ha(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:V(c),head:V(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ia(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return X(c,b)&&(e=c,c=b,b=e),X(g,h)?(g=Y(b,g),h=Z(h,c)):(h=Y(b,h),g=Z(g,c),g=P(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,_(a,g.line-1)))),[h,g]}function ja(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=ka(a,b,c);a.setSelections(e.ranges,e.primary),ib(a)}function ka(a,b,c,e){var f=V(b.head),g=V(b.anchor);if("char"==c){var h=e||X(b.head,b.anchor)?0:1,i=X(b.head,b.anchor)?1:0;return f=P(b.head,0,h),g=P(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(X(b.head,b.anchor))f.ch=0,g.ch=_(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=_(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function la(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Y(b,a.getCursor("anchor"))),b}function ma(b,c){var d=b.state.vim;c!==!1&&b.setCursor(N(b,d.sel.head)),ha(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function na(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=_(a,c.line)):c.ch=0}}function oa(a,b,c){b.ch=0,c.ch=0,c.line++}function pa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function qa(a,b,c,e,f){for(var g=la(a),h=a.getLine(g.line),i=g.ch,j=f?rb[0]:sb[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=sb[0]:(j=rb[0],j(h.charAt(i))||(j=rb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function ra(a,b,c){W(b,c)||Bb.jumpList.add(a,b,c)}function sa(a,b){Bb.lastCharacterSearch.increment=a,Bb.lastCharacterSearch.forward=b.forward,Bb.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ta(a,b,c,e){var f=V(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Ib[e];if(!m)return f;var n=Jb[m].init,o=Jb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function ua(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?sb:rb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function va(a,b,c,e,f,g){var h=V(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=ua(a,b,e,g,j);if(!l){var m=_(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function wa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=za(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function xa(a,b){var c=a.getCursor().line;return N(a,d(c,b-1))}function ya(a,b,c,d){w(c,wb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function za(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Aa(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ba(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,null,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,null,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ca(a,b,c,e){var f,g,h,i,j=V(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Da(){}function Ea(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Da)}function Fa(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ga(a){return Ia(a,"/")}function Ha(a){return Ja(a,"/")}function Ia(a,b){var c=Ja(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function Ja(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Ka(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function La(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Kb[e+f]?(c.push(Kb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Ma(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Lb)if(c.match(f,!0)){e=!0,d.push(Lb[f]);break}e||d.push(c.next())}return d.join("")}function Na(a,b,c){var d=Bb.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ha(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;z("pcre")||(e=Ka(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Oa(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Pa(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Qa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Pa(b.prefix,b.desc);Fa(a,d,c,b.onClose,b)}function Ra(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Sa(a,b,c,d){if(b){var e=Ea(a),f=Na(b,!!c,!!d);if(f)return Ua(a,f),Ra(f,e.getQuery())?f:(e.setQuery(f),f)}}function Ta(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Ua(a,b){var c=Ea(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Ta(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Va(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&W(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function Wa(a){var b=Ea(a);a.removeOverlay(Ea(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Xa(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?w(a,b):c?a>=b&&a<=c:a==b}function Ya(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function Za(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function $a(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Xa(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0, -b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Oa(b,"No matches for "+h.source):c?void Qa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function _a(b){var c=b.state.vim,d=Bb.macroModeState,e=Bb.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof kb?k++:k+=i;g.changes=h,b.off("change",gb),a.off(b.getInputField(),"keydown",lb)}!f&&c.insertModeRepeat>1&&(mb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&eb(d)}function ab(a){b.unshift(a)}function bb(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];ab(f)}function cb(b,c,d,e){var f=Bb.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Pb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Bb.macroModeState.lastInsertModeChanges.changes=m,nb(b,m,1),_a(b)}d.isPlaying=!1}function db(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushText(b)}}function eb(a){if(!a.isPlaying){var b=a.latestRegister,c=Bb.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function fb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Bb.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function gb(a,b){var c=Bb.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function hb(a){var b=a.state.vim;if(b.insertMode){var c=Bb.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||jb(a,b);b.visualMode&&ib(a)}function ib(a){var b=a.state.vim,c=N(a,V(b.sel.head)),d=P(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function jb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?ma(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=X(e,d)?0:-1,g=X(e,d)?-1:0;e=P(e,0,f),d=P(d,0,g),c.sel={anchor:d,head:e},ya(b,c,"<",Y(e,d)),ya(b,c,">",Z(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function kb(a){this.keyName=a}function lb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new kb(f)),!0}var d=Bb.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function mb(a,b,c,d){function e(){h?Eb.processAction(a,b,b.lastEditActionCommand):Eb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;nb(a,d.changes,c)}}var g=Bb.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&_a(a),g.isPlaying=!1}function nb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Bb.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=Q(i.anchor,i.head);ea(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(P(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof kb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=P(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(P(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var ob={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},pb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},qb=/[\d]/,rb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],sb=[function(a){return/\S/.test(a)}],tb=p(65,26),ub=p(97,26),vb=p(48,10),wb=[].concat(tb,ub,vb,["<",">"]),xb=[].concat(tb,ub,vb,["-",'"',".",":","/"]),yb={};x("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var zb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!W(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!W(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},Ab=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};A.prototype={exitMacroRecordMode:function(){var a=Bb.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Bb.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Bb,Cb,Db={buildKeyMap:function(){},getRegisterController:function(){return Bb.registerController},resetVimGlobalState_:C,getVimGlobalState_:function(){return Bb},maybeInitVimState_:B,suppressErrorLogging:!1,InsertModeKey:kb,map:function(a,b,c){Pb.map(a,b,c)},unmap:function(a,b){Pb.unmap(a,b)},setOption:y,getOption:z,defineOption:x,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Ob[a]=c,Pb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Bb.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),E(c),!0;"mapping"!=e&&db(a,d)}}function g(){if("<Esc>"==d)return E(c),l.visualMode?ma(c):l.insertMode&&_a(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Eb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Eb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return E(c),!1;if("partial"==f.type)return Cb&&window.clearTimeout(Cb),Cb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&E(c)}),z("insertModeEscKeysTimeout")),!e;if(Cb&&window.clearTimeout(Cb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",P(k,0,-(a.length-1)),k,"+input")}Bb.macroModeState.lastInsertModeChanges.changes.pop()}return E(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return E(c),!1;var h=l.visualMode?"visual":"normal",i=Eb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return E(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=B(c);return k=l.insertMode?i():j(),k===!1?void 0:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Eb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,B(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Pb.processCommand(a,b)},defineMotion:J,defineAction:M,defineOperator:L,mapCommand:bb,_mapCommand:ab,defineRegister:G,exitVisualMode:ma,exitInsertMode:_a};D.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},D.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},F.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Ab(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},H.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new F(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new F(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new F(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new F),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&w(a,xb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},I.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Eb={matchCommand:function(a,b,c,d){var e=R(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=T(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=O(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);E(a)}d.operator=c.operator,d.operatorArgs=O(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=O(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=O(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,E(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Hb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Bb.searchHistoryController.pushInput(a),Bb.searchHistoryController.reset();try{Sa(b,a,e,f)}catch(c){return Oa(b,"Invalid regex: "+a),void E(b)}Eb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Bb.macroModeState;c.isRecording&&fb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.searchHistoryController.reset();var j;try{j=Sa(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Va(b,!i,j),30):(Wa(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Bb.searchHistoryController.pushInput(d),Bb.searchHistoryController.reset(),Sa(b,l),Wa(b),b.scrollTo(m.left,m.top),a.e_stop(c),E(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ea(b).setReversed(!i);var k=i?"/":"?",l=Ea(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Bb.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Qa(b,{onClose:f,prefix:k,desc:Mb,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=qa(b,!1,!0,!1,!0),q=!0;if(p||(p=qa(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ba(o),Bb.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Bb.exCommandHistoryController.pushInput(a),Bb.exCommandHistoryController.reset(),Pb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Bb.exCommandHistoryController.pushInput(d),Bb.exCommandHistoryController.reset(),a.e_stop(c),E(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Bb.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Bb.exCommandHistoryController.reset()}"keyToEx"==d.type?Pb.processCommand(b,d.exArgs.input):c.visualMode?Qa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Qa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=V(b.visualMode?N(a,m.head):a.getCursor("head")),o=V(b.visualMode?N(a,m.anchor):a.getCursor("anchor")),p=V(n),q=V(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,E(a),h){var r=Fb[h](a,n,i,b);if(b.lastMotion=Fb[h],!r)return;if(i.toJumplist){var s=Bb.jumpList,t=s.cachedCursor;t?(ra(a,t,r),delete s.cachedCursor):ra(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=V(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=N(a,c,b.visualBlock)),e&&(e=N(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ja(a),ya(a,b,"<",X(e,c)?e:c),ya(a,b,">",X(e,c)?c:e)):j||(c=N(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ja(a)}else b.visualMode&&(k.lastSel={anchor:V(m.anchor),head:V(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Y(m.head,m.anchor),y=Z(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=ka(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=_(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=V(e||q),y=V(c||p),X(y,x)){var F=x;x=y,y=F}z=i.linewise||k.linewise,z?oa(a,x,y):i.forward&&na(a,x,y),A="char";var G=!i.inclusive||z;B=ka(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Gb[j](a,k,B.ranges,q,c);b.visualMode&&ma(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=Bb.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Fb={moveToTopLine:function(a,b,c){var e=Ya(a).top+c.repeat-1;return d(e,pa(a.getLine(e)))},moveToMiddleLine:function(a){var b=Ya(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,pa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=Ya(a).bottom-c.repeat+1;return d(e,pa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ea(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Ua(a,e),Va(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=Za(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:pa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[N(a,d(f.anchor.line,f.head.ch)),N(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?X(j,h):X(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=W(h,f),m=c.forward?$(h,j,f):$(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,pa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=pa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Aa(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Fb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return va(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=wa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return sa(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return sa(0,c),wa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ta(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,xa(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,pa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,pa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Ba(a,b,g,i);else if(f[g])h=Ca(a,b,g,i);else if("W"===g)h=qa(a,i,!0,!0);else if("w"===g)h=qa(a,i,!0,!1);else{if("p"!==g)return null;if(h=Aa(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ia(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Bb.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=wa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Gb={change:function(b,c,e){var f,g,h=b.state.vim;if(Bb.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=K("",e.length);b.replaceSelections(i),f=Y(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=P(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}Bb.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Hb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=K("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,_(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Fb.moveToFirstNonWhiteSpaceCharacter(a,i))}Bb.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return N(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Fb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Fb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Y(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Y(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Bb.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Hb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Bb.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=V(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Bb.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)cb(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Bb.macroModeState,d=b.selectedCharacter;Bb.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,_(b,h.line));else if("charAfter"==f)h=P(h,0,1);else if("firstNonBlank"==f)h=Fb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?P(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Bb.macroModeState.isPlaying||(b.on("change",gb),a.on(b.getInputField(),"keydown",lb)),e.visualMode&&ma(b),ea(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b)):ma(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=N(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ja(b),ya(b,e,"<",Y(h,f)),ya(b,e,">",Z(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ha(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ja(b),ya(b,d,"<",Y(f,g)),ya(b,d,">",Z(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),X(f,e)){var g=f;f=e,e=g}f.ch=_(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=N(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=_(a,e.line);var g=d(e.line+1,_(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&ma(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=V(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=_(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=V(a.getCursor()),f=Bb.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=_(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ga(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Bb.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),da(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=_(a,A);B<e.ch&&ca(a,A,e.ch)}a.setCursor(e),da(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,pa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,pa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&ma(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){U(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){U(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;ya(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line); -f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=X(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),ma(b,!1)):b.setCursor(P(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,mb(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:_a},Ib={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Jb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};x("pcre",!0,"boolean"),Da.prototype={getQuery:function(){return Bb.query},setQuery:function(a){Bb.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Bb.isReversed},setReversed:function(a){Bb.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Kb={"\\n":"\n","\\r":"\r","\\t":"\t"},Lb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Mb="(Javascript regexp)",Nb=function(){this.buildCommandMap_()};Nb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Bb.registerController.getRegister(":"),g=f.toString();e.visualMode&&ma(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Oa(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Oa(b,'Not an editor command ":'+c+'"');try{Ob[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Oa(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=Za(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=aa(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Ob={colorscheme:function(a,b){return!b.args||b.args.length<1?void Oa(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Oa(a,"Invalid mapping: "+b.input)):void Pb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Oa(a,"No such mapping: "+b.input)):void Pb.unmap(d[0],c)},move:function(a,b){Eb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Oa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=yb[f]&&"boolean"==yb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=z(f,a,d);j instanceof Error?Oa(a,j.message):j===!0||j===!1?Oa(a," "+(j?"":"no")+f):Oa(a," "+f+"="+j)}else{var k=y(f,g,a,d);k instanceof Error&&Oa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Bb.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Bb.registerController.isValidRegister(f)){var h=d[f]||new F;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Oa(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Oa(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,_(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Oa(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ga(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Sa(a,h,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+h)}for(var i=Ea(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Oa(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Pb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ia(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=z("pcre")?Ma(j):La(j),Bb.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Oa(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c.replace(/\//g,"\\/")+"/"+f)),c)try{Sa(a,c,!0,!0)}catch(b){return void Oa(a,"Invalid regex: "+c)}if(j=j||Bb.lastSubstituteReplacePart,void 0===j)return void Oa(a,"No previous substitute regular expression");var m=Ea(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=N(a,d(o,0)),r=a.getSearchCursor(n,q);$a(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Wa(a)},yank:function(a){var b=V(a.getCursor()),c=b.line,d=a.getLine(c);Bb.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!aa(c.argString))return void Oa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(aa(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Oa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Oa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Oa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Pb=new Nb;return a.keyMap.vim={attach:h,detach:g,call:m},x("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},C(),Db};a.Vim=e()})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],d=a.Pos,e=function(){function e(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",jb),C(b),a.on(b.getInputField(),"paste",o(b))}function f(b){b.setOption("disableInput",!1),b.off("cursorActivity",jb),a.off(b.getInputField(),"paste",o(b)),b.state.vim=null}function g(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="")),c&&c.attach==h||f(b)}function h(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(k(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==h||e(b)}function i(a){for(var b=a.listSelections(),c=[],e=0;e<b.length;e++){var f=b[e];if(f.empty())if(f.anchor.ch<a.getLine(f.anchor.line).length)c.push(a.markText(f.anchor,d(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var g=document.createElement("span");g.textContent=" ",g.className="cm-fat-cursor-mark",c.push(a.setBookmark(f.anchor,{widget:g}))}}return c}function j(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=i(a)}function k(a){a.state.fatCursorMarks=i(a),a.on("cursorActivity",j)}function l(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear();a.state.fatCursorMarks=null,a.off("cursorActivity",j)}function m(b,c){if(c){if(this[b])return this[b];var d=n(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function n(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in qb?b[e]=qb[f]:d=!0,f in rb&&(b[e]=rb[f])}return!!d&&(u(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function o(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(Q(a.getCursor(),0,1)),Jb.enterInsertMode(a,{},b))}),b.onPasteFn}function p(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function q(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function r(a){return/^[a-z]$/.test(a)}function s(a){return"()[]{}".indexOf(a)!=-1}function t(a){return sb.test(a)}function u(a){return/^[A-Z]$/.test(a)}function v(a){return/^\s*$/.test(a)}function w(a){return".?!".indexOf(a)!=-1}function x(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function y(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),Ab[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)Ab[d[f]]=Ab[a];b&&z(a,b)}function z(a,b,c,d){var e=Ab[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&b!==!0)return new Error("Invalid argument: "+a+"="+b);b!==!1&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function A(a,b,c){var d=Ab[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function B(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Cb()}function C(a){return a.state.vim||(a.state.vim={inputState:new E,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function D(){Db={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:Bb(),macroModeState:new B,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new I({}),searchHistoryController:new J,exCommandHistoryController:new J};for(var a in Ab){var b=Ab[a];b.value=b.defaultValue}}function E(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function F(b,c){b.state.vim.inputState=new E,a.signal(b,"vim-command-done",c)}function G(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function H(a,b){var c=Db.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,zb.push(a)}function I(a){this.registers=a,this.unnamedRegister=a['"']=new G,a["."]=new G,a[":"]=new G,a["/"]=new G}function J(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function K(a,b){Hb[a]=b}function L(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function M(a,b){Ib[a]=b}function N(a,b){Jb[a]=b}function O(a,b,c){var e=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),f=aa(a,e)-1;f=c?f+1:f;var g=Math.min(Math.max(0,b.ch),f);return d(e,g)}function P(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function Q(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),d(a.line+b,a.ch+c)}function R(a,b){return{line:b.line-a.line,ch:b.line-a.line}}function S(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=T(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function T(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function U(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function V(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function W(a){return d(a.line,a.ch)}function X(a,b){return a.ch==b.ch&&a.line==b.line}function Y(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),Y(a,b)?a:b}function $(a,b){return arguments.length>2&&(b=$.apply(void 0,Array.prototype.slice.call(arguments,1))),Y(a,b)?b:a}function _(a,b,c){var d=Y(a,b),e=Y(b,c);return d&&e}function aa(a,b){return a.getLine(b).length}function ba(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ca(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function da(a,b,c){var e=aa(a,b),f=new Array(c-e+1).join(" ");a.setCursor(d(b,e)),a.replaceRange(f,a.getCursor())}function ea(a,b){var c=[],e=a.listSelections(),f=W(a.clipPos(b)),g=!X(b,f),h=a.getCursor("head"),i=ga(e,h),j=X(e[i].head,e[i].anchor),k=e.length-1,l=k-i>i?k:0,m=e[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=e[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&s==-1&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new d(t,p),head:new d(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function fa(a,b,c){for(var d=[],e=0;e<c;e++){var f=Q(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function ga(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&X(a[d].anchor,b),f="anchor"!=c&&X(a[d].head,b);if(e||f)return d}return-1}function ha(a,b){var c=b.lastSelection,e=function(){var b=a.listSelections(),c=b[0],d=b[b.length-1],e=Y(c.anchor,c.head)?c.anchor:c.head,f=Y(d.anchor,d.head)?d.head:d.anchor;return[e,f]},f=function(){var b=a.getCursor(),e=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;e=d(b.line+h,b.ch+g);for(var i=[],j=b.line;j<e.line;j++){var k=d(j,b.ch),l=d(j,e.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;e={line:e.line+p,ch:p?e.ch:q+e.ch},c.visualLine&&(b=d(b.line,0),e=d(e.line,aa(a,e.line))),a.setSelection(b,e)}return[b,e]};return b.visualMode?e():f()}function ia(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:W(c),head:W(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ja(a,b,c){var e,f=a.state.vim.sel,g=f.head,h=f.anchor;return Y(c,b)&&(e=c,c=b,b=e),Y(g,h)?(g=Z(b,g),h=$(h,c)):(h=Z(b,h),g=$(g,c),g=Q(g,0,-1),g.ch==-1&&g.line!=a.firstLine()&&(g=d(g.line-1,aa(a,g.line-1)))),[h,g]}function ka(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=la(a,b,c);a.setSelections(e.ranges,e.primary),kb(a)}function la(a,b,c,e){var f=W(b.head),g=W(b.anchor);if("char"==c){var h=e||Y(b.head,b.anchor)?0:1,i=Y(b.head,b.anchor)?1:0;return f=Q(b.head,0,h),g=Q(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(Y(b.head,b.anchor))f.ch=0,g.ch=aa(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=aa(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:d(k+r,l),head:d(k+r,n)});return{ranges:q,primary:p}}}function ma(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Z(b,a.getCursor("anchor"))),b}function na(b,c){var d=b.state.vim;c!==!1&&b.setCursor(O(b,d.sel.head)),ia(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"normal"}),d.fakeCursor&&d.fakeCursor.clear()}function oa(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&v(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=aa(a,c.line)):c.ch=0}}function pa(a,b,c){b.ch=0,c.ch=0,c.line++}function qa(a){if(!a)return 0;var b=a.search(/\S/);return b==-1?a.length:b}function ra(a,b,c,e,f){for(var g=ma(a),h=a.getLine(g.line),i=g.ch,j=f?tb[0]:ub[0];!j(h.charAt(i));)if(i++,i>=h.length)return null;e?j=ub[0]:(j=tb[0],j(h.charAt(i))||(j=tb[1]));for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:d(g.line,l),end:d(g.line,k)}}function sa(a,b,c){X(b,c)||Db.jumpList.add(a,b,c)}function ta(a,b){Db.lastCharacterSearch.increment=a,Db.lastCharacterSearch.forward=b.forward,Db.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function ua(a,b,c,e){var f=W(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:e,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[e],forward:c,depth:0,curMoveThrough:!1},m=Kb[e];if(!m)return f;var n=Lb[m].init,o=Lb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?d(j,l.index):f}function va(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?ub:tb;if(e&&""==h){if(f+=i,h=a.getLine(f),!q(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!q(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function wa(a,b,c,e,f,g){var h=W(b),i=[];(e&&!f||!e&&f)&&c++;for(var j=!(e&&f),k=0;k<c;k++){var l=va(a,b,e,g,j);if(!l){var m=aa(a,a.lastLine());i.push(e?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=d(l.line,e?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return e&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.from)):e&&f?d(p.line,p.to-1):!e&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),d(p.line,p.to)):d(p.line,p.from)}function xa(a,b,c,e){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){var j=a.getLine(g.line);if(f=Aa(h,j,e,c,!0),f==-1)return null;h=f}return d(a.getCursor().line,f)}function ya(a,b){var c=a.getCursor().line;return O(a,d(c,b-1))}function za(a,b,c,d){x(c,yb)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function Aa(a,b,c,d,e){var f;return d?(f=b.indexOf(c,a+1),f==-1||e||(f-=1)):(f=b.lastIndexOf(c,a-1),f==-1||e||(f+=1)),f}function Ba(a,b,c,e,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(e){for(;l<=n&&n<=m&&c>0;)h(n,e)&&c--,n+=e;return new d(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new d(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new d(n,0),{start:i,end:j}}function Ca(a,b,c,e){function f(a,b){if(b.pos+b.dir<0||b.pos+b.dir>=b.line.length){if(b.ln+=b.dir,!q(a,b.ln))return b.line=null,b.ln=null,void(b.pos=null);b.line=a.getLine(b.ln),b.pos=b.dir>0?0:b.line.length-1}else b.pos+=b.dir}function g(a,b,c,d){var e=a.getLine(b),g=""===e,h={line:e,ln:b,pos:c,dir:d},i={ln:h.ln,pos:h.pos},j=""===h.line;for(f(a,h);null!==h.line;){if(i.ln=h.ln,i.pos=h.pos,""===h.line&&!j)return{ln:h.ln,pos:h.pos};if(g&&""!==h.line&&!v(h.line[h.pos]))return{ln:h.ln,pos:h.pos};!w(h.line[h.pos])||g||h.pos!==h.line.length-1&&!v(h.line[h.pos+1])||(g=!0),f(a,h)}var e=a.getLine(i.ln);i.pos=0;for(var k=e.length-1;k>=0;--k)if(!v(e[k])){i.pos=k;break}return i}function h(a,b,c,d){var e=a.getLine(b),g={line:e,ln:b,pos:c,dir:d},h={ln:g.ln,pos:null},i=""===g.line;for(f(a,g);null!==g.line;){if(""===g.line&&!i)return null!==h.pos?h:{ln:g.ln,pos:g.pos};if(w(g.line[g.pos])&&null!==h.pos&&(g.ln!==h.ln||g.pos+1!==h.pos))return h;""===g.line||v(g.line[g.pos])||(i=!1,h={ln:g.ln,pos:g.pos}),f(a,g)}var e=a.getLine(h.ln);h.pos=0;for(var j=0;j<e.length;++j)if(!v(e[j])){h.pos=j;break}return h}for(var i={ln:b.line,pos:b.ch};c>0;)i=e<0?h(a,i.ln,i.pos,e):g(a,i.ln,i.pos,e),c--;return d(i.ln,i.pos)}function Da(a,b,c,e){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(d(h.line,h.ch+l),-1,void 0,{bracketRegex:i}),g=a.scanForBracket(d(h.line,h.ch+l),1,void 0,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return e?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ea(a,b,c,e){var f,g,h,i,j=W(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(e&&(--f,++g),{start:d(j.line,f),end:d(j.line,g)}):{start:j,end:j}}function Fa(){}function Ga(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Fa)}function Ha(a,b,c,d,e){a.openDialog?a.openDialog(b,d,{bottom:!0,value:e.value,onKeyDown:e.onKeyDown,onKeyUp:e.onKeyUp,selectValueOnOpen:!1}):d(prompt(c,""))}function Ia(a){return Ka(a,"/")}function Ja(a){return La(a,"/")}function Ka(a,b){var c=La(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function La(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Ma(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&b.indexOf(h)!=-1;d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&c.indexOf(h)!=-1&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Na(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Mb[e+f]?(c.push(Mb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,t(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Oa(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Nb)if(c.match(f,!0)){e=!0,d.push(Nb[f]);break}e||d.push(c.next())}return d.join("")}function Pa(a,b,c){var d=Db.registerController.getRegister("/");if(d.setText(a),a instanceof RegExp)return a;var e,f,g=Ja(a);if(g.length){e=a.substring(0,g[0]);var h=a.substring(g[0]);f=h.indexOf("i")!=-1}else e=a;if(!e)return null;A("pcre")||(e=Ma(e)),c&&(b=/^[^A-Z]*$/.test(e));var i=new RegExp(e,b||f?"i":void 0);return i}function Qa(a,b){a.openNotification?a.openNotification('<span style="color: red">'+b+"</span>",{bottom:!0,duration:5e3}):alert(b)}function Ra(a,b){var c='<span style="font-family: monospace; white-space: pre">'+(a||"")+'<input type="text"></span>';return b&&(c+=' <span style="color: #888">'+b+"</span>"),c}function Sa(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Ra(b.prefix,b.desc);Ha(a,d,c,b.onClose,b)}function Ta(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Ua(a,b,c,d){if(b){var e=Ga(a),f=Pa(b,!!c,!!d);if(f)return Wa(a,f),Ta(f,e.getQuery())?f:(e.setQuery(f),f)}}function Va(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Wa(a,b){var c=Ga(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Va(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}function Xa(a,b,c,e){return void 0===e&&(e=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<e;h++){var i=g.find(b);if(0==h&&i&&X(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?d(a.lastLine()):d(a.firstLine(),0)), +!g.find(b)))return}return g.from()}))}function Ya(a){var b=Ga(a);a.removeOverlay(Ga(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function Za(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?x(a,b):c?a>=b&&a<=c:a==b}function $a(a){var b=a.getScrollInfo(),c=6,d=10,e=a.coordsChar({left:0,top:c+b.top},"local"),f=b.clientHeight-d+b.top,g=a.coordsChar({left:0,top:f},"local");return{top:e.line,bottom:g.line}}function _a(a,b,c){if("'"==c){var d=a.doc.history.done,e=d[d.length-2];return e&&e.ranges&&e.ranges[0].head}if("."==c){if(0==a.doc.history.lastModTime)return;var f=a.doc.history.done.filter((function(a){if(void 0!==a.changes)return a}));f.reverse();var g=f[0].changes[0].to;return g}var h=b.marks[c];return h&&h.find()}function ab(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!p;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i);g.replace(c)}function m(){for(;g.findNext()&&Za(g.from(),e,f);)if(d||!q||g.from().line!=q.line)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),q=g.from(),void(p=!1);p=!0}function n(a){if(a&&a(),b.focus(),q){b.setCursor(q);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=q.ch}j&&j()}function o(c,d,e){a.e_stop(c);var f=a.keyName(c);switch(f){case"Y":l(),m();break;case"N":m();break;case"A":var g=j;j=void 0,b.operation(k),j=g;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return p&&n(e),!0}b.state.vim.exMode=!0;var p=!1,q=g.from();return m(),p?void Qa(b,"No matches for "+h.source):c?void Sa(b,{prefix:"replace with <strong>"+i+"</strong> (y/n/a/q/l)",onKeyDown:o}):(k(),void(j&&j()))}function bb(b){var c=b.state.vim,d=Db.macroModeState,e=Db.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges,h=[];if(!f){for(var i=g.inVisualBlock&&c.lastSelection?c.lastSelection.visualBlock.height:1,j=g.changes,h=[],k=0;k<j.length;)h.push(j[k]),j[k]instanceof mb?k++:k+=i;g.changes=h,b.off("change",ib),a.off(b.getInputField(),"keydown",nb)}!f&&c.insertModeRepeat>1&&(ob(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&gb(d)}function cb(a){b.unshift(a)}function db(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];cb(f)}function eb(b,c,d,e){var f=Db.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Rb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Db.macroModeState.lastInsertModeChanges.changes=m,pb(b,m,1),bb(b)}d.isPlaying=!1}function fb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Db.registerController.getRegister(c);d&&d.pushText(b)}}function gb(a){if(!a.isPlaying){var b=a.latestRegister,c=Db.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function hb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Db.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function ib(a,b){var c=Db.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,"+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),a.state.overwrite&&!/\n/.test(e)?d.changes.push([e]):d.changes.push(e)}b=b.next}}function jb(a){var b=a.state.vim;if(b.insertMode){var c=Db.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||lb(a,b);b.visualMode&&kb(a)}function kb(a){var b=a.state.vim,c=O(a,W(b.sel.head)),d=Q(c,0,1);b.fakeCursor&&b.fakeCursor.clear(),b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function lb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?na(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=Y(e,d)?0:-1,g=Y(e,d)?-1:0;e=Q(e,0,f),d=Q(d,0,g),c.sel={anchor:d,head:e},za(b,c,"<",Z(e,d)),za(b,c,">",$(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function mb(a){this.keyName=a}function nb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new mb(f)),!0}var d=Db.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(f.indexOf("Delete")==-1&&f.indexOf("Backspace")==-1||a.lookupKey(f,"vim-insert",c))}function ob(a,b,c,d){function e(){h?Gb.processAction(a,b,b.lastEditActionCommand):Gb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;pb(a,d.changes,c)}}var g=Db.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&bb(a),g.isPlaying=!1}function pb(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Db.macroModeState.lastInsertModeChanges.inVisualBlock;if(g){var h=b.state.vim,i=h.lastSelection,j=R(i.anchor,i.head);fa(b,f,j.line+1),d=b.listSelections().length,b.setCursor(f)}for(var k=0;k<d;k++){g&&b.setCursor(Q(f,k,0));for(var l=0;l<c.length;l++){var m=c[l];if(m instanceof mb)a.lookupKey(m.keyName,"vim-insert",e);else if("string"==typeof m){var n=b.getCursor();b.replaceRange(m,n,n)}else{var o=b.getCursor(),p=Q(o,0,m[0].length);b.replaceRange(m[0],o,p)}}}g&&b.setCursor(Q(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var qb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},rb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},sb=/[\d]/,tb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],ub=[function(a){return/\S/.test(a)}],vb=p(65,26),wb=p(97,26),xb=p(48,10),yb=[].concat(vb,wb,xb,["<",">"]),zb=[].concat(vb,wb,xb,["-",'"',".",":","/"]),Ab={};y("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var Bb=function(){function a(a,b,h){function i(b){var e=++d%c,f=g[e];f&&f.clear(),g[e]=a.setBookmark(b)}var j=d%c,k=g[j];if(k){var l=k.find();l&&!X(l,b)&&i(b)}else i(b);i(h),e=d,f=d-c+1,f<0&&(f=0)}function b(a,b){d+=b,d>e?d=e:d<f&&(d=f);var h=g[(c+d)%c];if(h&&!h.find()){var i,j=b>0?1:-1,k=a.getCursor();do if(d+=j,h=g[(c+d)%c],h&&(i=h.find())&&!X(k,i))break;while(d<e&&d>f)}return h}var c=100,d=-1,e=0,f=0,g=new Array(c);return{cachedCursor:void 0,add:a,move:b}},Cb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};B.prototype={exitMacroRecordMode:function(){var a=Db.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Db.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Db,Eb,Fb={buildKeyMap:function(){},getRegisterController:function(){return Db.registerController},resetVimGlobalState_:D,getVimGlobalState_:function(){return Db},maybeInitVimState_:C,suppressErrorLogging:!1,InsertModeKey:mb,map:function(a,b,c){Rb.map(a,b,c)},unmap:function(a,b){Rb.unmap(a,b)},setOption:z,getOption:A,defineOption:y,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Qb[a]=c,Rb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Db.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),F(c),!0;"mapping"!=e&&fb(a,d)}}function g(){if("<Esc>"==d)return F(c),l.visualMode?na(c):l.insertMode&&bb(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}function i(){if(g())return!0;for(var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d,e=1==d.length,f=Gb.matchCommand(a,b,l.inputState,"insert");a.length>1&&"full"!=f.type;){var a=l.inputState.keyBuffer=a.slice(1),h=Gb.matchCommand(a,b,l.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return F(c),!1;if("partial"==f.type)return Eb&&window.clearTimeout(Eb),Eb=window.setTimeout((function(){l.insertMode&&l.inputState.keyBuffer&&F(c)}),A("insertModeEscKeysTimeout")),!e;if(Eb&&window.clearTimeout(Eb),e){for(var i=c.listSelections(),j=0;j<i.length;j++){var k=i[j].head;c.replaceRange("",Q(k,0,-(a.length-1)),k,"+input")}Db.macroModeState.lastInsertModeChanges.changes.pop()}return F(c),f.command}function j(){if(f()||g())return!0;var a=l.inputState.keyBuffer=l.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return F(c),!1;var h=l.visualMode?"visual":"normal",i=Gb.matchCommand(e[2]||e[1],b,l.inputState,h);if("none"==i.type)return F(c),!1;if("partial"==i.type)return!0;l.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&l.inputState.pushRepeatDigit(e[1]),i.command}var k,l=C(c);return k=l.insertMode?i():j(),k===!1?l.insertMode||1!==d.length?void 0:function(){return!0}:k===!0?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==k.type?h(k.toKeys):Gb.processCommand(c,l,k)}catch(b){throw c.state.vim=void 0,C(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Rb.processCommand(a,b)},defineMotion:K,defineAction:N,defineOperator:M,mapCommand:db,_mapCommand:cb,defineRegister:H,exitVisualMode:na,exitInsertMode:bb};E.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},E.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},G.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Cb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},I.prototype={pushText:function(a,b,c,d,e){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new G(c,d,e);break;case"delete":case"change":c.indexOf("\n")==-1?this.registers["-"]=new G(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new G(c,d))}return void this.unnamedRegister.setText(c,d,e)}var g=u(a);g?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new G),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&x(a,zb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},J.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Gb={matchCommand:function(a,b,c,d){var e=S(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=U(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=P(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);F(a)}d.operator=c.operator,d.operatorArgs=P(c.operatorArgs),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=P(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=P(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,F(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Jb[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Db.searchHistoryController.pushInput(a),Db.searchHistoryController.reset();try{Ua(b,a,e,f)}catch(c){return Qa(b,"Invalid regex: "+a),void F(b)}Gb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Db.macroModeState;c.isRecording&&hb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Db.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Db.searchHistoryController.reset();var j;try{j=Ua(b,d,!0,!0)}catch(a){}j?b.scrollIntoView(Xa(b,!i,j),30):(Ya(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Db.searchHistoryController.pushInput(d),Db.searchHistoryController.reset(),Ua(b,l),Ya(b),b.scrollTo(m.left,m.top),a.e_stop(c),F(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ga(b).setReversed(!i);var k=i?"/":"?",l=Ga(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Db.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Sa(b,{onClose:f,prefix:k,desc:Ob,onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=ra(b,!1,!0,!1,!0),q=!0;if(p||(p=ra(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ca(o),Db.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Db.exCommandHistoryController.pushInput(a),Db.exCommandHistoryController.reset(),Rb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Db.exCommandHistoryController.pushInput(d),Db.exCommandHistoryController.reset(),a.e_stop(c),F(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Db.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Db.exCommandHistoryController.reset()}"keyToEx"==d.type?Rb.processCommand(b,d.exArgs.input):c.visualMode?Sa(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Sa(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,e,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=W(b.visualMode?O(a,m.head):a.getCursor("head")),o=W(b.visualMode?O(a,m.anchor):a.getCursor("anchor")),p=W(n),q=W(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,F(a),h){var r=Hb[h](a,n,i,b);if(b.lastMotion=Hb[h],!r)return;if(i.toJumplist){var s=Db.jumpList,t=s.cachedCursor;t?(sa(a,t,r),delete s.cachedCursor):sa(a,n,r)}r instanceof Array?(e=r[0],c=r[1]):c=r,c||(c=W(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=O(a,c,b.visualBlock)),e&&(e=O(a,e,!0)),e=e||q,m.anchor=e,m.head=c,ka(a),za(a,b,"<",Y(e,c)?e:c),za(a,b,">",Y(e,c)?c:e)):j||(c=O(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){e=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?d(q.line+v,q.ch):u.visualBlock?d(q.line+v,q.ch+w):u.head.line==u.anchor.line?d(q.line,q.ch+w):d(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:e,head:c},ka(a)}else b.visualMode&&(k.lastSel={anchor:W(m.anchor),head:W(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Z(m.head,m.anchor),y=$(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=la(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=aa(a,C[D].head.line);else"line"==A&&(C[0].head=d(C[0].head.line+1,0))}}else{if(x=W(e||q),y=W(c||p),Y(y,x)){var E=x;x=y,y=E}z=i.linewise||k.linewise,z?pa(a,x,y):i.forward&&oa(a,x,y),A="char";var G=!i.inclusive||z;B=la(a,{anchor:x,head:y},A,G)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var H=Ib[j](a,k,B.ranges,q,c);b.visualMode&&na(a,null!=H),H&&a.setCursor(H)}},recordLastEdit:function(a,b,c){var d=Db.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1)}},Hb={moveToTopLine:function(a,b,c){var e=$a(a).top+c.repeat-1;return d(e,qa(a.getLine(e)))},moveToMiddleLine:function(a){var b=$a(a),c=Math.floor(.5*(b.top+b.bottom));return d(c,qa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var e=$a(a).bottom-c.repeat+1;return d(e,qa(a.getLine(e)))},expandToLine:function(a,b,c){var e=b;return d(e.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ga(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Wa(a,e),Xa(a,f,e,c.repeat)}},goToMark:function(a,b,c,d){var e=_a(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:qa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,e){if(e.visualBlock&&c.sameLine){var f=e.sel;return[O(a,d(f.anchor.line,f.head.ch)),O(a,d(f.head.line,f.anchor.ch))]}return[e.sel.head,e.sel.anchor]},jumpToMark:function(a,b,c,e){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in e.marks)if(r(i)){var j=e.marks[i].find(),k=c.forward?Y(j,h):Y(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=X(h,f),m=c.forward?_(h,j,f):_(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=d(f.line,qa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var e=b,f=c.repeat,g=c.forward?e.ch+f:e.ch-f;return d(e.line,g)},moveByLines:function(a,b,c,e){var f=b,g=f.ch;switch(e.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=e.lastHPos;break;default:e.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine();return i<j&&f.line==j?this.moveToStartOfLine(a,b,c,e):i>k&&f.line==k?this.moveToEol(a,b,c,e):(c.toFirstChar&&(g=qa(a.getLine(i)),e.lastHPos=g),e.lastHSPos=a.charCoords(d(i,g),"div").left,d(i,g))},moveByDisplayLines:function(a,b,c,e){var f=b;switch(e.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:e.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",e.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:e.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(d(a.firstLine(),0),"div");k.left=e.lastHSPos,h=a.coordsChar(k,"div")}return e.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Ba(a,b,c.repeat,d)},moveBySentence:function(a,b,c){var d=c.forward?1:-1;return Ca(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Hb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return wa(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=xa(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return ta(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return ta(0,c),xa(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){var d=c.repeat;return ua(a,d,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,ya(a,e)},moveToEol:function(a,b,c,e){var f=b;e.lastHPos=1/0;var g=d(f.line+c.repeat-1,1/0),h=a.clipPos(g);return h.ch--,e.lastHSPos=a.charCoords(h,"div").left,g},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return d(c.line,qa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,e=b,f=e.line,g=e.ch,h=a.getLine(f);g<h.length;g++)if(c=h.charAt(g),c&&s(c)){var i=a.getTokenTypeAt(d(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j=a.findMatchingBracket(d(f,g));return j.to}return e},moveToStartOfLine:function(a,b){return d(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var e=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(e=c.repeat-a.getOption("firstLineNumber")),d(e,qa(a.getLine(e)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"["},f={"'":!0,'"':!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Da(a,b,g,i);else if(f[g])h=Ea(a,b,g,i);else if("W"===g)h=ra(a,i,!0,!0);else if("w"===g)h=ra(a,i,!0,!1);else{if("p"!==g)return null;if(h=Ba(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}}return a.state.vim.visualMode?ja(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Db.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=xa(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Ib={change:function(b,c,e){var f,g,h=b.state.vim;if(Db.macroModeState.lastInsertModeChanges.inVisualBlock=h.visualBlock,h.visualMode){g=b.getSelection();var i=L("",e.length);b.replaceSelections(i),f=Z(e[0].head,e[0].anchor)}else{var j=e[0].anchor,k=e[0].head;g=b.getRange(j,k);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!v(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(k=Q(k,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new d(j.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();k.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,k):b.replaceRange("",j,k),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),j.ch=Number.MAX_VALUE),f=j}Db.registerController.pushText(c.registerName,"change",g,c.linewise,e.length>1),Jb.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var e,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=L("",c.length);a.replaceSelections(h),e=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=d(i.line-1,aa(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),e=i,b.linewise&&(e=Hb.moveToFirstNonWhiteSpaceCharacter(a,i))}Db.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock);var k=g.insertMode;return O(a,e,k)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Hb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(h===!0)k=j.toLowerCase();else if(h===!1)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=u(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Hb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Z(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Z(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Db.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Jb={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Db.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h?h:a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=W(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,e=a.charCoords(d(c,0),"local"),f=a.getScrollInfo().clientHeight,g=e.top,h=e.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Db.macroModeState;for("@"==d&&(d=f.latestRegister);e--;)eb(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Db.macroModeState,d=b.selectedCharacter;Db.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,e){if(!b.getOption("readOnly")){e.insertMode=!0,e.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=e.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length;if("eol"==f)h=d(h.line,aa(b,h.line));else if("charAfter"==f)h=Q(h,0,1);else if("firstNonBlank"==f)h=Hb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:d(g.anchor.line,0);else if("endOfSelectedArea"==f)e.visualBlock?(h=d(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?Q(g.head,0,1):d(g.anchor.line,0);else if("inplace"==f&&e.visualMode)return;b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Db.macroModeState.isPlaying||(b.on("change",ib),a.on(b.getInputField(),"keydown",nb)),e.visualMode&&na(b),fa(b,h,i)}},toggleVisualMode:function(b,c,e){var f,g=c.repeat,h=b.getCursor();e.visualMode?e.visualLine^c.linewise||e.visualBlock^c.blockwise?(e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ka(b)):na(b):(e.visualMode=!0,e.visualLine=!!c.linewise,e.visualBlock=!!c.blockwise,f=O(b,d(h.line,h.ch+g-1),!0),e.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:e.visualLine?"linewise":e.visualBlock?"blockwise":""}),ka(b),za(b,e,"<",Z(h,f)),za(b,e,">",$(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ia(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ka(b),za(b,d,"<",Z(f,g)),za(b,d,">",$(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var e,f;if(c.visualMode){if(e=a.getCursor("anchor"),f=a.getCursor("head"),Y(f,e)){var g=f;f=e,e=g}f.ch=aa(a,f.line)-1}else{var h=Math.max(b.repeat,2);e=a.getCursor(),f=O(a,d(e.line+h-1,1/0))}for(var i=0,j=e.line;j<f.line;j++){i=aa(a,e.line);var g=d(e.line+1,aa(a,e.line+1)),k=a.getRange(e,g);k=k.replace(/\n\s*/g," "),a.replaceRange(k,e,g)}var l=d(e.line,i);c.visualMode&&na(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,e){e.insertMode=!0;var f=W(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=aa(b,f.line),b.setCursor(f);var g=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;g(b)}else b.replaceRange("\n",d(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},e)},paste:function(a,b,c){var e=W(a.getCursor()),f=Db.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(o)c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),e.ch=aa(a,e.line)):e.ch=0;else{if(p){g=g.split("\n");for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q]}e.ch+=b.after?1:0}var r,s;if(c.visualMode){ +c.lastPastedText=g;var t,u=ha(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Db.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=d(v.line+g.length-1,v.ch),a.setCursor(v),ea(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(e);for(var q=0;q<g.length;q++){var A=e.line+q;A>a.lastLine()&&a.replaceRange("\n",d(A,0));var B=aa(a,A);B<e.ch&&da(a,A,e.ch)}a.setCursor(e),ea(a,d(e.line+g.length-1,e.ch)),a.replaceSelections(g),r=e}else a.replaceRange(g,e),o&&b.after?r=d(e.line+1,qa(a.getLine(e.line+1))):o&&!b.after?r=d(e.line,qa(a.getLine(e.line))):!o&&b.after?(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(e),r=a.posFromIndex(s+g.length));c.visualMode&&na(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){V(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){V(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){var d=b.selectedCharacter;za(a,c,d,a.getCursor())},replace:function(b,c,e){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(e.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=d(i.line,f)}if("\n"==h)e.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),e.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);e.visualMode?(i=Y(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),na(b,!1)):b.setCursor(Q(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,e,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(e=c.index,f=e+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()],o=parseInt(c[1]+l,n)+m*b.repeat;g=o.toString(n);var p=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+p+g.substr(1):k+p+g;var q=d(h.line,e),r=d(h.line,f);a.replaceRange(g,q,r),a.setCursor(d(h.line,e+g.length-1))}},repeatLastEdit:function(a,b,c){var d=c.lastEditInputState;if(d){var e=b.repeat;e&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=e:e=c.lastEditInputState.repeatOverride||e,ob(a,c,e,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:bb},Kb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Lb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(a.depth++,a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};y("pcre",!0,"boolean"),Fa.prototype={getQuery:function(){return Db.query},setQuery:function(a){Db.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Db.isReversed},setReversed:function(a){Db.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Mb={"\\n":"\n","\\r":"\r","\\t":"\t"},Nb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"},Ob="(Javascript regexp)",Pb=function(){this.buildCommandMap_()};Pb.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Db.registerController.getRegister(":"),g=f.toString();e.visualMode&&na(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Qa(b,a),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Qa(b,'Not an editor command ":'+c+'"');try{Qb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Qa(b,a),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+)/);return d?c.commandName=d[1]:c.commandName=b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=_a(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=ba(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<c.length;a++){var b=c[a],d=b.shortName||b.name;this.commandMap_[d]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Qb={colorscheme:function(a,b){return!b.args||b.args.length<1?void Qa(a,a.getOption("theme")):void a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;return!d||d.length<2?void(a&&Qa(a,"Invalid mapping: "+b.input)):void Rb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;return!d||d.length<1?void(a&&Qa(a,"No such mapping: "+b.input)):void Rb.unmap(d[0],c)},move:function(a,b){Gb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Qa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=Ab[f]&&"boolean"==Ab[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=A(f,a,d);j instanceof Error?Qa(a,j.message):j===!0||j===!1?Qa(a," "+(j?"":"no")+f):Qa(a," "+f+"="+j)}else{var k=z(f,g,a,d);k instanceof Error&&Qa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Db.registerController.registers,e="----------Registers----------<br><br>";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Db.registerController.isValidRegister(f)){var h=d[f]||new G;e+='"'+f+" "+h.toString()+"<br>"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"<br>")}Qa(a,e)},sort:function(b,c){function e(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(h=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){i=d[1].indexOf("i")!=-1,j=d[1].indexOf("u")!=-1;var e=d[1].indexOf("d")!=-1||d[1].indexOf("n")!=-1&&1,f=d[1].indexOf("x")!=-1&&1,g=d[1].indexOf("o")!=-1&&1;if(e+f+g>1)return"Invalid arguments";k=e&&"decimal"||f&&"hex"||g&&"octal"}d[2]&&(l=new RegExp(d[2].substr(1,d[2].length-2),i?"i":""))}}function f(a,b){if(h){var c;c=a,a=b,b=c}i&&(a=a.toLowerCase(),b=b.toLowerCase());var d=k&&s.exec(a),e=k&&s.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),t),e=parseInt((e[1]+e[2]).toLowerCase(),t),d-e):a<b?-1:1}function g(a,b){if(h){var c;c=a,a=b,b=c}return i&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var h,i,j,k,l,m=e();if(m)return void Qa(b,m+": "+c.argString);var n=c.line||b.firstLine(),o=c.lineEnd||c.line||b.lastLine();if(n!=o){var p=d(n,0),q=d(o,aa(b,o)),r=b.getRange(p,q).split("\n"),s=l?l:"decimal"==k?/(-?)([\d]+)/:"hex"==k?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==k?/([0-7]+)/:null,t="decimal"==k?10:"hex"==k?16:"octal"==k?8:null,u=[],v=[];if(k||l)for(var w=0;w<r.length;w++){var x=l?r[w].match(l):null;x&&""!=x[0]?u.push(x):!l&&s.exec(r[w])?u.push(r[w]):v.push(r[w])}else v=r;if(u.sort(l?g:f),l)for(var w=0;w<u.length;w++)u[w]=u[w].input;else k||v.sort(f);if(r=h?u.concat(v):v.concat(u),j){var y,z=r;r=[];for(var w=0;w<z.length;w++)z[w]!=y&&r.push(z[w]),y=z[w]}b.replaceRange(r.join("\n"),p,q)}},global:function(a,b){var c=b.argString;if(!c)return void Qa(a,"Regular Expression missing from global");var d,e=void 0!==b.line?b.line:a.firstLine(),f=b.lineEnd||b.line||a.lastLine(),g=Ia(c),h=c;if(g.length&&(h=g[0],d=g.slice(1,g.length).join("/")),h)try{Ua(a,h,!0,!0)}catch(b){return void Qa(a,"Invalid regex: "+h)}for(var i=Ga(a).getQuery(),j=[],k="",l=e;l<=f;l++){var m=i.test(a.getLine(l));m&&(j.push(l+1),k+=a.getLine(l)+"<br>")}if(!d)return void Qa(a,k);var n=0,o=function(){if(n<j.length){var b=j[n]+d;Rb.processCommand(a,b,{callback:o})}n++};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,e,f,g,h=b.argString,i=h?Ka(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],j=i[1],c&&"$"===c[c.length-1]&&(c=c.slice(0,c.length-1)+"\\n",j=j?j+"\n":"\n"),void 0!==j&&(j=A("pcre")?Oa(j):Na(j),Db.lastSubstituteReplacePart=j),e=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Qa(a,"Substitutions should be of the form :s/pattern/replace/");if(e&&(f=e[0],g=parseInt(e[1]),f&&(f.indexOf("c")!=-1&&(k=!0,f.replace("c","")),f.indexOf("g")!=-1&&(l=!0,f.replace("g","")),c=c.replace(/\//g,"\\/")+"/"+f)),c)try{Ua(a,c,!0,!0)}catch(b){return void Qa(a,"Invalid regex: "+c)}if(j=j||Db.lastSubstituteReplacePart,void 0===j)return void Qa(a,"No previous substitute regular expression");var m=Ga(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=O(a,d(o,0)),r=a.getSearchCursor(n,q);ab(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){Ya(a)},yank:function(a){var b=W(a.getCursor()),c=b.line,d=a.getLine(c);Db.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!ba(c.argString))return void Qa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(ba(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Qa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Qa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(r(h)&&r(i)||u(h)&&u(i)))return void Qa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Qa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Rb=new Pb;return a.keyMap.vim={attach:h,detach:g,call:m},y("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:h,detach:g,call:m},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:h,detach:g,call:m},D(),Fb};a.Vim=e()})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/addons.js b/media/editors/codemirror/lib/addons.js index a1c737eb02825..8965b567fb7f1 100644 --- a/media/editors/codemirror/lib/addons.js +++ b/media/editors/codemirror/lib/addons.js @@ -1293,12 +1293,14 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { CodeMirror.registerHelper("fold", "xml", function(cm, start) { var iter = new Iter(cm, start.line, 0); for (;;) { - var openTag = toNextTag(iter), end; - if (!openTag || !(end = toTagEnd(iter)) || iter.line != start.line) return; + var openTag = toNextTag(iter) + if (!openTag || iter.line != start.line) return + var end = toTagEnd(iter) + if (!end) return if (!openTag[1] && end != "selfClose") { var startPos = Pos(iter.line, iter.ch); var endPos = findMatchingClose(iter, openTag[2]); - return endPos && {from: startPos, to: endPos.from}; + return endPos && cmp(endPos.from, startPos) > 0 ? {from: startPos, to: endPos.from} : null } } }); @@ -1454,7 +1456,15 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { if (found == stream.pos) { if (!other.parseDelimiters) stream.match(other.open); state.innerActive = other; - state.inner = CodeMirror.startState(other.mode, outer.indent ? outer.indent(state.outer, "") : 0); + + // Get the outer indent, making sure to handle CodeMirror.Pass + var outerIndent = 0; + if (outer.indent) { + var possibleOuterIndent = outer.indent(state.outer, ""); + if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent; + } + + state.inner = CodeMirror.startState(other.mode, outerIndent); return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open"); } else if (found != -1 && found < cutOff) { cutOff = found; @@ -1992,7 +2002,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { var state = cm.state.matchHighlighter; cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style)); if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) { - var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[+*?(){|^$]/g, "\\$&") + "\\b") : query; + var searchFor = hasBoundary ? new RegExp("\\b" + query.replace(/[\\\[.+*?(){|^$]/g, "\\$&") + "\\b") : query; state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false, {className: "CodeMirror-selection-highlight-scrollbar"}); } diff --git a/media/editors/codemirror/lib/addons.min.js b/media/editors/codemirror/lib/addons.min.js index ce94bd717b7cd..b166ac85e52e5 100644 --- a/media/editors/codemirror/lib/addons.min.js +++ b/media/editors/codemirror/lib/addons.min.js @@ -1,2 +1,2 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,b){for(var d=new c(a,b.line,0);;){var e,f=i(d);if(!f||!(e=g(d))||d.line!=b.line)return;if(!f[1]&&"selfClose"!=e){var h=m(d.line,d.ch),j=k(d,f[2]);return j&&{from:h,to:j.from}}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos)return m.parseDelimiters||e.match(m.open),f.innerActive=m,f.inner=a.startState(m.mode,b.indent?b.indent(f.outer,""):0),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open";i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var n=b.token(e,f.outer);return k!=1/0&&(e.string=h),n},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen), -!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.getWrapperElement();a.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:b.style.width,height:b.style.height},b.style.width="",b.style.height="auto",b.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",a.refresh()}function c(a){var b=a.getWrapperElement();b.className=b.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var c=a.state.fullScreenRestore;b.style.width=c.width,b.style.height=c.height,window.scrollTo(c.scrollLeft,c.scrollTop),a.refresh()}a.defineOption("fullScreen",!1,(function(d,e,f){f==a.Init&&(f=!1),!f!=!e&&(e?b(d):c(d))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,c,d){this.cm=a,this.node=b,this.options=c,this.height=d,this.cleared=!1}function c(a){var b=a.getWrapperElement(),c=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,d=parseInt(c.height),e=a.state.panels={setHeight:b.style.height,heightLeft:d,panels:0,wrapper:document.createElement("div")};b.parentNode.insertBefore(e.wrapper,b);var f=a.hasFocus();e.wrapper.appendChild(b),f&&a.focus(),a._setSize=a.setSize,null!=d&&(a.setSize=function(b,c){if(null==c)return this._setSize(b,c);if(e.setHeight=c,"number"!=typeof c){var f=/^(\d+\.?\d*)px$/.exec(c);f?c=Number(f[1]):(e.wrapper.style.height=c,c=e.wrapper.offsetHeight,e.wrapper.style.height="")}a._setSize(b,e.heightLeft+=c-d),d=c})}function d(a){var b=a.state.panels;a.state.panels=null;var c=a.getWrapperElement();b.wrapper.parentNode.replaceChild(c,b.wrapper),c.style.height=b.setHeight,a.setSize=a._setSize,a.setSize()}function e(a,b){for(var c=b.nextSibling;c;c=c.nextSibling)if(c==a.getWrapperElement())return!0;return!1}a.defineExtension("addPanel",(function(a,d){d=d||{},this.state.panels||c(this);var f=this.state.panels,g=f.wrapper,h=this.getWrapperElement();d.after instanceof b&&!d.after.cleared?g.insertBefore(a,d.before.node.nextSibling):d.before instanceof b&&!d.before.cleared?g.insertBefore(a,d.before.node):d.replace instanceof b&&!d.replace.cleared?(g.insertBefore(a,d.replace.node),d.replace.clear()):"bottom"==d.position?g.appendChild(a):"before-bottom"==d.position?g.insertBefore(a,h.nextSibling):"after-top"==d.position?g.insertBefore(a,h):g.insertBefore(a,g.firstChild);var i=d&&d.height||a.offsetHeight;return this._setSize(null,f.heightLeft-=i),f.panels++,d.stable&&e(this,a)&&this.scrollTo(null,this.getScrollInfo().top+i),new b(this,a,d,i)})),b.prototype.clear=function(){if(!this.cleared){this.cleared=!0;var a=this.cm.state.panels;this.cm._setSize(null,a.heightLeft+=this.height),this.options.stable&&e(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),a.wrapper.removeChild(this.node),0==--a.panels&&d(this.cm)}},b.prototype.changed=function(a){var b=null==a?this.node.offsetHeight:a,c=this.cm.state.panels;this.cm._setSize(null,c.heightLeft-=b-this.height),this.height=b}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return i(b,a)}}function e(a){var b=a.state.closeBrackets;if(!b||b.override)return b;var c=a.getModeAt(a.getCursor());return c.closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),c.execCommand("goCharLeft"),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function i(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),i=g.indexOf(d);if(i==-1)return a.Pass;for(var k,m=b(f,"triples"),o=g.charAt(i+1)==d,p=c.listSelections(),q=i%2==0,r=0;r<p.length;r++){var s,t=p[r],u=t.head,v=c.getRange(u,n(u.line,u.ch+1));if(q&&!t.empty())s="surround";else if(!o&&q||v!=d)if(o&&u.ch>1&&m.indexOf(d)>=0&&c.getRange(n(u.line,u.ch-2),u)==d+d){if(u.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(u.line,u.ch-2))))return a.Pass;s="addFour"}else if(o){var w=0==u.ch?" ":c.getRange(n(u.line,u.ch-1),u);if(a.isWordChar(v)||w==d||a.isWordChar(w))return a.Pass;s="both"}else{if(!q||c.getLine(u.line).length!=u.ch&&!j(v,g)&&!/\s/.test(v))return a.Pass;s="both"}else s=o&&l(c,u)?"both":m.indexOf(d)>=0&&c.getRange(u,n(u.line,u.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=s)return a.Pass}else k=s}var x=i%2?g.charAt(i-1):d,y=i%2?d:g.charAt(i+1);c.operation((function(){if("skip"==k)c.execCommand("goCharRight");else if("skipThree"==k)for(var a=0;a<3;a++)c.execCommand("goCharRight");else if("surround"==k){for(var b=c.getSelections(),a=0;a<b.length;a++)b[a]=x+b[a]+y;c.replaceSelections(b,"around"),b=c.listSelections().slice();for(var a=0;a<b.length;a++)b[a]=h(b[a]);c.setSelections(b)}else"both"==k?(c.replaceSelection(x+y,null),c.triggerElectric(x+y),c.execCommand("goCharLeft")):"addFour"==k&&(c.replaceSelection(x+x+x+x,"before"),c.execCommand("goCharRight"))}))}function j(a,b){var c=b.lastIndexOf(a);return c>-1&&c%2==1}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if("xml"!=m.mode.name||!n.tagName)return a.Pass;var o="html"==m.mode.configuration,p="object"==typeof i&&i.dontCloseTags||o&&g,q="object"==typeof i&&i.indentTags||o&&h,r=n.tagName;l.end>k.ch&&(r=r.slice(0,r.length-l.end+k.ch));var s=r.toLowerCase();if(!r||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&"closeTag"==n.type||l.string.indexOf("/")==l.string.length-1||p&&e(p,s)>-1||f(b,r,k,n,!0))return a.Pass;var t=q&&e(q,s)>-1;d[j]={indent:t,text:">"+(t?"\n\n":"")+"</"+r+">",newPos:t?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}for(var u="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var v=d[j];b.replaceRange(v.text,c[j].head,c[j].anchor,"+insert");var w=b.listSelections().slice(0);w[j]={head:v.newPos,anchor:v.newPos},b.setSelections(w),!u&&v.indent&&(b.indentLine(v.newPos.line,null,!0),b.indentLine(v.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o;if("xml"!=m.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==m.mode.name)o=g+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=m.mode.name)return a.Pass;o=g+"style"}else{if(!n.context||!n.context.tagName||f(b,n.context.tagName,k,n))return a.Pass;o=g+n.context.tagName}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,d.line+500),h=a.scanForClosingTag(b,d,null,g);if(!h||h.tag!=c)return!1;for(var i=e.context,j=f?1:0;i&&i.tagName==c;i=i.prev)++j;d=h.to;for(var k=1;k<j;k++){var l=a.scanForClosingTag(b,d,null,g);if(!l||l.tag!=c)return!1;d=l.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};("object"!=typeof e||e.whenClosing)&&(g["'/'"]=function(a){return d(a)}),("object"!=typeof e||e.whenOpening)&&(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation((function(){for(var a=0;a<h.length;a++)h[a].clear()}))};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=d(a,!1,a.state.matchBrackets)}))}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),b.state.matchBrackets&&b.state.matchBrackets.currentlyHighlighted&&(b.state.matchBrackets.currentlyHighlighted(),b.state.matchBrackets.currentlyHighlighted=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))})),a.defineExtension("matchBrackets",(function(){d(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)})),a.defineExtension("scanForBracket",(function(a,b,d,e){return c(this,a,b,d,e)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.registerHelper("fold","brace",(function(b,c){function d(d){for(var h=c.ch,i=0;;){var j=h<=0?-1:g.lastIndexOf(d,h-1);if(j!=-1){if(1==i&&j<c.ch)break;if(e=b.getTokenTypeAt(a.Pos(f,j+1)),!/^(comment|string)/.test(e))return j+1;h=j-1}else{if(1==i)break;i=1,h=g.length}}}var e,f=c.line,g=b.getLine(f),h="{",i="}",j=d("{");if(null==j&&(h="[",i="]",j=d("[")),null!=j){var k,l,m=1,n=b.lastLine();a:for(var o=f;o<=n;++o)for(var p=b.getLine(o),q=o==f?j:0;;){var r=p.indexOf(h,q),s=p.indexOf(i,q);if(r<0&&(r=p.length),s<0&&(s=p.length),q=Math.min(r,s),q==p.length)break;if(b.getTokenTypeAt(a.Pos(o,q+1))==e)if(q==r)++m;else if(!--m){k=o,l=q;break a}++q}if(null!=k&&(f!=k||l!=j))return{from:a.Pos(f,j),to:a.Pos(k,l)}}})),a.registerHelper("fold","import",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));if(/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"keyword"!=d.type||"import"!=d.string)return null;for(var e=c,f=Math.min(b.lastLine(),c+10);e<=f;++e){var g=b.getLine(e),h=g.indexOf(";");if(h!=-1)return{startCh:d.end,end:a.Pos(e,h)}}}var e,f=c.line,g=d(f);if(!g||d(f-1)||(e=d(f-2))&&e.end.line==f-1)return null;for(var h=g.end;;){var i=d(h.line+1);if(null==i)break;h=i.end}return{from:b.clipPos(a.Pos(f,g.startCh+1)),to:h}})),a.registerHelper("fold","include",(function(b,c){function d(c){if(c<b.firstLine()||c>b.lastLine())return null;var d=b.getTokenAt(a.Pos(c,1));return/\S/.test(d.string)||(d=b.getTokenAt(a.Pos(c,d.end+1))),"meta"==d.type&&"#include"==d.string.slice(0,8)?d.start+8:void 0}var e=c.line,f=d(e);if(null==f||null!=d(e-1))return null;for(var g=e;;){var h=d(g+1);if(null==h)break;++g}return{from:a.Pos(e,f+1),to:b.clipPos(a.Pos(g))}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,e,f,g){function h(a){var c=i(b,e);if(!c||c.to.line-c.from.line<j)return null;for(var d=b.findMarksAt(c.from),f=0;f<d.length;++f)if(d[f].__isFold&&"fold"!==g){if(!a)return null;c.cleared=!0,d[f].clear()}return c}if(f&&f.call){var i=f;f=null}else var i=d(b,f,"rangeFinder");"number"==typeof e&&(e=a.Pos(e,0));var j=d(b,f,"minFoldSize"),k=h(!0);if(d(b,f,"scanUp"))for(;!k&&e.line>b.firstLine();)e=a.Pos(e.line-1,0),k=h(!1);if(k&&!k.cleared&&"unfold"!==g){var l=c(b,f);a.on(l,"mousedown",(function(b){m.clear(),a.e_preventDefault(b)}));var m=b.markText(k.from,k.to,{replacedWith:l,clearOnEnter:d(b,f,"clearOnEnter"),__isFold:!0});m.on("clear",(function(c,d){a.signal(b,"unfold",b,c,d)})),a.signal(b,"fold",b,k.from,k.to)}}function c(a,b){var c=d(a,b,"widget");if("string"==typeof c){var e=document.createTextNode(c);c=document.createElement("span"),c.appendChild(e),c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function d(a,b,c){if(b&&void 0!==b[c])return b[c];var d=a.options.foldOptions;return d&&void 0!==d[c]?d[c]:e[c]}a.newFoldFunction=function(a,c){return function(d,e){b(d,e,{rangeFinder:a,widget:c})}},a.defineExtension("foldCode",(function(a,c,d){b(this,a,c,d)})),a.defineExtension("isFolded",(function(a){for(var b=this.findMarksAt(a),c=0;c<b.length;++c)if(b[c].__isFold)return!0})),a.commands.toggleFold=function(a){a.foldCode(a.getCursor())},a.commands.fold=function(a){a.foldCode(a.getCursor(),null,"fold")},a.commands.unfold=function(a){a.foldCode(a.getCursor(),null,"unfold")},a.commands.foldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"fold")}))},a.commands.unfoldAll=function(b){b.operation((function(){for(var c=b.firstLine(),d=b.lastLine();c<=d;c++)b.foldCode(a.Pos(c,0),null,"unfold")}))},a.registerHelper("fold","combine",(function(){var a=Array.prototype.slice.call(arguments,0);return function(b,c){for(var d=0;d<a.length;++d){var e=a[d](b,c);if(e)return e}}})),a.registerHelper("fold","auto",(function(a,b){for(var c=a.getHelpers(b,"fold"),d=0;d<c.length;d++){var e=c[d](a,b);if(e)return e}}));var e={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null),a.defineExtension("foldOption",(function(a,b){return d(this,a,b)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options=a,this.from=this.to=0}function c(a){return a===!0&&(a={}),null==a.gutter&&(a.gutter="CodeMirror-foldgutter"),null==a.indicatorOpen&&(a.indicatorOpen="CodeMirror-foldgutter-open"),null==a.indicatorFolded&&(a.indicatorFolded="CodeMirror-foldgutter-folded"),a}function d(a,b){for(var c=a.findMarks(l(b,0),l(b+1,0)),d=0;d<c.length;++d)if(c[d].__isFold&&c[d].find().from.line==b)return c[d]}function e(a){if("string"==typeof a){var b=document.createElement("div");return b.className=a+" CodeMirror-guttermarker-subtle",b}return a.cloneNode(!0)}function f(a,b,c){var f=a.state.foldGutter.options,g=b,h=a.foldOption(f,"minFoldSize"),i=a.foldOption(f,"rangeFinder");a.eachLine(b,c,(function(b){var c=null;if(d(a,g))c=e(f.indicatorFolded);else{var j=l(g,0),k=i&&i(a,j);k&&k.to.line-k.from.line>=h&&(c=e(f.indicatorOpen))}a.setGutterMarker(b,f.gutter,c),++g}))}function g(a){var b=a.getViewport(),c=a.state.foldGutter;c&&(a.operation((function(){f(a,b.from,b.to)})),c.from=b.from,c.to=b.to)}function h(a,b,c){var e=a.state.foldGutter;if(e){var f=e.options;if(c==f.gutter){var g=d(a,b);g?g.clear():a.foldCode(l(b,0),f.rangeFinder)}}}function i(a){var b=a.state.foldGutter;if(b){var c=b.options;b.from=b.to=0,clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){g(a)}),c.foldOnChangeTimeSpan||600)}}function j(a){var b=a.state.foldGutter;if(b){var c=b.options;clearTimeout(b.changeUpdate),b.changeUpdate=setTimeout((function(){var c=a.getViewport();b.from==b.to||c.from-b.to>20||b.from-c.to>20?g(a):a.operation((function(){c.from<b.from&&(f(a,c.from,b.from),b.from=c.from),c.to>b.to&&(f(a,b.to,c.to),b.to=c.to)}))}),c.updateViewportTimeSpan||400)}}function k(a,b){var c=a.state.foldGutter;if(c){var d=b.line;d>=c.from&&d<c.to&&f(a,d,d+1)}}a.defineOption("foldGutter",!1,(function(d,e,f){f&&f!=a.Init&&(d.clearGutter(d.state.foldGutter.options.gutter),d.state.foldGutter=null,d.off("gutterClick",h),d.off("change",i),d.off("viewportChange",j),d.off("fold",k),d.off("unfold",k),d.off("swapDoc",i)),e&&(d.state.foldGutter=new b(c(e)),g(d),d.on("gutterClick",h),d.on("change",i),d.on("viewportChange",j),d.on("fold",k),d.on("unfold",k),d.on("swapDoc",i))}));var l=a.Pos})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){return a.line-b.line||a.ch-b.ch}function c(a,b,c,d){this.line=b,this.ch=c,this.cm=a,this.text=a.getLine(b),this.min=d?Math.max(d.from,a.firstLine()):a.firstLine(),this.max=d?Math.min(d.to-1,a.lastLine()):a.lastLine()}function d(a,b){var c=a.cm.getTokenTypeAt(m(a.line,b));return c&&/\btag\b/.test(c)}function e(a){if(!(a.line>=a.max))return a.ch=0,a.text=a.cm.getLine(++a.line),!0}function f(a){if(!(a.line<=a.min))return a.text=a.cm.getLine(--a.line),a.ch=a.text.length,!0}function g(a){for(;;){var b=a.text.indexOf(">",a.ch);if(b==-1){if(e(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),f=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,f?"selfClose":"regular"}a.ch=b+1}}}function h(a){for(;;){var b=a.ch?a.text.lastIndexOf("<",a.ch-1):-1;if(b==-1){if(f(a))continue;return}if(d(a,b+1)){p.lastIndex=b,a.ch=b;var c=p.exec(a.text);if(c&&c.index==b)return c}else a.ch=b}}function i(a){for(;;){p.lastIndex=a.ch;var b=p.exec(a.text);if(!b){if(e(a))continue;return}{if(d(a,b.index+1))return a.ch=b.index+b[0].length,b;a.ch=b.index+1}}}function j(a){for(;;){var b=a.ch?a.text.lastIndexOf(">",a.ch-1):-1;if(b==-1){if(f(a))continue;return}{if(d(a,b+1)){var c=a.text.lastIndexOf("/",b),e=c>-1&&!/\S/.test(a.text.slice(c+1,b));return a.ch=b+1,e?"selfClose":"regular"}a.ch=b}}}function k(a,b){for(var c=[];;){var d,e=i(a),f=a.line,h=a.ch-(e?e[0].length:0);if(!e||!(d=g(a)))return;if("selfClose"!=d)if(e[1]){for(var j=c.length-1;j>=0;--j)if(c[j]==e[2]){c.length=j;break}if(j<0&&(!b||b==e[2]))return{tag:e[2],from:m(f,h),to:m(a.line,a.ch)}}else c.push(e[2])}}function l(a,b){for(var c=[];;){var d=j(a);if(!d)return;if("selfClose"!=d){var e=a.line,f=a.ch,g=h(a);if(!g)return;if(g[1])c.push(g[2]);else{for(var i=c.length-1;i>=0;--i)if(c[i]==g[2]){c.length=i;break}if(i<0&&(!b||b==g[2]))return{tag:g[2],from:m(a.line,a.ch),to:m(e,f)}}}else h(a)}}var m=a.Pos,n="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",o=n+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+n+"]["+o+"]*)","g");a.registerHelper("fold","xml",(function(a,d){for(var e=new c(a,d.line,0);;){var f=i(e);if(!f||e.line!=d.line)return;var h=g(e);if(!h)return;if(!f[1]&&"selfClose"!=h){var j=m(e.line,e.ch),l=k(e,f[2]);return l&&b(l.from,j)>0?{from:j,to:l.from}:null}}})),a.findMatchingTag=function(a,d,e){var f=new c(a,d.line,d.ch,e);if(f.text.indexOf(">")!=-1||f.text.indexOf("<")!=-1){var i=g(f),j=i&&m(f.line,f.ch),n=i&&h(f);if(i&&n&&!(b(f,d)>0)){var o={from:m(f.line,f.ch),to:j,tag:n[2]};return"selfClose"==i?{open:o,close:null,at:"open"}:n[1]?{open:l(f,n[2]),close:o,at:"close"}:(f=new c(a,j.line,j.ch,e),{open:o,close:k(f,n[2]),at:"open"})}}},a.findEnclosingTag=function(a,b,d,e){for(var f=new c(a,b.line,b.ch,d);;){var g=l(f,e);if(!g)break;var h=new c(a,b.line,b.ch,d),i=k(h,g.tag);if(i)return{open:g,close:i}}},a.scanForClosingTag=function(a,b,d,e){var f=new c(a,b.line,b.ch,e?{from:0,to:e}:null);return k(f,d)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(b){a(b,"amd")})):a(CodeMirror,"plain")})((function(a,b){function c(a,b){var c=b;return function(){0==--c&&a()}}function d(b,d){var e=a.modes[b].dependencies;if(!e)return d();for(var f=[],g=0;g<e.length;++g)a.modes.hasOwnProperty(e[g])||f.push(e[g]);if(!f.length)return d();for(var h=c(d,f.length),g=0;g<f.length;++g)a.requireMode(f[g],h)}a.modeURL||(a.modeURL="../mode/%N/%N.js");var e={};a.requireMode=function(c,f){if("string"!=typeof c&&(c=c.name),a.modes.hasOwnProperty(c))return d(c,f);if(e.hasOwnProperty(c))return e[c].push(f);var g=a.modeURL.replace(/%N/g,c);if("plain"==b){var h=document.createElement("script");h.src=g;var i=document.getElementsByTagName("script")[0],j=e[c]=[f];a.on(h,"load",(function(){d(c,(function(){for(var a=0;a<j.length;++a)j[a]()}))})),i.parentNode.insertBefore(h,i)}else"cjs"==b?(require(g),f()):"amd"==b&&requirejs([g],f)},a.autoLoadMode=function(b,c){a.modes.hasOwnProperty(c)||a.requireMode(c,(function(){b.setOption("mode",b.getOption("mode"))}))}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.multiplexingMode=function(b){function c(a,b,c,d){if("string"==typeof b){var e=a.indexOf(b,c);return d&&e>-1?e+b.length:e}var f=b.exec(c?a.slice(c):a);return f?f.index+c+(d?f[0].length:0):-1}var d=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(b),innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(b,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(e,f){if(f.innerActive){var g=f.innerActive,h=e.string;if(!g.close&&e.sol())return f.innerActive=f.inner=null,this.token(e,f);var i=g.close?c(h,g.close,e.pos,g.parseDelimiters):-1;if(i==e.pos&&!g.parseDelimiters)return e.match(g.close),f.innerActive=f.inner=null,g.delimStyle&&g.delimStyle+" "+g.delimStyle+"-close";i>-1&&(e.string=h.slice(0,i));var j=g.mode.token(e,f.inner);return i>-1&&(e.string=h),i==e.pos&&g.parseDelimiters&&(f.innerActive=f.inner=null),g.innerStyle&&(j=j?j+" "+g.innerStyle:g.innerStyle),j}for(var k=1/0,h=e.string,l=0;l<d.length;++l){var m=d[l],i=c(h,m.open,e.pos);if(i==e.pos){m.parseDelimiters||e.match(m.open),f.innerActive=m;var n=0;if(b.indent){var o=b.indent(f.outer,"");o!==a.Pass&&(n=o)}return f.inner=a.startState(m.mode,n),m.delimStyle&&m.delimStyle+" "+m.delimStyle+"-open"}i!=-1&&i<k&&(k=i)}k!=1/0&&(e.string=h.slice(0,k));var p=b.token(e,f.outer);return k!=1/0&&(e.string=h),p},indent:function(c,d){var e=c.innerActive?c.innerActive.mode:b;return e.indent?e.indent(c.innerActive?c.inner:c.outer,d):a.Pass},blankLine:function(c){var e=c.innerActive?c.innerActive.mode:b;if(e.blankLine&&e.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var f=0;f<d.length;++f){var g=d[f];"\n"===g.open&&(c.innerActive=g,c.inner=a.startState(g.mode,e.indent?e.indent(c.outer,""):0))}},electricChars:b.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:b}}}}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){function c(a){clearTimeout(d.doRedraw),d.doRedraw=setTimeout((function(){d.redraw()}),a)}this.cm=a,this.options=b,this.buttonHeight=b.scrollButtonHeight||a.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=a.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var d=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(d.doUpdate),d.doUpdate=setTimeout((function(){d.computeScale()&&c(20)}),100)}),a.on("markerAdded",this.resizeHandler),a.on("markerCleared",this.resizeHandler),b.listenForChanges!==!1&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",(function(a){return"string"==typeof a&&(a={className:a}),new b(this,a)})),a.defineOption("scrollButtonHeight",0),b.prototype.computeScale=function(){var a=this.cm,b=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(b!=this.hScale)return this.hScale=b,!0},b.prototype.update=function(a){this.annotations=a,this.redraw()},b.prototype.redraw=function(a){function b(a,b){if(i!=a.line&&(i=a.line,j=c.getLineHandle(i)),j.widgets&&j.widgets.length||g&&j.height>h)return c.charCoords(a,"local")[b?"top":"bottom"];var d=c.heightAtLine(j,"local");return d+(b?0:j.height)}a!==!1&&this.computeScale();var c=this.cm,d=this.hScale,e=document.createDocumentFragment(),f=this.annotations,g=c.getOption("lineWrapping"),h=g&&1.5*c.defaultTextHeight(),i=null,j=null,k=c.lastLine();if(c.display.barWidth)for(var l,m=0;m<f.length;m++){var n=f[m];if(!(n.to.line>k)){for(var o=l||b(n.from,!0)*d,p=b(n.to,!1)*d;m<f.length-1&&!(f[m+1].to.line>k)&&(l=b(f[m+1].from,!0)*d,!(l>p+.9));)n=f[++m],p=b(n.to,!1)*d;if(p!=o){var q=Math.max(p-o,3),r=e.appendChild(document.createElement("div"));r.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(o+this.buttonHeight)+"px; height: "+q+"px",r.className=this.options.className,n.id&&r.setAttribute("annotation-id",n.id)}}}this.div.textContent="",this.div.appendChild(e)},b.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(b,c,d){function e(b){var c=a.wheelEventPixels(b)["horizontal"==f.orientation?"x":"y"],d=f.pos;f.moveTo(f.pos+c),f.pos!=d&&a.e_preventDefault(b)}this.orientation=c,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=b+"-"+c,this.inner=this.node.appendChild(document.createElement("div"));var f=this;a.on(this.inner,"mousedown",(function(b){function c(){a.off(document,"mousemove",d),a.off(document,"mouseup",c)}function d(a){return 1!=a.which?c():void f.moveTo(h+(a[e]-g)*(f.total/f.size))}if(1==b.which){a.e_preventDefault(b);var e="horizontal"==f.orientation?"pageX":"pageY",g=b[e],h=f.pos;a.on(document,"mousemove",d),a.on(document,"mouseup",c)}})),a.on(this.node,"click",(function(b){a.e_preventDefault(b);var c,d=f.inner.getBoundingClientRect();c="horizontal"==f.orientation?b.clientX<d.left?-1:b.clientX>d.right?1:0:b.clientY<d.top?-1:b.clientY>d.bottom?1:0,f.moveTo(f.pos+c*f.screen)})),a.on(this.node,"mousewheel",e),a.on(this.node,"DOMMouseScroll",e)}function c(a,c,d){this.addClass=a,this.horiz=new b(a,"horizontal",d),c(this.horiz.node),this.vert=new b(a,"vertical",d),c(this.vert.node),this.width=null; +}b.prototype.setPos=function(a,b){return a<0&&(a=0),a>this.total-this.screen&&(a=this.total-this.screen),!(!b&&a==this.pos)&&(this.pos=a,this.inner.style["horizontal"==this.orientation?"left":"top"]=a*(this.size/this.total)+"px",!0)},b.prototype.moveTo=function(a){this.setPos(a)&&this.scroll(a,this.orientation)};var d=10;b.prototype.update=function(a,b,c){var e=this.screen!=b||this.total!=a||this.size!=c;e&&(this.screen=b,this.total=a,this.size=c);var f=this.screen*(this.size/this.total);f<d&&(this.size-=d-f,f=d),this.inner.style["horizontal"==this.orientation?"width":"height"]=f+"px",this.setPos(this.pos,e)},c.prototype.update=function(a){if(null==this.width){var b=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;b&&(this.width=parseInt(b.height))}var c=this.width||0,d=a.scrollWidth>a.clientWidth+1,e=a.scrollHeight>a.clientHeight+1;return this.vert.node.style.display=e?"block":"none",this.horiz.node.style.display=d?"block":"none",e&&(this.vert.update(a.scrollHeight,a.clientHeight,a.viewHeight-(d?c:0)),this.vert.node.style.bottom=d?c+"px":"0"),d&&(this.horiz.update(a.scrollWidth,a.clientWidth,a.viewWidth-(e?c:0)-a.barLeft),this.horiz.node.style.right=e?c+"px":"0",this.horiz.node.style.left=a.barLeft+"px"),{right:e?c:0,bottom:d?c:0}},c.prototype.setScrollTop=function(a){this.vert.setPos(a)},c.prototype.setScrollLeft=function(a){this.horiz.setPos(a)},c.prototype.clear=function(){var a=this.horiz.node.parentNode;a.removeChild(this.horiz.node),a.removeChild(this.vert.node)},a.scrollbarModel.simple=function(a,b){return new c("CodeMirror-simplescroll",a,b)},a.scrollbarModel.overlay=function(a,b){return new c("CodeMirror-overlayscroll",a,b)}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d){this.cm=a,this.options=d;var e={listenForChanges:!1};for(var f in d)e[f]=d[f];e.className||(e.className="CodeMirror-search-match"),this.annotation=a.annotateScrollbar(e),this.query=b,this.caseFold=c,this.gap={from:a.firstLine(),to:a.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var g=this;a.on("change",this.changeHandler=function(a,b){g.onChange(b)})}function c(a,b,c){return a<=b?a:Math.max(b,a+c)}a.defineExtension("showMatchesOnScrollbar",(function(a,c,d){return"string"==typeof d&&(d={className:d}),d||(d={}),new b(this,a,c,d)}));var d=1e3;b.prototype.findMatches=function(){if(this.gap){for(var b=0;b<this.matches.length;b++){var c=this.matches[b];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(b--,1)}for(var e=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),f=this.options&&this.options.maxMatches||d;e.findNext();){var c={from:e.from(),to:e.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(b++,0,c),this.matches.length>f)break}this.gap=null}},b.prototype.onChange=function(b){var d=b.from.line,e=a.changeEnd(b).line,f=e-b.to.line;if(this.gap?(this.gap.from=Math.min(c(this.gap.from,d,f),b.from.line),this.gap.to=Math.max(c(this.gap.to,d,f),b.from.line)):this.gap={from:b.from.line,to:e+1},f)for(var g=0;g<this.matches.length;g++){var h=this.matches[g],i=c(h.from.line,d,f);i!=h.from.line&&(h.from=a.Pos(i,h.from.ch));var j=c(h.to.line,d,f);j!=h.to.line&&(h.to=a.Pos(j,h.to.ch))}clearTimeout(this.update);var k=this;this.update=setTimeout((function(){k.updateAfterChange()}),250)},b.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},b.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})((function(a){"use strict";function b(a){this.options={};for(var b in l)this.options[b]=(a&&a.hasOwnProperty(b)?a:l)[b];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function c(a){var b=a.state.matchHighlighter;(b.active||a.hasFocus())&&e(a,b)}function d(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,e(a,b))}function e(a,b){clearTimeout(b.timeout),b.timeout=setTimeout((function(){h(a)}),b.options.delay)}function f(a,b,c,d){var e=a.state.matchHighlighter;if(a.addOverlay(e.overlay=k(b,c,d)),e.options.annotateScrollbar&&a.showMatchesOnScrollbar){var f=c?new RegExp("\\b"+b.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+"\\b"):b;e.matchesonscroll=a.showMatchesOnScrollbar(f,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function g(a){var b=a.state.matchHighlighter;b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation((function(){var b=a.state.matchHighlighter;if(g(a),!a.somethingSelected()&&b.options.showToken){for(var c=b.options.showToken===!0?/[\w$]/:b.options.showToken,d=a.getCursor(),e=a.getLine(d.line),h=d.ch,j=h;h&&c.test(e.charAt(h-1));)--h;for(;j<e.length&&c.test(e.charAt(j));)++j;return void(h<j&&f(a,e.slice(h,j),c,b.options.style))}var k=a.getCursor("from"),l=a.getCursor("to");if(k.line==l.line&&(!b.options.wordsOnly||i(a,k,l))){var m=a.getRange(k,l);b.options.trim&&(m=m.replace(/^\s+|\s+$/g,"")),m.length>=b.options.minChars&&f(a,m,!1,b.options.style)}}))}function i(a,b,c){var d=a.getRange(b,c);if(null!==d.match(/^\w+$/)){if(b.ch>0){var e={line:b.line,ch:b.ch-1},f=a.getRange(e,b);if(null===f.match(/\W/))return!1}if(c.ch<a.getLine(b.line).length){var e={line:c.line,ch:c.ch+1},f=a.getRange(c,e);if(null===f.match(/\W/))return!1}return!0}return!1}function j(a,b){return!(a.start&&b.test(a.string.charAt(a.start-1))||a.pos!=a.string.length&&b.test(a.string.charAt(a.pos)))}function k(a,b,c){return{token:function(d){return!d.match(a)||b&&!j(d,b)?(d.next(),void(d.skipTo(a.charAt(0))||d.skipToEnd())):c}}}var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,(function(e,f,i){if(i&&i!=a.Init&&(g(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",c),e.off("focus",d)),f){var j=e.state.matchHighlighter=new b(f);e.hasFocus()?(j.active=!0,h(e)):e.on("focus",d),e.on("cursorActivity",c)}}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){var b=a.flags;return null!=b?b:(a.ignoreCase?"i":"")+(a.global?"g":"")+(a.multiline?"m":"")}function c(a,c){for(var d=b(a),e=d,f=0;f<c.length;f++)e.indexOf(c.charAt(f))==-1&&(e+=c.charAt(f));return d==e?a:new RegExp(a.source,e)}function d(a){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source)}function e(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,g=a.lastLine();e<=g;e++,f=0){b.lastIndex=f;var h=a.getLine(e),i=b.exec(h);if(i)return{from:p(e,i.index),to:p(e,i.index+i[0].length),match:i}}}function f(a,b,f){if(!d(b))return e(a,b,f);b=c(b,"gm");for(var g,h=1,i=f.line,j=a.lastLine();i<=j;){for(var k=0;k<h&&!(i>j);k++){var l=a.getLine(i++);g=null==g?l:g+"\n"+l}h=2*h,b.lastIndex=f.ch;var m=b.exec(g);if(m){var n=g.slice(0,m.index).split("\n"),o=m[0].split("\n"),q=f.line+n.length-1,r=n[n.length-1].length;return{from:p(q,r),to:p(q+o.length-1,1==o.length?r+o[0].length:o[o.length-1].length),match:m}}}}function g(a,b){for(var c,d=0;;){b.lastIndex=d;var e=b.exec(a);if(!e)return c;if(c=e,d=c.index+(c[0].length||1),d==a.length)return c}}function h(a,b,d){b=c(b,"g");for(var e=d.line,f=d.ch,h=a.firstLine();e>=h;e--,f=-1){var i=a.getLine(e);f>-1&&(i=i.slice(0,f));var j=g(i,b);if(j)return{from:p(e,j.index),to:p(e,j.index+j[0].length),match:j}}}function i(a,b,d){b=c(b,"gm");for(var e,f=1,h=d.line,i=a.firstLine();h>=i;){for(var j=0;j<f;j++){var k=a.getLine(h--);e=null==e?k.slice(0,d.ch):k+"\n"+e}f*=2;var l=g(e,b);if(l){var m=e.slice(0,l.index).split("\n"),n=l[0].split("\n"),o=h+m.length,q=m[m.length-1].length;return{from:p(o,q),to:p(o+n.length-1,1==n.length?q+n[0].length:n[n.length-1].length),match:l}}}}function j(a,b,c,d){if(a.length==b.length)return c;for(var e=0,f=c+Math.max(0,a.length-b.length);;){if(e==f)return e;var g=e+f>>1,h=d(a.slice(0,g)).length;if(h==c)return g;h>c?f=g:e=g+1}}function k(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.lastLine()+1-f.length;g<=i;g++,h=0){var k=a.getLine(g).slice(h),l=e(k);if(1==f.length){var m=l.indexOf(f[0]);if(m==-1)continue a;var c=j(k,l,m,e)+h;return{from:p(g,j(k,l,m,e)+h),to:p(g,j(k,l,m+f[0].length,e)+h)}}var q=l.length-f[0].length;if(l.slice(q)==f[0]){for(var r=1;r<f.length-1;r++)if(e(a.getLine(g+r))!=f[r])continue a;var s=a.getLine(g+f.length-1),t=e(s),u=f[f.length-1];if(t.slice(0,u.length)==u)return{from:p(g,j(k,l,q,e)+h),to:p(g+f.length-1,j(s,t,u.length,e))}}}}function l(a,b,c,d){if(!b.length)return null;var e=d?n:o,f=e(b).split(/\r|\n\r?/);a:for(var g=c.line,h=c.ch,i=a.firstLine()-1+f.length;g>=i;g--,h=-1){var k=a.getLine(g);h>-1&&(k=k.slice(0,h));var l=e(k);if(1==f.length){var m=l.lastIndexOf(f[0]);if(m==-1)continue a;return{from:p(g,j(k,l,m,e)),to:p(g,j(k,l,m+f[0].length,e))}}var q=f[f.length-1];if(l.slice(0,q.length)==q){for(var r=1,c=g-f.length+1;r<f.length-1;r++)if(e(a.getLine(c+r))!=f[r])continue a;var s=a.getLine(g+1-f.length),t=e(s);if(t.slice(t.length-f[0].length)==f[0])return{from:p(g+1-f.length,j(s,t,s.length-f[0].length,e)),to:p(g,j(k,l,q.length,e))}}}}function m(a,b,d,g){this.atOccurrence=!1,this.doc=a,d=d?a.clipPos(d):p(0,0),this.pos={from:d,to:d};var j;"object"==typeof g?j=g.caseFold:(j=g,g=null),"string"==typeof b?(null==j&&(j=!1),this.matches=function(c,d){return(c?l:k)(a,b,d,j)}):(b=c(b,"gm"),g&&g.multiline===!1?this.matches=function(c,d){return(c?h:e)(a,b,d)}:this.matches=function(c,d){return(c?i:f)(a,b,d)})}var n,o,p=a.Pos;String.prototype.normalize?(n=function(a){return a.normalize("NFD").toLowerCase()},o=function(a){return a.normalize("NFD")}):(n=function(a){return a.toLowerCase()},o=function(a){return a}),m.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=p(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(p(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=p(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,p(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;var d=p(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:d,to:d},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c),this.pos.to=p(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:0))}}},a.defineExtension("getSearchCursor",(function(a,b,c){return new m(this.doc,a,b,c)})),a.defineDocExtension("getSearchCursor",(function(a,b,c){return new m(this,a,b,c)})),a.defineExtension("selectMatches",(function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(a.cmpPos(e.to(),this.getCursor("to"))>0);)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){for(var b=0;b<a.state.activeLines.length;b++)a.removeLineClass(a.state.activeLines[b],"wrap",f),a.removeLineClass(a.state.activeLines[b],"background",g),a.removeLineClass(a.state.activeLines[b],"gutter",h)}function c(a,b){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}function d(a,d){for(var e=[],i=0;i<d.length;i++){var j=d[i],k=a.getOption("styleActiveLine");if("object"==typeof k&&k.nonEmpty?j.anchor.line==j.head.line:j.empty()){var l=a.getLineHandleVisualStart(j.head.line);e[e.length-1]!=l&&e.push(l)}}c(a.state.activeLines,e)||a.operation((function(){b(a);for(var c=0;c<e.length;c++)a.addLineClass(e[c],"wrap",f),a.addLineClass(e[c],"background",g),a.addLineClass(e[c],"gutter",h);a.state.activeLines=e}))}function e(a,b){d(a,b.ranges)}var f="CodeMirror-activeline",g="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,(function(c,f,g){var h=g!=a.Init&&g;f!=h&&(h&&(c.off("beforeSelectionChange",e),b(c),delete c.state.activeLines),f&&(c.state.activeLines=[],d(c,c.listSelections()),c.on("beforeSelectionChange",e)))}))})),(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror")):"function"==typeof define&&define.amd?define(["../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var b=0;b<a.modeInfo.length;b++){var c=a.modeInfo[b];c.mimes&&(c.mime=c.mimes[0])}a.findModeByMIME=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.mime==b)return d;if(d.mimes)for(var e=0;e<d.mimes.length;e++)if(d.mimes[e]==b)return d}return/\+xml$/.test(b)?a.findModeByMIME("application/xml"):/\+json$/.test(b)?a.findModeByMIME("application/json"):void 0},a.findModeByExtension=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.ext)for(var e=0;e<d.ext.length;e++)if(d.ext[e]==b)return d}},a.findModeByFileName=function(b){for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.file&&d.file.test(b))return d}var e=b.lastIndexOf("."),f=e>-1&&b.substring(e+1,b.length);if(f)return a.findModeByExtension(f)},a.findModeByName=function(b){b=b.toLowerCase();for(var c=0;c<a.modeInfo.length;c++){var d=a.modeInfo[c];if(d.name.toLowerCase()==b)return d;if(d.alias)for(var e=0;e<d.alias.length;e++)if(d.alias[e].toLowerCase()==b)return d}}})); \ No newline at end of file diff --git a/media/editors/codemirror/lib/codemirror.js b/media/editors/codemirror/lib/codemirror.js index fb376526e16ea..14e4bdebfda82 100644 --- a/media/editors/codemirror/lib/codemirror.js +++ b/media/editors/codemirror/lib/codemirror.js @@ -4796,7 +4796,7 @@ function addChangeToHistory(doc, change, selAfter, opId) { if ((hist.lastOp == opId || hist.lastOrigin == change.origin && change.origin && - ((change.origin.charAt(0) == "+" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) || + ((change.origin.charAt(0) == "+" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) || change.origin.charAt(0) == "*")) && (cur = lastChangeEvent(hist, hist.lastOp == opId))) { // Merge this change into the last event @@ -5410,7 +5410,7 @@ function makeChangeSingleDocInEditor(cm, change, spans) { function replaceRange(doc, code, from, to, origin) { if (!to) { to = from; } if (cmp(to, from) < 0) { var assign; - (assign = [to, from], from = assign[0], to = assign[1], assign); } + (assign = [to, from], from = assign[0], to = assign[1]); } if (typeof code == "string") { code = doc.splitLines(code); } makeChange(doc, {from: from, to: to, text: code, origin: origin}); } @@ -5506,10 +5506,10 @@ function LeafChunk(lines) { } LeafChunk.prototype = { - chunkSize: function chunkSize() { return this.lines.length }, + chunkSize: function() { return this.lines.length }, // Remove the n lines at offset 'at'. - removeInner: function removeInner(at, n) { + removeInner: function(at, n) { var this$1 = this; for (var i = at, e = at + n; i < e; ++i) { @@ -5522,13 +5522,13 @@ LeafChunk.prototype = { }, // Helper used to collapse a small branch into a single leaf. - collapse: function collapse(lines) { + collapse: function(lines) { lines.push.apply(lines, this.lines); }, // Insert the given array of lines at offset 'at', count them as // having the given height. - insertInner: function insertInner(at, lines, height) { + insertInner: function(at, lines, height) { var this$1 = this; this.height += height; @@ -5537,7 +5537,7 @@ LeafChunk.prototype = { }, // Used to iterate over a part of the tree. - iterN: function iterN(at, n, op) { + iterN: function(at, n, op) { var this$1 = this; for (var e = at + n; at < e; ++at) @@ -5561,9 +5561,9 @@ function BranchChunk(children) { } BranchChunk.prototype = { - chunkSize: function chunkSize() { return this.size }, + chunkSize: function() { return this.size }, - removeInner: function removeInner(at, n) { + removeInner: function(at, n) { var this$1 = this; this.size -= n; @@ -5589,13 +5589,13 @@ BranchChunk.prototype = { } }, - collapse: function collapse(lines) { + collapse: function(lines) { var this$1 = this; for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines); } }, - insertInner: function insertInner(at, lines, height) { + insertInner: function(at, lines, height) { var this$1 = this; this.size += lines.length; @@ -5624,7 +5624,7 @@ BranchChunk.prototype = { }, // When a node has grown, check whether it should be split. - maybeSpill: function maybeSpill() { + maybeSpill: function() { if (this.children.length <= 10) { return } var me = this; do { @@ -5646,7 +5646,7 @@ BranchChunk.prototype = { me.parent.maybeSpill(); }, - iterN: function iterN(at, n, op) { + iterN: function(at, n, op) { var this$1 = this; for (var i = 0; i < this.children.length; ++i) { @@ -7324,8 +7324,8 @@ function leftButtonStartDrag(cm, event, pos, behavior) { var dragEnd = operation(cm, function (e) { if (webkit) { display.scroller.draggable = false; } cm.state.draggingText = false; - off(document, "mouseup", dragEnd); - off(document, "mousemove", mouseMove); + off(display.wrapper.ownerDocument, "mouseup", dragEnd); + off(display.wrapper.ownerDocument, "mousemove", mouseMove); off(display.scroller, "dragstart", dragStart); off(display.scroller, "drop", dragEnd); if (!moved) { @@ -7334,7 +7334,7 @@ function leftButtonStartDrag(cm, event, pos, behavior) { { extendSelection(cm.doc, pos, null, null, behavior.extend); } // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) if (webkit || ie && ie_version == 9) - { setTimeout(function () {document.body.focus(); display.input.focus();}, 20); } + { setTimeout(function () {display.wrapper.ownerDocument.body.focus(); display.input.focus();}, 20); } else { display.input.focus(); } } @@ -7349,8 +7349,8 @@ function leftButtonStartDrag(cm, event, pos, behavior) { dragEnd.copy = !behavior.moveOnDrag; // IE's approach to draggable if (display.scroller.dragDrop) { display.scroller.dragDrop(); } - on(document, "mouseup", dragEnd); - on(document, "mousemove", mouseMove); + on(display.wrapper.ownerDocument, "mouseup", dragEnd); + on(display.wrapper.ownerDocument, "mousemove", mouseMove); on(display.scroller, "dragstart", dragStart); on(display.scroller, "drop", dragEnd); @@ -7482,8 +7482,8 @@ function leftButtonSelect(cm, event, start, behavior) { counter = Infinity; e_preventDefault(e); display.input.focus(); - off(document, "mousemove", move); - off(document, "mouseup", up); + off(display.wrapper.ownerDocument, "mousemove", move); + off(display.wrapper.ownerDocument, "mouseup", up); doc.history.lastSelOrigin = null; } @@ -7493,8 +7493,8 @@ function leftButtonSelect(cm, event, start, behavior) { }); var up = operation(cm, done); cm.state.selectingText = up; - on(document, "mousemove", move); - on(document, "mouseup", up); + on(display.wrapper.ownerDocument, "mousemove", move); + on(display.wrapper.ownerDocument, "mouseup", up); } // Used when mouse-selecting to adjust the anchor to the proper side @@ -9017,7 +9017,7 @@ ContentEditableInput.prototype.setUneditable = function (node) { }; ContentEditableInput.prototype.onKeyPress = function (e) { - if (e.charCode == 0) { return } + if (e.charCode == 0 || this.composing) { return } e.preventDefault(); if (!this.cm.isReadOnly()) { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); } @@ -9199,13 +9199,10 @@ TextareaInput.prototype.init = function (display) { var this$1 = this; var input = this, cm = this.cm; + this.createField(display); + var te = this.textarea; - // Wraps and hides input textarea - var div = this.wrapper = hiddenTextarea(); - // The semihidden textarea that is focused when the editor is - // focused, and receives input. - var te = this.textarea = div.firstChild; - display.wrapper.insertBefore(div, display.wrapper.firstChild); + display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild); // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) if (ios) { te.style.width = "0px"; } @@ -9272,6 +9269,14 @@ TextareaInput.prototype.init = function (display) { }); }; +TextareaInput.prototype.createField = function (_display) { + // Wraps and hides input textarea + this.wrapper = hiddenTextarea(); + // The semihidden textarea that is focused when the editor is + // focused, and receives input. + this.textarea = this.wrapper.firstChild; +}; + TextareaInput.prototype.prepareSelection = function () { // Redraw the selection and/or cursor var cm = this.cm, display = cm.display, doc = cm.doc; @@ -9665,7 +9670,7 @@ CodeMirror$1.fromTextArea = fromTextArea; addLegacyProps(CodeMirror$1); -CodeMirror$1.version = "5.35.0"; +CodeMirror$1.version = "5.37.0"; return CodeMirror$1; diff --git a/media/editors/codemirror/lib/codemirror.min.js b/media/editors/codemirror/lib/codemirror.min.js index 8ca46e27bd9bb..a82889408a380 100644 --- a/media/editors/codemirror/lib/codemirror.min.js +++ b/media/editors/codemirror/lib/codemirror.min.js @@ -1,6 +1,6 @@ !(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()})(this,(function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Wg.length<=a;)Wg.push(p(Wg)+" ");return Wg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Xg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Yg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(var d=b>c?-1:1;;){if(b==c)return b;var e=(b+c)/2,f=d<0?Math.ceil(e):Math.floor(e);if(f==b)return a(f)?b:c;a(f)?c=f:b=f+d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Rg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),tg&&ug<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),vg||pg&&Eg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,(function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e})),d}function D(a,b,c){var d=[];return a.iter(b,c,(function(a){d.push(a.text)})),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Zg=!0}function U(){$g=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,(function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}})),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=$g&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=$g&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=$g&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter((function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)}))}function va(a,b,c,d){if(!a)return d(b,c,"ltr",0);for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr",f),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;_g=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:_g=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:_g=e)}return null!=d?d:_g}function xa(a,b){var c=a.order;return null==c&&(c=a.order=ah(a.text,b)),c}function ya(a,b){return a._handlers&&a._handlers[b]||bh}function za(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Aa(a,b){var c=ya(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Ba(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Aa(a,c||b.type,a,b),Ha(b)||b.codemirrorIgnore}function Ca(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Da(a,b){return ya(a,b).length>0}function Ea(a){a.prototype.on=function(a,b){ch(this,a,b)},a.prototype.off=function(a,b){za(this,a,b)}}function Fa(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ga(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ha(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ia(a){Fa(a),Ga(a)}function Ja(a){return a.target||a.srcElement}function Ka(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),Fg&&a.ctrlKey&&1==b&&(b=3),b}function La(a){if(null==Pg){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Pg=b.offsetWidth<=1&&b.offsetHeight>2&&!(tg&&ug<8))}var e=Pg?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Ma(a){if(null!=Qg)return Qg;var d=c(a,document.createTextNode("AخA")),e=Jg(d,0,1).getBoundingClientRect(),f=Jg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Qg=f.right-e.right<3)}function Na(a){if(null!=hh)return hh;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Jg(b,0,1).getBoundingClientRect();return hh=Math.abs(e.left-f.left)>1}function Oa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),ih[a]=b}function Pa(a,b){jh[a]=b}function Qa(a){if("string"==typeof a&&jh.hasOwnProperty(a))a=jh[a];else if(a&&"string"==typeof a.name&&jh.hasOwnProperty(a.name)){var b=jh[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Qa("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Qa("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Ra(a,b){b=Qa(b);var c=ih[b.name];if(!c)return Ra(a,"text/plain");var d=c(a,b);if(kh.hasOwnProperty(b.name)){var e=kh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Sa(a,b){var c=kh.hasOwnProperty(a)?kh[a]:kh[a]={};k(b,c)}function Ta(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ua(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Va(a,b,c){return!a.startState||a.startState(b,c)}function Wa(a,b,c,d){var e=[a.state.modeGen],f={};cb(a,b.text,a.doc.mode,c,(function(a,b){return e.push(a,b)}),f,d);for(var g=c.state,h=function(d){c.baseTokens=e;var h=a.state.overlays[d],i=1,j=0;c.state=!0,cb(a,b.text,h.mode,c,(function(a,b){for(var c=i;j<a;){var d=e[i];d>a&&e.splice(i,1,a,e[i+1],d),i+=2,j=Math.min(a,d)}if(b)if(h.opaque)e.splice(c,i-c,a,"overlay "+b),i=c+2;else for(;c<i;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}}),f),c.state=g,c.baseTokens=null,c.baseTokenPos=1},i=0;i<a.state.overlays.length;++i)h(i);return{styles:e,classes:f.bgClass||f.textClass?f:null}}function Xa(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=Ya(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Ta(a.doc.mode,d.state),f=Wa(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function Ya(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new nh(d,!0,b);var f=db(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?nh.fromSaved(d,g,f):new nh(d,Va(d.mode),f);return d.iter(f,b,(function(c){Za(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()})),c&&(d.modeFrontier=h.line),h}function Za(a,b,c,d){var e=a.doc.mode,f=new lh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&$a(e,c.state);!f.eol();)_a(e,f,c.state),f.start=f.pos}function $a(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ua(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function _a(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ua(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function ab(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=Ya(a,b.line,c),k=new lh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=_a(g,k,j.state),d&&h.push(new oh(k,e,Ta(f.mode,j.state)));return d?h:new oh(k,e,j.state)}function bb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function cb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new lh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&bb($a(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&Za(a,b,d,l.pos),l.pos=b.length,i=null):i=bb(_a(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function db(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof mh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function eb(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof mh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function fb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function gb(a){a.parent=null,ca(a)}function hb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?sh:rh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ib(a,b){var c=e("span",null,null,vg?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(tg||vg)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=kb,Ma(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=mb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);ob(g,d,Xa(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(La(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(vg){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Aa(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function jb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function kb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?lb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));tg&&ug<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),tg&&ug<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),tg&&ug<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function lb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function mb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function nb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function ob(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)nb(b,0,s[y]);if(m&&(m.from||0)==o){if(nb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=hb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),hb(c[C+1],b.cm.options))}function pb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function qb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new pb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function rb(a){th?th.ops.push(a):a.ownsGroup=th={ops:[a],delayedCallbacks:[]}}function sb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function tb(a,b){var c=a.ownsGroup;if(c)try{sb(c)}finally{th=null,b(c)}}function ub(a,b){var c=ya(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);th?d=th.delayedCallbacks:uh?d=uh:(d=uh=[],setTimeout(vb,0));for(var f=function(a){d.push((function(){return c[a].apply(null,e)}))},g=0;g<c.length;++g)f(g)}}function vb(){var a=uh;uh=null;for(var b=0;b<a.length;++b)a[b]()}function wb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Ab(a,b):"gutter"==f?Cb(a,b,c,d):"class"==f?Bb(a,b):"widget"==f&&Db(a,b,d)}b.changes=null}function xb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),tg&&ug<8&&(a.node.style.zIndex=2)),a.node}function yb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=xb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function zb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ib(a,b)}function Ab(a,b){var c=b.text.className,d=zb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Bb(a,b)):c&&(b.text.className=c)}function Bb(a,b){yb(a,b),b.line.wrapClass?xb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Cb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=xb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=xb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Db(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Fb(a,b,c)}function Eb(a,b,c,d){var e=zb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Bb(a,b),Cb(a,b,c,d),Fb(a,b,d),b.node}function Fb(a,b,c){if(Gb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Gb(a,b.rest[d],b,c,!1)}function Gb(a,b,c,e,f){if(b.widgets)for(var g=xb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Hb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),ub(j,"redraw")}}function Hb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Ib(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Jb(a,b){for(var c=Ja(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Kb(a){return a.lineSpace.offsetTop}function Lb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Mb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Nb(a){return Rg-a.display.nativeBarWidth}function Ob(a){return a.display.scroller.clientWidth-Nb(a)-a.display.barWidth}function Pb(a){return a.display.scroller.clientHeight-Nb(a)-a.display.barHeight}function Qb(a,b,c){var d=a.options.lineWrapping,e=d&&Ob(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Rb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Sb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new pb(a.doc,b,d);e.lineN=d;var f=e.built=ib(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Tb(a,b,c,d){return Wb(a,Vb(a,b),c,d)}function Ub(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Vb(a,b){var c=F(b),d=Ub(a,c);d&&!d.text?d=null:d&&d.changes&&(wb(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Sb(a,b));var e=Rb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Wb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Qb(a,b.view,b.rect),b.hasHeights=!0),f=Zb(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function Xb(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function Yb(a,b){var c=vh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function Zb(a,b,c,d){var e,f=Xb(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse; if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=tg&&ug<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():Yb(Jg(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}tg&&ug<11&&(e=$b(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(tg&&ug<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:vh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function $b(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Na(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function _b(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ac(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)_b(a.display.view[c])}function bc(a){ac(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function cc(){return xg&&Dg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function dc(){return xg&&Dg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ec(a){var b=0;if(a.widgets)for(var c=0;c<a.widgets.length;++c)a.widgets[c].above&&(b+=Ib(a.widgets[c]));return b}function fc(a,b,c,d,e){if(!e){var f=ec(b);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=sa(b);if("local"==d?g+=Kb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=a.display.lineSpace.getBoundingClientRect();g+=h.top+("window"==d?0:dc());var i=h.left+("window"==d?0:cc());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function gc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=cc(),e-=dc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function hc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),fc(a,d,Tb(a,d,b.ch,e),c)}function ic(a,b,c,d,e,f){function g(b,g){var h=Wb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,fc(a,d,h,c)}function h(a,b,c){var d=i[b],e=1==d.level;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Vb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=_g,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function jc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Kb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function kc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function lc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return kc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return kc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=pc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function mc(a,b,c,d){d-=ec(b);var e=b.text.length,f=z((function(b){return Wb(a,c,b-1).bottom<=d}),e,0);return e=z((function(b){return Wb(a,c,b).top>d}),f,e),{begin:f,end:e}}function nc(a,b,c,d){c||(c=Vb(a,b));var e=fc(a,b,Wb(a,c,d),"line").top;return mc(a,b,c,e)}function oc(a,b,c,d){return!(a.bottom<=c)&&(a.top>c||(d?a.left:a.right)>b)}function pc(a,b,c,d,e){e-=sa(b);var f=Vb(a,b),g=ec(b),h=0,i=b.text.length,j=!0,k=xa(b,a.doc.direction);if(k){var l=(a.options.lineWrapping?rc:qc)(a,b,c,f,k,d,e);j=1!=l.level,h=j?l.from:l.to-1,i=j?l.to:l.from-1}var m,n,o=null,p=null,q=z((function(b){var c=Wb(a,f,b);return c.top+=g,c.bottom+=g,!!oc(c,d,e,!1)&&(c.top<=e&&c.left<=d&&(o=b,p=c),!0)}),h,i),r=!1;if(p){var s=d-p.left<p.right-d,t=s==j;q=o+(t?0:1),n=t?"after":"before",m=s?p.left:p.right}else{j||q!=i&&q!=h||q++,n=0==q?"after":q==b.text.length?"before":Wb(a,f,q-(j?1:0)).bottom+g<=e==j?"after":"before";var u=ic(a,J(c,q,n),"line",b,f);m=u.left,r=e<u.top||e>=u.bottom}return q=y(b.text,q,1),kc(c,q,n,r,d-m)}function qc(a,b,c,d,e,f,g){var h=z((function(h){var i=e[h],j=1!=i.level;return oc(ic(a,J(c,j?i.to:i.from,j?"before":"after"),"line",b,d),f,g,!0)}),0,e.length-1),i=e[h];if(h>0){var j=1!=i.level,k=ic(a,J(c,j?i.from:i.to,j?"after":"before"),"line",b,d);oc(k,f,g,!0)&&k.top>g&&(i=e[h-1])}return i}function rc(a,b,c,d,e,f,g){var h=mc(a,b,d,g),i=h.begin,j=h.end;/\s/.test(b.text.charAt(j-1))&&j--;for(var k=null,l=null,m=0;m<e.length;m++){var n=e[m];if(!(n.from>=j||n.to<=i)){var o=1!=n.level,p=Wb(a,d,o?Math.min(j,n.to)-1:Math.max(i,n.from)).right,q=p<f?f-p+1e9:p-f;(!k||l>q)&&(k=n,l=q)}}return k||(k=e[e.length-1]),k.from<i&&(k={from:i,to:k.to,level:k.level}),k.to>j&&(k={from:k.from,to:j,level:k.level}),k}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==qh){qh=d("pre");for(var e=0;e<49;++e)qh.appendChild(document.createTextNode("x")),qh.appendChild(d("br"));qh.appendChild(document.createTextNode("x"))}c(a.measure,qh);var f=qh.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter((function(a){var b=c(a);b!=a.height&&E(a,b)}))}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Ja(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(a){return null}var i,j=lc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Mb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){void 0===b&&(b=!0);for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Ec(a,h,f)}}return d}function Cc(a,b,c){var e=ic(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b){return a.top-b.top||a.left-b.left}function Ec(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return hc(a,J(b,c),"div",n,d)}function g(b,c,d){var e=nc(a,n,null,b),g="ltr"==c==("after"==d)?"left":"right",h="after"==d?e.begin:e.end-(/\s/.test(n.text.charAt(e.end-1))?2:1);return f(h,g)[g]}var i,j,n=B(h,b),o=n.text.length,p=xa(n,h.direction);return va(p,c||0,null==d?o:d,(function(a,b,h,n){var q="ltr"==h,r=f(a,q?"left":"right"),s=f(b-1,q?"right":"left"),t=null==c&&0==a,u=null==d&&b==o,v=0==n,w=!p||n==p.length-1;if(s.top-r.top<=3){var x=(m?t:u)&&v,y=(m?u:t)&&w,z=x?k:(q?r:s).left,A=y?l:(q?s:r).right;e(z,r.top,A-z,r.bottom)}else{var B,C,D,E;q?(B=m&&t&&v?k:r.left,C=m?l:g(a,h,"before"),D=m?k:g(b,h,"after"),E=m&&u&&w?l:s.right):(B=m?g(a,h,"before"):k,C=!m&&t&&v?l:r.right,D=!m&&u&&w?k:s.left,E=m?g(b,h,"after"):l),e(B,r.top,C-B,r.bottom),r.bottom<s.top&&e(k,r.bottom,null,s.top),e(D,s.top,E-D,s.bottom)}(!i||Dc(r,i)<0)&&(i=r),Dc(s,i)<0&&(i=s),(!j||Dc(r,j)<0)&&(j=r),Dc(s,j)<0&&(j=s)})),{start:i,end:j}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Mb(a.display),k=j.left,l=Math.max(g.sizerWidth,Ob(a)-g.sizer.offsetLeft)-j.right,m="ltr"==h.direction,n=b.from(),o=b.to();if(n.line==o.line)f(n.line,n.ch,o.ch);else{var p=B(h,n.line),q=B(h,o.line),r=la(p)==la(q),s=f(n.line,n.ch,r?p.text.length+1:null).end,t=f(o.line,r?0:null,o.ch).start;r&&(s.top<t.top-2?(e(s.right,s.top,null,s.bottom),e(k,t.top,t.left,t.bottom)):e(s.right,s.top,t.left-s.right,s.bottom)),s.bottom<t.top&&e(k,s.bottom,null,t.top)}c.appendChild(i)}function Fc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval((function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"}),a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Gc(a){a.state.focused||(a.display.input.focus(),Ic(a))}function Hc(a){a.state.delayingBlurEvent=!0,setTimeout((function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Jc(a))}),100)}function Ic(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Aa(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),vg&&setTimeout((function(){return a.display.input.reset(!0)}),20)),a.display.input.receivedFocus()),Fc(a))}function Jc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Aa(a,"blur",a,b),a.state.focused=!1,Mg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout((function(){a.state.focused||(a.display.shift=!1)}),150))}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(tg&&ug<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b){var c=a.widgets[b],d=c.node.parentNode;d&&(c.height=d.offsetHeight)}}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Kb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Oc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Fd(a),!0}return!1}function Pc(a,b){if(!Ba(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!Bg){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Kb(a.display))+"px;\n height: "+(b.bottom-b.top+Nb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Qc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=ic(a,b),i=c&&c!=b?ic(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Sc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Zc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(_c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Rc(a,b){var c=Sc(a,b);null!=c.scrollTop&&Zc(a,c.scrollTop),null!=c.scrollLeft&&_c(a,c.scrollLeft)}function Sc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Pb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Lb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Ob(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Tc(a,b){null!=b&&(Xc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Uc(a){Xc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Vc(a,b,c){null==b&&null==c||Xc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Wc(a,b){Xc(a),a.curOp.scrollToPos=b}function Xc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=jc(a,b.from),d=jc(a,b.to);Yc(a,c,d,b.margin)}}function Yc(a,b,c,d){var e=Sc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Vc(a,e.scrollLeft,e.scrollTop)}function Zc(a,b){Math.abs(a.doc.scrollTop-b)<2||(pg||Dd(a,{top:b}),$c(a,b,!0),pg&&Dd(a),wd(a,100))}function $c(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function _c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Nc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ad(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Lb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Nb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function bd(a,b){b||(b=ad(a));var c=a.display.barWidth,d=a.display.barHeight;cd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),cd(a,ad(a)),c=a.display.barWidth,d=a.display.barHeight}function cd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function dd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Mg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new yh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),ch(b,"mousedown",(function(){a.state.focused&&setTimeout((function(){return a.display.input.focus()}),0)})),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?_c(a,b):Zc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function ed(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++zh},rb(a.curOp)}function fd(a){var b=a.curOp;tb(b,(function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;gd(a)}))}function gd(a){for(var b=a.ops,c=0;c<b.length;c++)hd(b[c]);for(var d=0;d<b.length;d++)id(b[d]);for(var e=0;e<b.length;e++)jd(b[e]);for(var f=0;f<b.length;f++)kd(b[f]);for(var g=0;g<b.length;g++)ld(b[g])}function hd(a){var b=a.cm,c=b.display;yd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new Ah(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function id(a){a.updatedDisplay=a.mustUpdate&&Bd(a.cm,a.update)}function jd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=ad(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Tb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Nb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Ob(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection())}function kd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&_c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g();a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&bd(b,a.barMeasure),a.updatedDisplay&&Gd(b,a.barMeasure),a.selectionChanged&&Fc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Gc(a.cm)}function ld(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Cd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&$c(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&_c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Qc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Pc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Aa(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Aa(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Aa(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function md(a,b){if(a.curOp)return b();ed(a);try{return b()}finally{fd(a)}}function nd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);ed(a);try{return b.apply(a,arguments)}finally{fd(a)}}}function od(a){return function(){if(this.curOp)return a.apply(this,arguments);ed(this);try{return a.apply(this,arguments)}finally{fd(this)}}}function pd(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);ed(b);try{return a.apply(this,arguments)}finally{fd(b)}}}function qd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)$g&&oa(a.doc,b)<e.viewTo&&sd(a);else if(c<=e.viewFrom)$g&&pa(a.doc,c+d)>e.viewFrom?sd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)sd(a);else if(b<=e.viewFrom){var f=td(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):sd(a)}else if(c>=e.viewTo){var g=td(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):sd(a)}else{var h=td(a,b,b,-1),i=td(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(qb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):sd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function rd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function sd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function td(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!$g||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function ud(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=qb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=qb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(qb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function vd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function wd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(xd,a))}function xd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ya(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),(function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Ta(b.mode,d.state):null,i=Wa(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&Za(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return wd(a,a.options.workDelay),!0})),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&md(a,(function(){for(var b=0;b<e.length;b++)rd(a,e[b],"text")}))}}function yd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Nb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Nb(a)+"px",b.scrollbarsClipped=!0)}function zd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function Ad(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Bd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return sd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==vd(a))return!1;Oc(a)&&(sd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),$g&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;ud(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=vd(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=zd(a);return j>4&&(d.lineDiv.style.display="none"),Ed(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,Ad(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,wd(a,400)),d.updateLineNumbers=null,!0}function Cd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Ob(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Lb(a.display)-Pb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Bd(a,b);d=!1){Kc(a);var e=ad(a);Ac(a),bd(a,e),Gd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Dd(a,b){var c=new Ah(a,b);if(Bd(a,c)){Kc(a),Cd(a,c);var d=ad(a);Ac(a),bd(a,d),Gd(a,d),c.finish()}}function Ed(a,c,d){function e(b){var c=b.nextSibling;return vg&&Fg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),wb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Eb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Fd(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Gd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Nb(a)+"px"}function Hd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Fd(a)}function Id(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Jd(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Kd(a){var b=Jd(a);return b.x*=Ch,b.y*=Ch,b}function Ld(a,b){var c=Jd(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&Fg&&vg)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!pg&&!yg&&null!=Ch)return e&&i&&Zc(a,Math.max(0,g.scrollTop+e*Ch)),_c(a,Math.max(0,g.scrollLeft+d*Ch)),(!e||e&&i)&&Fa(b),void(f.wheelStartX=null);if(e&&null!=Ch){var m=e*Ch,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Dd(a,{top:n,bottom:o})}Bh<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout((function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(Ch=(Ch*Bh+c)/(Bh+1),++Bh)}}),200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Md(a,b){var c=a[b];a.sort((function(a,b){return K(a.from(),b.from())})),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new Eh(i?h:g,i?g:h))}}return new Dh(a,b)}function Nd(a,b){return new Dh([new Eh(a,b||a)],0)}function Od(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Pd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Od(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Od(b).ch-b.to.ch),J(c,d)}function Qd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new Eh(Pd(e.anchor,b),Pd(e.head,b)))}return Md(c,a.sel.primIndex)}function Rd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Sd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Rd(h.from,e,f),j=Rd(Od(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new Eh(l?j:i,l?i:j)}else d[g]=new Eh(i,i)}return new Dh(d,a.sel.primIndex)}function Td(a){a.doc.mode=Ra(a.options,a.doc.modeOption),Ud(a)}function Ud(a){a.doc.iter((function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)})),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first, -wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){var d=a.cm&&a.cm.state.suppressEdits;if(!d||c){for(var e,f=a.history,g=a.sel,h="undo"==b?f.done:f.undone,i="undo"==b?f.undone:f.done,j=0;j<h.length&&(e=h[j],c?!e.ranges||e.equals(a.sel):e.ranges);j++);if(j!=h.length){for(f.lastOrigin=f.lastSelOrigin=null;;){if(e=h.pop(),!e.ranges){if(d)return void h.push(e);break}if(ge(e,i),c&&!e.equals(a.sel))return void te(a,e,{clearRedo:!1});g=e}var k=[];ge(g,i),i.push({changes:k,generation:f.generation}),f.generation=e.generation||++f.maxGeneration;for(var l=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),n=function(c){var d=e.changes[c];if(d.origin=b,l&&!Ce(a,d,!1))return h.length=0,{};k.push(ae(a,d));var f=c?Qd(a,d):p(h);He(a,d,f,ke(a,d)),!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:Od(d)});var g=[];Xd(a,(function(a,b){b||m(g,a.history)!=-1||(Me(a.history,d),g.push(a.history)),He(a,d,null,ke(a,d))}))},o=e.changes.length-1;o>=0;--o){var q=n(o);if(q)return q.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1],f}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),f&&ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&(3==a.keyCode&&a.code&&(c=a.code),hf(c,a,b))}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(document,"mouseup",g),za(document,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){document.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(document,"mouseup",g),ch(document,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(document,"mousemove",u),za(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(document,"mousemove",u),ch(document,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0),b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250), -b("viewportMargin",10,(function(a){return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c; -var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Jh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null, -a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80))},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",g.value=b.text.join("\n"),Ng(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=cg(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),Cg&&(g.style.width="0px"),ch(g,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(g,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(g,"cut",b),ch(g,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(g,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(g,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.35.0",Vf})); \ No newline at end of file +wd(a,100),a.state.modeGen++,a.curOp&&qd(a)}function Vd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Wd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){fb(a,c,e,d),ub(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ph(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Vd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ph(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}ub(a,"change",a,b)}function Xd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Yd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Td(a),Zd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,qd(a)}function Zd(a){("rtl"==a.doc.direction?h:Mg)(a.display.lineDiv,"CodeMirror-rtl")}function $d(a){md(a,(function(){Zd(a),qd(a)}))}function _d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function ae(a,b){var c={from:M(b.from),to:Od(b),text:C(a,b.from,b.to)};return he(a,c,b.from.line,b.to.line+1),Xd(a,(function(a){return he(a,c,b.from.line,b.to.line+1)}),!0),c}function be(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function ce(a,b){return b?(be(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function de(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&e.lastModTime>h-(a.cm?a.cm.options.historyEventDelay:500)||"*"==b.origin.charAt(0)))&&(f=ce(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Od(b):f.changes.push(ae(a,b));else{var i=p(e.done);for(i&&i.ranges||ge(a.sel,e.done),f={changes:[ae(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Aa(a,"historyAdded")}function ee(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function fe(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||ee(a,f,p(e.done),b))?e.done[e.done.length-1]=b:ge(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&be(e.undone)}function ge(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function he(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),(function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f}))}function ie(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function je(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ie(c[e]));return d}function ke(a,b){var c=je(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function le(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?Dh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function me(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new Eh(e,b)}return new Eh(c||b,b)}function ne(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),te(a,new Dh([me(a.sel.primary(),b,c,e)],0),d)}function oe(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=me(a.sel.ranges[f],b[f],null,e);var g=Md(d,a.sel.primIndex);te(a,g,c)}function pe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,te(a,Md(e,a.sel.primIndex),d)}function qe(a,b,c,d){te(a,Nd(b,c),d)}function re(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new Eh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Aa(a,"beforeSelectionChange",a,d),a.cm&&Aa(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Md(d.ranges,d.ranges.length-1):b}function se(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,ue(a,b,c)):te(a,b,c)}function te(a,b,c){ue(a,b,c),fe(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function ue(a,b,c){(Da(a,"beforeSelectionChange")||a.cm&&Da(a.cm,"beforeSelectionChange"))&&(b=re(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ve(a,xe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Uc(a.cm)}function ve(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ca(a.cm)),ub(a,"cursorActivity",a))}function we(a){ve(a,xe(a,a.sel,null,!1))}function xe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ze(a,g.anchor,h&&h.anchor,c,d),j=ze(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new Eh(i,j))}return e?Md(e,b.primIndex):b}function ye(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Aa(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=Ae(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return ye(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=Ae(a,l,d,l.line==b.line?f:null)),l?ye(a,l,b,d,e):null}}return b}function ze(a,b,c,d,e){var f=d||1,g=ye(a,b,c,f,e)||!e&&ye(a,b,c,f,!0)||ye(a,b,c,-f,e)||!e&&ye(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function Ae(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Be(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Tg)}function Ce(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Aa(a,"beforeChange",a,d),a.cm&&Aa(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function De(a,b,c){if(a.cm){if(!a.cm.curOp)return nd(a.cm,De)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"))||(b=Ce(a,b,!0))){var d=Zg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)Ee(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else Ee(a,b)}}function Ee(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Qd(a,b);de(a,b,c,a.cm?a.cm.curOp.id:NaN),He(a,b,c,_(a,b));var d=[];Xd(a,(function(a,c){c||m(d,a.history)!=-1||(Me(a.history,b),d.push(a.history)),He(a,b,null,_(a,b))}))}}function Fe(a,b,c){var d=a.cm&&a.cm.state.suppressEdits;if(!d||c){for(var e,f=a.history,g=a.sel,h="undo"==b?f.done:f.undone,i="undo"==b?f.undone:f.done,j=0;j<h.length&&(e=h[j],c?!e.ranges||e.equals(a.sel):e.ranges);j++);if(j!=h.length){for(f.lastOrigin=f.lastSelOrigin=null;;){if(e=h.pop(),!e.ranges){if(d)return void h.push(e);break}if(ge(e,i),c&&!e.equals(a.sel))return void te(a,e,{clearRedo:!1});g=e}var k=[];ge(g,i),i.push({changes:k,generation:f.generation}),f.generation=e.generation||++f.maxGeneration;for(var l=Da(a,"beforeChange")||a.cm&&Da(a.cm,"beforeChange"),n=function(c){var d=e.changes[c];if(d.origin=b,l&&!Ce(a,d,!1))return h.length=0,{};k.push(ae(a,d));var f=c?Qd(a,d):p(h);He(a,d,f,ke(a,d)),!c&&a.cm&&a.cm.scrollIntoView({from:d.from,to:Od(d)});var g=[];Xd(a,(function(a,b){b||m(g,a.history)!=-1||(Me(a.history,d),g.push(a.history)),He(a,d,null,ke(a,d))}))},o=e.changes.length-1;o>=0;--o){var q=n(o);if(q)return q.v}}}}function Ge(a,b){if(0!=b&&(a.first+=b,a.sel=new Dh(q(a.sel.ranges,(function(a){return new Eh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))})),a.sel.primIndex),a.cm)){qd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)rd(a.cm,d,"gutter")}}function He(a,b,c,d){if(a.cm&&!a.cm.curOp)return nd(a.cm,He)(a,b,c,d);if(b.to.line<a.first)return void Ge(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Ge(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Qd(a,b)),a.cm?Ie(a.cm,b,d):Wd(a,b,d),ue(a,c,Tg)}}function Ie(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,(function(a){if(a==e.maxLine)return h=!0,!0}))),d.sel.contains(b.from,b.to)>-1&&Ca(a),Wd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,(function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)})),h&&(a.curOp.updateMaxLine=!0)),eb(d,f.line),wd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?qd(a):f.line!=g.line||1!=b.text.length||Vd(a.doc,b)?qd(a,f.line,g.line+1,j):rd(a,f.line,"text");var k=Da(a,"changes"),l=Da(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&ub(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Je(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f;f=[d,c],c=f[0],d=f[1]}"string"==typeof b&&(b=a.splitLines(b)),De(a,{from:c,to:d,text:b,origin:e})}function Ke(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Le(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ke(f.ranges[h].anchor,b,c,d),Ke(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Me(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Le(a.done,c,d,e),Le(a.undone,c,d,e)}function Ne(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&rd(a.cm,e,c),f)}function Oe(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Pe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Qe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Tc(a,c)}function Re(a,b,c,d){var e=new Fh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Ne(a,b,"widget",(function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Ib(e)),d&&Tc(f,e.height),f.curOp.forceUpdate=!0}return!0})),f&&ub(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Se(a,b,c,d,f){if(d&&d.shared)return Te(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return nd(a.cm,Se)(a,b,c,d,f);var g=new Hh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&de(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,(function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j})),g.collapsed&&a.iter(b.line,c.line+1,(function(b){qa(a,b)&&E(b,0)})),g.clearOnEnter&&ch(g,"beforeCursorEnter",(function(){return g.clear()})),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++Gh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)qd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)rd(l,m,"text");g.atomic&&we(l.doc),ub(l,"markerAdded",l,g)}return g}function Te(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Se(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Xd(a,(function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Se(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)})),new Ih(f,g)}function Ue(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),(function(a){return a.parent}))}function Ve(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Se(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function We(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Xd(c.primary.doc,(function(a){return d.push(a)}));for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Xe(a){var b=this;if($e(b),!Ba(b,a)&&!Jb(b.display,a)){Fa(a),tg&&(Lh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=nd(b,(function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};De(b.doc,i),se(b.doc,Nd(c,Od(i)))}})),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout((function(){return b.display.input.focus()}),20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),ue(b.doc,Nd(c,c)),k)for(var l=0;l<k.length;++l)Je(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Ye(a,b){if(tg&&(!a.state.draggingText||+new Date-Lh<100))return void Ia(b);if(!Ba(a,b)&&!Jb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!zg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",yg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),yg&&c.parentNode.removeChild(c)}}function Ze(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function $e(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function _e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function af(){Mh||(bf(),Mh=!0)}function bf(){var a;ch(window,"resize",(function(){null==a&&(a=setTimeout((function(){a=null,_e(cf)}),100))})),ch(window,"blur",(function(){return _e(Jc)}))}function cf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function df(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function ef(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),df),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ff(a,b,c,d){b=kf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ff(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ff(a,b.fallthrough[f],c,d);if(g)return g}}}function gf(a){var b="string"==typeof a?a:Nh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function hf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Kg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Kg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function jf(a,b){if(yg&&34==a.keyCode&&a.char)return!1;var c=Nh[a.keyCode];return null!=c&&!a.altGraphKey&&(3==a.keyCode&&a.code&&(c=a.code),hf(c,a,b))}function kf(a){return"string"==typeof a?Rh[a]:a}function lf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}md(a,(function(){for(var b=d.length-1;b>=0;b--)Je(a.doc,"",d[b].from,d[b].to,"+delete");Uc(a)}))}function mf(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function nf(a,b,c){var d=mf(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function of(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0||"rtl"==b.doc.direction){var k=Vb(b,c);g=e<0?c.text.length-1:0;var l=Wb(b,k,g).top;g=z((function(a){return Wb(b,k,a).top==l}),e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=mf(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function pf(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return nf(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return nf(b,c,d);var h,i=function(a,c){return mf(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Vb(a,b),nc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function qf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),of(!0,a,d,b,1)}function rf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),of(!0,a,c,b,-1)}function sf(a,b){var c=qf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function tf(a,b,c){if("string"==typeof b&&(b=Sh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Sg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function uf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ff(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ff(b,a.options.extraKeys,c,a)||ff(b,a.options.keyMap,c,a)}function vf(a,b,c,d){var e=a.state.keySeq;if(e){if(gf(b))return"handled";if(/\'$/.test(b)?a.state.keySeq=null:Th.set(50,(function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())})),wf(a,e+" "+b,c,d))return!0}return wf(a,b,c,d)}function wf(a,b,c,d){var e=uf(a,b,d);return"multi"==e&&(a.state.keySeq=b),"handled"==e&&ub(a,"keyHandled",a,b,c),"handled"!=e&&"multi"!=e||(Fa(c),Fc(a)),!!e}function xf(a,b){var c=jf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?vf(a,"Shift-"+c,b,(function(b){return tf(a,b,!0)}))||vf(a,c,b,(function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return tf(a,b)})):vf(a,c,b,(function(b){return tf(a,b)})))}function yf(a,b,c){return vf(a,"'"+c+"'",b,(function(b){return tf(a,b,!0)}))}function zf(a){var b=this;if(b.curOp.focus=g(),!Ba(b,a)){tg&&ug<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=xf(b,a);yg&&(Uh=d?c:null,!d&&88==c&&!gh&&(Fg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||Af(b)}}function Af(a){function b(a){18!=a.keyCode&&a.altKey||(Mg(c,"CodeMirror-crosshair"),za(document,"keyup",b),za(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),ch(document,"keyup",b),ch(document,"mouseover",b)}function Bf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Ba(this,a)}function Cf(a){var b=this;if(!(Jb(b.display,a)||Ba(b,a)||a.ctrlKey&&!a.altKey||Fg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(yg&&c==Uh)return Uh=null,void Fa(a);if(!yg||a.which&&!(a.which<10)||!xf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(yf(b,a,e)||b.display.input.onKeyPress(a))}}}function Df(a,b){var c=+new Date;return Yh&&Yh.compare(c,a,b)?(Xh=Yh=null,"triple"):Xh&&Xh.compare(c,a,b)?(Yh=new Wh(c,a,b),Xh=null,"double"):(Xh=new Wh(c,a,b),Yh=null,"single")}function Ef(a){var b=this,c=b.display;if(!(Ba(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Jb(c,a))return void(vg||(c.scroller.draggable=!1,setTimeout((function(){return c.scroller.draggable=!0}),100)));if(!Nf(b,a)){var d=yc(b,a),e=Ka(a),f=d?Df(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&Ff(b,e,d,f,a)||(1==e?d?Hf(b,d,f,a):Ja(a)==c.scroller&&Fa(a):2==e?(d&&ne(b.doc,d),setTimeout((function(){return c.input.focus()}),20)):3==e&&(Lg?Of(b,a):Hc(b)))}}}function Ff(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,vf(a,hf(f,e),e,(function(b){if("string"==typeof b&&(b=Sh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Sg}finally{a.state.suppressEdits=!1}return d}))}function Gf(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=Gg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=Fg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(Fg?c.altKey:c.ctrlKey)),e}function Hf(a,b,c,d){tg?setTimeout(j(Gc,a),0):a.curOp.focus=g();var e,f=Gf(a,c,d),h=a.doc.sel;a.options.dragDrop&&dh&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?If(a,d,b,f):Kf(a,d,b,f)}function If(a,b,c,d){var e=a.display,f=!1,g=nd(a,(function(b){vg&&(e.scroller.draggable=!1),a.state.draggingText=!1,za(e.wrapper.ownerDocument,"mouseup",g),za(e.wrapper.ownerDocument,"mousemove",h),za(e.scroller,"dragstart",i),za(e.scroller,"drop",g),f||(Fa(b),d.addNew||ne(a.doc,c,null,null,d.extend),vg||tg&&9==ug?setTimeout((function(){e.wrapper.ownerDocument.body.focus(),e.input.focus()}),20):e.input.focus())})),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};vg&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),ch(e.wrapper.ownerDocument,"mouseup",g),ch(e.wrapper.ownerDocument,"mousemove",h),ch(e.scroller,"dragstart",i),ch(e.scroller,"drop",g),Hc(a),setTimeout((function(){return e.input.focus()}),20)}function Jf(a,b,c){if("char"==c)return new Eh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new Eh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new Eh(d.from,d.to)}function Kf(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new Eh(J(q,u),J(q,u))):t.length>u&&e.push(new Eh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new Eh(c,c)),te(j,Md(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Jf(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=Lf(a,new Eh(Q(j,y),v)),te(j,Md(z,m),Ug)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Mc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(nd(a,(function(){t==c&&f(b)})),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(nd(a,(function(){t==c&&(i.scroller.scrollTop+=l,f(b))})),50)}}function h(b){a.state.selectingText=!1,t=1/0,Fa(b),i.input.focus(),za(i.wrapper.ownerDocument,"mousemove",u),za(i.wrapper.ownerDocument,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Fa(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new Eh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new Eh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Jf(a,c,d.unit);k=d.extend?me(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,te(j,Md(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(te(j,Md(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):pe(j,m,k,Ug):(m=0,te(j,new Dh([k],0),Ug),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=nd(a,(function(a){Ka(a)?f(a):h(a)})),v=nd(a,h);a.state.selectingText=v,ch(i.wrapper.ownerDocument,"mousemove",u),ch(i.wrapper.ownerDocument,"mouseup",v)}function Lf(a,b){var c=b.anchor,d=b.head,e=B(a.doc,c.line);if(0==K(c,d)&&c.sticky==d.sticky)return b;var f=xa(e);if(!f)return b;var g=wa(f,c.ch,c.sticky),h=f[g];if(h.from!=c.ch&&h.to!=c.ch)return b;var i=g+(h.from==c.ch==(1!=h.level)?0:1);if(0==i||i==f.length)return b;var j;if(d.line!=c.line)j=(d.line-c.line)*("ltr"==a.doc.direction?1:-1)>0;else{var k=wa(f,d.ch,d.sticky),l=k-g||(d.ch-c.ch)*(1==h.level?-1:1);j=k==i-1||k==i?l<0:l>0}var m=f[i+(j?-1:0)],n=j==(1==m.level),o=n?m.from:m.to,p=n?"after":"before";return c.ch==o&&c.sticky==p?b:new Eh(new J(c.line,o,p),d)}function Mf(a,b,c,d){var e,f;if(b.touches)e=b.touches[0].clientX,f=b.touches[0].clientY;else try{e=b.clientX,f=b.clientY}catch(a){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Fa(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Da(a,c))return Ha(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Aa(a,c,a,k,l,b),Ha(b)}}}function Nf(a,b){return Mf(a,b,"gutterClick",!0)}function Of(a,b){Jb(a.display,b)||Pf(a,b)||Ba(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function Pf(a,b){return!!Da(a,"gutterContextMenu")&&Mf(a,b,"gutterContextMenu",!1)}function Qf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),bc(a)}function Rf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Zh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Zh,b("value","",(function(a,b){return a.setValue(b)}),!0),b("mode",null,(function(a,b){a.doc.modeOption=b,Td(a)}),!0),b("indentUnit",2,Td,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,(function(a){Ud(a),bc(a),qd(a)}),!0),b("lineSeparator",null,(function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter((function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++}));for(var e=c.length-1;e>=0;e--)Je(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}})),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,(function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Zh&&a.refresh()})),b("specialCharPlaceholder",jb,(function(a){return a.refresh()}),!0),b("electricChars",!0),b("inputStyle",Eg?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),b("spellcheck",!1,(function(a,b){return a.getInputField().spellcheck=b}),!0),b("rtlMoveVisually",!Hg),b("wholeLineUpdateBefore",!0),b("theme","default",(function(a){Qf(a),Sf(a)}),!0),b("keyMap","default",(function(a,b,c){var d=kf(b),e=c!=Zh&&kf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)})),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Uf,!0),b("gutters",[],(function(a){Id(a.options),Sf(a)}),!0),b("fixedGutter",!0,(function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()}),!0),b("coverGutterNextToScrollbar",!1,(function(a){return bd(a)}),!0),b("scrollbarStyle","native",(function(a){dd(a),bd(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}),!0),b("lineNumbers",!1,(function(a){Id(a.options),Sf(a)}),!0),b("firstLineNumber",1,Sf,!0),b("lineNumberFormatter",(function(a){return a}),Sf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,(function(a,b){"nocursor"==b&&(Jc(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)})),b("disableInput",!1,(function(a,b){b||a.display.input.reset()}),!0),b("dragDrop",!0,Tf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Ud,!0), +b("addModeClass",!1,Ud,!0),b("pollInterval",100),b("undoDepth",200,(function(a,b){return a.doc.history.undoDepth=b})),b("historyEventDelay",1250),b("viewportMargin",10,(function(a){return a.refresh()}),!0),b("maxHighlightLength",1e4,Ud,!0),b("moveInputWithCursor",!0,(function(a,b){b||a.display.input.resetPosition()})),b("tabindex",null,(function(a,b){return a.display.input.getField().tabIndex=b||""})),b("autofocus",null),b("direction","ltr",(function(a,b){return a.doc.setDirection(b)}),!0)}function Sf(a){Hd(a),qd(a),Nc(a)}function Tf(a,b,c){var d=c&&c!=Zh;if(!b!=!d){var e=a.display.dragFunctions,f=b?ch:za;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Uf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Mg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),qd(a),bc(a),setTimeout((function(){return bd(a)}),100)}function Vf(a,b){var c=this;if(!(this instanceof Vf))return new Vf(a,b);this.options=b=b?k(b):{},k($h,b,!1),Id(b);var d=b.value;"string"==typeof d&&(d=new Kh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Vf.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Hd(this),Qf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),dd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Og,keySeq:null,specialChars:null},b.autofocus&&!Eg&&f.input.focus(),tg&&ug<11&&setTimeout((function(){return c.display.input.reset(!0)}),20),Wf(this),af(),ed(this),this.curOp.forceUpdate=!0,Yd(this,d),b.autofocus&&!Eg||this.hasFocus()?setTimeout(j(Ic,this),20):Jc(this);for(var g in _h)_h.hasOwnProperty(g)&&_h[g](c,b[g],Zh);Oc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<ai.length;++h)ai[h](c);fd(this),vg&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Wf(a){function b(){e.activeTouch&&(f=setTimeout((function(){return e.activeTouch=null}),1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;ch(e.scroller,"mousedown",nd(a,Ef)),tg&&ug<11?ch(e.scroller,"dblclick",nd(a,(function(b){if(!Ba(a,b)){var c=yc(a,b);if(c&&!Nf(a,b)&&!Jb(a.display,b)){Fa(b);var d=a.findWordAt(c);ne(a.doc,d.anchor,d.head)}}}))):ch(e.scroller,"dblclick",(function(b){return Ba(a,b)||Fa(b)})),Lg||ch(e.scroller,"contextmenu",(function(b){return Of(a,b)}));var f,g={end:0};ch(e.scroller,"touchstart",(function(b){if(!Ba(a,b)&&!c(b)&&!Nf(a,b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}})),ch(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ch(e.scroller,"touchend",(function(c){var f=e.activeTouch;if(f&&!Jb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new Eh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new Eh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Fa(c)}b()})),ch(e.scroller,"touchcancel",b),ch(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Zc(a,e.scroller.scrollTop),_c(a,e.scroller.scrollLeft,!0),Aa(a,"scroll",a))})),ch(e.scroller,"mousewheel",(function(b){return Ld(a,b)})),ch(e.scroller,"DOMMouseScroll",(function(b){return Ld(a,b)})),ch(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(b){Ba(a,b)||Ia(b)},over:function(b){Ba(a,b)||(Ze(a,b),Ia(b))},start:function(b){return Ye(a,b)},drop:nd(a,Xe),leave:function(b){Ba(a,b)||$e(a)}};var h=e.input.getField();ch(h,"keyup",(function(b){return Bf.call(a,b)})),ch(h,"keydown",nd(a,zf)),ch(h,"keypress",nd(a,Cf)),ch(h,"focus",(function(b){return Ic(a,b)})),ch(h,"blur",(function(b){return Jc(a,b)}))}function Xf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=Ya(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Sg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Je(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);pe(f,q,new Eh(s,s));break}}}function Yf(a){bi=a}function Zf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=eh(b),i=null;if(g&&d.ranges.length>1)if(bi&&bi.text.join("\n")==b){if(d.ranges.length%bi.text.length==0){i=[];for(var j=0;j<bi.text.length;j++)i.push(f.splitLines(bi.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,(function(a){return[a]})));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):bi&&bi.lineWise&&bi.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};De(a.doc,r),ub(a,"inputRead",a,r)}b&&!g&&_f(a,b),Uc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function $f(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||md(b,(function(){return Zf(b,c,0,null,"paste")})),!0}function _f(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Xf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Xf(a,e.head.line,"smart"));g&&ub(a,"electricInput",a,e.head.line)}}}function ag(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function bg(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function cg(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return vg?a.style.width="1000px":a.setAttribute("wrap","off"),Cg&&(a.style.border="1px solid black"),bg(a),b}function dg(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?pf(a.cm,j,b,c):nf(j,b,c),null==g){if(d||!f())return!1;b=of(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ze(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function eg(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=lc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function fg(a,b){var c=Ub(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Rb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=Xb(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function gg(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function hg(a,b){return b&&(a.bad=!0),a}function ig(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function jg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return hg(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return kg(f,b,c)}}function kg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return hg(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return hg(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return hg(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return hg(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return hg(J(m.line,m.ch+r),g);r+=q.textContent.length}}function lg(a,b){function c(){a.value=i.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(ch(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(a){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(za(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var i=Vf((function(b){return a.parentNode.insertBefore(b,a.nextSibling)}),b);return i}function mg(a){a.off=za,a.on=ch,a.wheelEventPixels=Kd,a.Doc=Kh,a.splitLines=eh,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Sg,a.signal=Aa,a.Line=ph,a.changeEnd=Od,a.scrollbarModel=yh,a.Pos=J,a.cmpPos=K,a.modes=ih,a.mimeModes=jh,a.resolveMode=Qa,a.getMode=Ra,a.modeExtensions=kh,a.extendMode=Sa,a.copyState=Ta,a.startState=Va,a.innerMode=Ua,a.commands=Sh,a.keyMap=Rh,a.keyName=jf,a.isModifierKey=gf,a.lookupKey=ff,a.normalizeKeyMap=ef,a.StringStream=lh,a.SharedTextMarker=Ih,a.TextMarker=Hh,a.LineWidget=Fh,a.e_preventDefault=Fa,a.e_stopPropagation=Ga,a.e_stop=Ia,a.addClass=h,a.contains=f,a.rmClass=Mg,a.keyNames=Nh}var ng=navigator.userAgent,og=navigator.platform,pg=/gecko\/\d/i.test(ng),qg=/MSIE \d/.test(ng),rg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ng),sg=/Edge\/(\d+)/.exec(ng),tg=qg||rg||sg,ug=tg&&(qg?document.documentMode||6:+(sg||rg)[1]),vg=!sg&&/WebKit\//.test(ng),wg=vg&&/Qt\/\d+\.\d+/.test(ng),xg=!sg&&/Chrome\//.test(ng),yg=/Opera\//.test(ng),zg=/Apple Computer/.test(navigator.vendor),Ag=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ng),Bg=/PhantomJS/.test(ng),Cg=!sg&&/AppleWebKit/.test(ng)&&/Mobile\/\w+/.test(ng),Dg=/Android/.test(ng),Eg=Cg||Dg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ng),Fg=Cg||/Mac/.test(og),Gg=/\bCrOS\b/.test(ng),Hg=/win/i.test(og),Ig=yg&&ng.match(/Version\/(\d*\.\d*)/);Ig&&(Ig=Number(Ig[1])),Ig&&Ig>=15&&(yg=!1,vg=!0);var Jg,Kg=Fg&&(wg||yg&&(null==Ig||Ig<12.11)),Lg=pg||tg&&ug>=9,Mg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Jg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(a){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ng=function(a){a.select()};Cg?Ng=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:tg&&(Ng=function(a){try{a.select()}catch(a){}});var Og=function(){this.id=null};Og.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Pg,Qg,Rg=30,Sg={toString:function(){return"CodeMirror.Pass"}},Tg={scroll:!1},Ug={origin:"*mouse"},Vg={origin:"+move"},Wg=[""],Xg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Yg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Zg=!1,$g=!1,_g=null,ah=(function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return"ltr"==d&&(1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k)))),"rtl"==d?M.reverse():M}})(),bh=[],ch=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||bh).concat(c)}},dh=(function(){if(tg&&ug<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a})(),eh=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},fh=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(a){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(a){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},gh=(function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)})(),hh=null,ih={},jh={},kh={},lh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};lh.prototype.eol=function(){return this.pos>=this.string.length},lh.prototype.sol=function(){return this.pos==this.lineStart},lh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},lh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},lh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},lh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},lh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},lh.prototype.skipToEnd=function(){this.pos=this.string.length},lh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},lh.prototype.backUp=function(a){this.pos-=a},lh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},lh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},lh.prototype.current=function(){return this.string.slice(this.start,this.pos)},lh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},lh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)},lh.prototype.baseToken=function(){var a=this.lineOracle;return a&&a.baseToken(this.pos)};var mh=function(a,b){this.state=a,this.lookAhead=b},nh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0,this.baseTokens=null,this.baseTokenPos=1};nh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},nh.prototype.baseToken=function(a){var b=this;if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=a;)b.baseTokenPos+=2;var c=this.baseTokens[this.baseTokenPos+1];return{type:c&&c.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-a}},nh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},nh.fromSaved=function(a,b,c){return b instanceof mh?new nh(a,Ta(a.mode,b.state),c,b.lookAhead):new nh(a,Ta(a.mode,b),c)},nh.prototype.save=function(a){var b=a!==!1?Ta(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new mh(b,this.maxLookAhead):b};var oh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ph=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ph.prototype.lineNo=function(){return F(this)},Ea(ph);var qh,rh={},sh={},th=null,uh=null,vh={left:0,right:0,top:0,bottom:0},wh=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),ch(e,"scroll",(function(){e.clientHeight&&b(e.scrollTop,"vertical")})),ch(f,"scroll",(function(){f.clientWidth&&b(f.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,tg&&ug<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};wh.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},wh.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},wh.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},wh.prototype.zeroWidthHack=function(){var a=Fg&&!Ag?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Og,this.disableVert=new Og},wh.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},wh.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var xh=function(){};xh.prototype.update=function(){return{bottom:0,right:0}},xh.prototype.setScrollLeft=function(){},xh.prototype.setScrollTop=function(){},xh.prototype.clear=function(){};var yh={native:wh,null:xh},zh=0,Ah=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Ob(a),this.force=c,this.dims=uc(a),this.events=[]};Ah.prototype.signal=function(a,b){Da(a,b)&&this.events.push(arguments)},Ah.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Aa.apply(null,a.events[b])};var Bh=0,Ch=null;tg?Ch=-.53:pg?Ch=15:xg?Ch=-.7:zg&&(Ch=-1/3);var Dh=function(a,b){this.ranges=a,this.primIndex=b};Dh.prototype.primary=function(){return this.ranges[this.primIndex]},Dh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},Dh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new Eh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new Dh(b,this.primIndex)},Dh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},Dh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var Eh=function(a,b){this.anchor=a,this.head=b};Eh.prototype.from=function(){return O(this.anchor,this.head)},Eh.prototype.to=function(){return N(this.anchor,this.head)},Eh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Oe.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,gb(f),ub(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Pe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Oe))){var i=[];this.collapse(i),this.children=[new Oe(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Oe(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Pe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Pe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var Fh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};Fh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Ib(this);E(d,Math.max(0,d.height-g)),b&&(md(b,(function(){Qe(b,d,-g),rd(b,e,"widget")})),ub(b,"lineWidgetCleared",b,this,e))}},Fh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Ib(this)-b;e&&(E(d,d.height+e),c&&md(c,(function(){c.curOp.forceUpdate=!0,Qe(c,d,e),ub(c,"lineWidgetChanged",c,a,F(d))})))},Ea(Fh);var Gh=0,Hh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++Gh};Hh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&ed(b),Da(this,"clear")){var d=this.find();d&&ub(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?rd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&qd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&we(b.doc)),b&&ub(b,"markerCleared",b,this,e,f),c&&fd(b),this.parent&&this.parent.clear()}},Hh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Hh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&md(d,(function(){var e=b.line,f=F(b.line),g=Ub(d,f);if(g&&(_b(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Ib(c)-h;i&&E(e,e.height+i)}ub(d,"markerChanged",d,a)}))},Hh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Hh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ea(Hh);var Ih=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Ih.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();ub(this,"clear")}},Ih.prototype.find=function(a,b){return this.primary.find(a,b)},Ea(Ih);var Jh=0,Kh=function(a,b,c,d,e){if(!(this instanceof Kh))return new Kh(a,b,c,d,e);null==c&&(c=0),Pe.call(this,[new Oe([new ph("",null)])]), +this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Nd(f),this.history=new _d(null),this.id=++Jh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Wd(this,{from:f,to:f,text:a}),te(this,Nd(f),Tg)};Kh.prototype=t(Pe.prototype,{constructor:Kh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:pd((function(a){var b=J(this.first,0),c=this.first+this.size-1;De(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Vc(this.cm,0,0),te(this,Nd(b),Tg)})),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Je(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:pd((function(a,b,c){qe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)})),setSelection:pd((function(a,b,c){qe(this,Q(this,a),Q(this,b||a),c)})),extendSelection:pd((function(a,b,c){ne(this,Q(this,a),b&&Q(this,b),c)})),extendSelections:pd((function(a,b){oe(this,S(this,a),b)})),extendSelectionsBy:pd((function(a,b){var c=q(this.sel.ranges,a);oe(this,S(this,c),b)})),setSelections:pd((function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new Eh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),te(this,Md(e,b),c)}})),addSelection:pd((function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new Eh(Q(this,a),Q(this,b||a))),te(this,Md(d,d.length-1),c)})),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:pd((function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Sd(this,e,b),j=e.length-1;j>=0;j--)De(d,e[j]);i?se(this,i):this.cm&&Uc(this.cm)})),undo:pd((function(){Fe(this,"undo")})),redo:pd((function(){Fe(this,"redo")})),undoSelection:pd((function(){Fe(this,"undo",!0)})),redoSelection:pd((function(){Fe(this,"redo",!0)})),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new _d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:le(this.history.done),undone:le(this.history.undone)}},setHistory:function(a){var b=this.history=new _d(this.history.maxGeneration);b.done=le(a.done.slice(0),null,!0),b.undone=le(a.undone.slice(0),null,!0)},setGutterMarker:pd((function(a,b,c){return Ne(this,a,"gutter",(function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0}))})),clearGutter:pd((function(a){var b=this;this.iter((function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Ne(b,c,"gutter",(function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0}))}))})),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0}))})),removeLineClass:pd((function(b,c,d){return Ne(this,b,"gutter"==c?"gutter":"class",(function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0}))})),addLineWidget:pd((function(a,b,c){return Re(this,a,b,c)})),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Se(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Se(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,(function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e})),d},getAllMarks:function(){var a=[];return this.iter((function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)})),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter((function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)})),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,(function(a){b+=a.text.length+c})),b},copy:function(a){var b=new Kh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Kh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ve(d,Ue(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Vf&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),We(Ue(b));break}}if(a.history==this.history){var e=[a.id];Xd(a,(function(a){return e.push(a.id)}),!0),a.history=new _d(null),a.history.done=le(this.history.done,e),a.history.undone=le(this.history.undone,e)}},iterLinkedDocs:function(a){Xd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):eh(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:pd((function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter((function(a){return a.order=null})),this.cm&&$d(this.cm))}))}),Kh.prototype.eachLine=Kh.prototype.iter;for(var Lh=0,Mh=!1,Nh={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Oh=0;Oh<10;Oh++)Nh[Oh+48]=Nh[Oh+96]=String(Oh);for(var Ph=65;Ph<=90;Ph++)Nh[Ph]=String.fromCharCode(Ph);for(var Qh=1;Qh<=12;Qh++)Nh[Qh+111]=Nh[Qh+63235]="F"+Qh;var Rh={};Rh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Rh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Rh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Rh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Rh.default=Fg?Rh.macDefault:Rh.pcDefault;var Sh={selectAll:Be,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Tg)},killLine:function(a){return lf(a,(function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}}))},deleteLine:function(a){return lf(a,(function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}}))},delLineLeft:function(a){return lf(a,(function(a){return{from:J(a.from().line,0),to:a.from()}}))},delWrappedLineLeft:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}}))},delWrappedLineRight:function(a){return lf(a,(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}}))},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy((function(b){return qf(a,b.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy((function(b){return sf(a,b.head)}),{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy((function(b){return rf(a,b.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")}),Vg)},goLineLeft:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")}),Vg)},goLineLeftSmart:function(a){return a.extendSelectionsBy((function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?sf(a,b.head):d}),Vg)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return md(a,(function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new Eh(e,e))}a.setSelections(c)}))},newlineAndIndent:function(a){return md(a,(function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Uc(a)}))},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Th=new Og,Uh=null,Vh=400,Wh=function(a,b,c){this.time=a,this.pos=b,this.button=c};Wh.prototype.compare=function(a,b,c){return this.time+Vh>a&&0==K(b,this.pos)&&c==this.button};var Xh,Yh,Zh={toString:function(){return"CodeMirror.Init"}},$h={},_h={};Vf.defaults=$h,Vf.optionHandlers=_h;var ai=[];Vf.defineInitHook=function(a){return ai.push(a)};var bi=null,ci=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&nd(this,b[a])(this,c,e),Aa(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](kf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:od((function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},(function(a){return a.priority})),this.state.modeGen++,qd(this)})),removeOverlay:od((function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void qd(b)}})),indentLine:od((function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Xf(this,a,b,c)})),indentSelection:od((function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Xf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Uc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Xf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&pe(b.doc,e,new Eh(g,k[e].to()),Tg)}}})),getTokenAt:function(a,b){return ab(this,a,b)},getLineTokens:function(a,b){return ab(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=Xa(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),Ya(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),ic(this,c,b||"page")},charCoords:function(a,b){return hc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=gc(this,a,b||"page"),lc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=gc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return fc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=ic(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Rc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:od(zf),triggerOnKeyPress:od(Cf),triggerOnKeyUp:Bf,triggerOnMouseDown:od(Ef),execCommand:function(a){if(Sh.hasOwnProperty(a))return Sh[a].call(null,this)},triggerElectric:od((function(a){_f(this,a)})),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=dg(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:od((function(a,b){var c=this;this.extendSelectionsBy((function(d){return c.display.shift||c.doc.extend||d.empty()?dg(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()}),Vg)})),deleteH:od((function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):lf(this,(function(c){var e=dg(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}}))})),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=ic(e,h,"div");if(null==g?g=j.left:j.left=g,h=eg(e,j,f,c),h.hitSide)break}return h},moveV:od((function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy((function(g){if(f)return a<0?g.from():g.to();var h=ic(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=eg(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Tc(c,hc(c,i,"div").top-h.top),i}),Vg),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]})),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new Eh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Mg(this.display.cursorDiv,"CodeMirror-overwrite"),Aa(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:od((function(a,b){Vc(this,a,b)})),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Nb(this)-this.display.barHeight,width:a.scrollWidth-Nb(this)-this.display.barWidth,clientHeight:Pb(this),clientWidth:Ob(this)}},scrollIntoView:od((function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Wc(this,a):Yc(this,a.from,a.to,a.margin)})),setSize:od((function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ac(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,(function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){rd(c,e,"widget");break}++e})),this.curOp.forceUpdate=!0,Aa(this,"refresh",this)})),operation:function(a){return md(this,a)},startOperation:function(){return ed(this)},endOperation:function(){return fd(this)},refresh:od((function(){var a=this.display.cachedTextHeight;qd(this),this.curOp.forceUpdate=!0,bc(this),Vc(this,this.doc.scrollLeft,this.doc.scrollTop),Fd(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Aa(this,"refresh",this)})),swapDoc:od((function(a){var b=this.doc;return b.cm=null,Yd(this,a),bc(this),this.display.input.reset(),Vc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,ub(this,"swapDoc",this,b),b})),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ea(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},di=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Og,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};di.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation((function(){e.setSelections(b.ranges,0,Tg),e.replaceSelection("",null,"cut")}))}if(a.clipboardData){a.clipboardData.clearData();var c=bi.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=cg(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=bi.text.join("\n");var i=document.activeElement;Ng(h),setTimeout((function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()}),50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;bg(f,e.options.spellcheck),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||ug<=11&&setTimeout(nd(e,(function(){return c.updateFromDOM()})),20)})),ch(f,"compositionstart",(function(a){c.composing={data:a.data,done:!1}})),ch(f,"compositionupdate",(function(a){c.composing||(c.composing={data:a.data,done:!1})})),ch(f,"compositionend",(function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)})),ch(f,"touchstart",(function(){return d.forceCompositionEnd()})),ch(f,"input",(function(){c.composing||c.readFromDOMSoon()})),ch(f,"copy",b),ch(f,"cut",b)},di.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},di.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},di.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=jg(b,a.anchorNode,a.anchorOffset),g=jg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&fg(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&fg(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Jg(i.node,i.offset,j.offset,j.node)}catch(a){}m&&(!pg&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):pg&&this.startGracePeriod()),this.rememberSelection()}},di.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation((function(){return a.cm.curOp.selectionChanged=!0}))}),20)},di.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},di.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},di.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},di.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},di.prototype.blur=function(){this.div.blur()},di.prototype.getField=function(){return this.div},di.prototype.supportsTouch=function(){return!0},di.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():md(this.cm,(function(){return b.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,a)},di.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},di.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(Dg&&xg&&this.cm.options.gutters.length&&gg(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=jg(b,a.anchorNode,a.anchorOffset),d=jg(b,a.focusNode,a.focusOffset);c&&d&&md(b,(function(){te(b.doc,Nd(c,d),Tg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)}))}}},di.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(ig(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Je(a.doc,l,w,x,"+input"),!0):void 0},di.prototype.ensurePolled=function(){this.forceCompositionEnd()},di.prototype.reset=function(){this.forceCompositionEnd()},di.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},di.prototype.readFromDOMSoon=function(){ +var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()}),80))},di.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||md(this.cm,(function(){return qd(a.cm)}))},di.prototype.setUneditable=function(a){a.contentEditable="false"},di.prototype.onKeyPress=function(a){0==a.charCode||this.composing||(a.preventDefault(),this.cm.isReadOnly()||nd(this.cm,Zf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},di.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},di.prototype.onContextMenu=function(){},di.prototype.resetPosition=function(){},di.prototype.needsContentAttribute=!0;var ei=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Og,this.hasSelection=!1,this.composing=null};ei.prototype.init=function(a){function b(a){if(!Ba(e,a)){if(e.somethingSelected())Yf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=ag(e);Yf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Tg):(d.prevInput="",f.value=b.text.join("\n"),Ng(f))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm;this.createField(a);var f=this.textarea;a.wrapper.insertBefore(this.wrapper,a.wrapper.firstChild),Cg&&(f.style.width="0px"),ch(f,"input",(function(){tg&&ug>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()})),ch(f,"paste",(function(a){Ba(e,a)||$f(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())})),ch(f,"cut",b),ch(f,"copy",b),ch(a.scroller,"paste",(function(b){Jb(a,b)||Ba(e,b)||(e.state.pasteIncoming=!0,d.focus())})),ch(a.lineSpace,"selectstart",(function(b){Jb(a,b)||Fa(b)})),ch(f,"compositionstart",(function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}})),ch(f,"compositionend",(function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)}))},ei.prototype.createField=function(a){this.wrapper=cg(),this.textarea=this.wrapper.firstChild},ei.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=ic(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},ei.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},ei.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Ng(this.textarea),tg&&ug>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",tg&&ug>=9&&(this.hasSelection=null))}},ei.prototype.getField=function(){return this.textarea},ei.prototype.supportsTouch=function(){return!1},ei.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Eg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},ei.prototype.blur=function(){this.textarea.blur()},ei.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ei.prototype.receivedFocus=function(){this.slowPoll()},ei.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){a.poll(),a.cm.state.focused&&a.slowPoll()}))},ei.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},ei.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||fh(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(tg&&ug>=9&&this.hasSelection===e||Fg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return md(b,(function(){Zf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},ei.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ei.prototype.onKeyPress=function(){tg&&ug>=9&&(this.hasSelection=null),this.fastPoll()},ei.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,tg&&ug<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!tg||tg&&ug<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?nd(e,Be)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!yg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&nd(e,te)(e.doc,Nd(h),Tg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(tg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(vg&&(n=window.scrollY),f.input.focus(),vg&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),tg&&ug>=9&&b(),Lg){Ia(a);var o=function(){za(window,"mouseup",o),setTimeout(c,20)};ch(window,"mouseup",o)}else setTimeout(c,50)}},ei.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},ei.prototype.setUneditable=function(){},ei.prototype.needsContentAttribute=!1,Rf(Vf),ci(Vf);var fi="iter insert remove copy getEditor constructor".split(" ");for(var gi in Kh.prototype)Kh.prototype.hasOwnProperty(gi)&&m(fi,gi)<0&&(Vf.prototype[gi]=(function(a){return function(){return a.apply(this.doc,arguments)}})(Kh.prototype[gi]));return Ea(Kh),Vf.inputStyles={textarea:ei,contenteditable:di},Vf.defineMode=function(a){Vf.defaults.mode||"null"==a||(Vf.defaults.mode=a),Oa.apply(this,arguments)},Vf.defineMIME=Pa,Vf.defineMode("null",(function(){return{token:function(a){return a.skipToEnd()}}})),Vf.defineMIME("text/plain","null"),Vf.defineExtension=function(a,b){Vf.prototype[a]=b},Vf.defineDocExtension=function(a,b){Kh.prototype[a]=b},Vf.fromTextArea=lg,mg(Vf),Vf.version="5.37.0",Vf})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/clike/clike.js b/media/editors/codemirror/mode/clike/clike.js index da7a6bf5b6697..d5c8bf5d4c609 100644 --- a/media/editors/codemirror/mode/clike/clike.js +++ b/media/editors/codemirror/mode/clike/clike.js @@ -624,6 +624,10 @@ CodeMirror.defineMode("clike", function(config, parserConfig) { defKeywords: words("class val var object interface fun"), atoms: words("true false null this"), hooks: { + "@": function(stream) { + stream.eatWhile(/[\w\$_]/); + return "meta"; + }, '"': function(stream, state) { state.tokenize = tokenKotlinString(stream.match('""')); return state.tokenize(stream, state); diff --git a/media/editors/codemirror/mode/clike/clike.min.js b/media/editors/codemirror/mode/clike/clike.min.js index 8e36f66eeac94..f9ce2d86b1772 100644 --- a/media/editors/codemirror/mode/clike/clike.min.js +++ b/media/editors/codemirror/mode/clike/clike.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("NULL true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false NULL"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d;d=b.next();){if("*"==d&&b.eat("/")){if(1==a){c.tokenize=null;break}return c.tokenize=r(a-1),c.tokenize(b,c)}if("/"==d&&b.eat("*"))return c.tokenize=r(a+1),c.tokenize(b,c)}return"comment"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function t(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){w=t(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",(function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var u="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",v="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(u),types:g(v+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("NULL true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(u+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(v+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false NULL"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")},"/":function(a,b){return!!a.eat("*")&&(b.tokenize=r(1),b.tokenize(a,b))}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object interface fun"),atoms:g("true false null this"),hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=s(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(u+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(v),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(u+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(v),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(v),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var w=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=t(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!w||!a.match("`"))&&(b.tokenize=w,w=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/javascript/javascript.js b/media/editors/codemirror/mode/javascript/javascript.js index 52da9e23532a4..c4a709c624972 100644 --- a/media/editors/codemirror/mode/javascript/javascript.js +++ b/media/editors/codemirror/mode/javascript/javascript.js @@ -126,7 +126,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var kw = keywords[word] return ret(kw.type, kw.style, word) } - if (word == "async" && stream.match(/^(\s|\/\*.*?\*\/)*[\(\w]/, false)) + if (word == "async" && stream.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/, false)) return ret("async", "keyword", word) } return ret("variable", "variable", word) @@ -356,6 +356,9 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } else if (isTS && value == "namespace") { cx.marked = "keyword" return cont(pushlex("form"), expression, block, poplex) + } else if (isTS && value == "abstract") { + cx.marked = "keyword" + return cont(statement) } else { return cont(pushlex("stat"), maybelabel); } @@ -560,19 +563,19 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } } function typeexpr(type, value) { + if (value == "keyof" || value == "typeof") { + cx.marked = "keyword" + return cont(value == "keyof" ? typeexpr : expressionNoComma) + } if (type == "variable" || value == "void") { - if (value == "keyof") { - cx.marked = "keyword" - return cont(typeexpr) - } else { - cx.marked = "type" - return cont(afterType) - } + cx.marked = "type" + return cont(afterType) } if (type == "string" || type == "number" || type == "atom") return cont(afterType); if (type == "[") return cont(pushlex("]"), commasep(typeexpr, "]", ","), poplex, afterType) if (type == "{") return cont(pushlex("}"), commasep(typeprop, "}", ",;"), poplex, afterType) if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType) + if (type == "<") return cont(commasep(typeexpr, ">"), typeexpr) } function maybeReturnType(type) { if (type == "=>") return cont(typeexpr) @@ -589,9 +592,10 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { return cont(expression, maybetype, expect("]"), typeprop) } } - function typearg(type) { - if (type == "variable") return cont(typearg) - else if (type == ":") return cont(typeexpr) + function typearg(type, value) { + if (type == "variable" && cx.stream.match(/^\s*[?:]/, false) || value == "?") return cont(typearg) + if (type == ":") return cont(typeexpr) + return pass(typeexpr) } function afterType(type, value) { if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType) diff --git a/media/editors/codemirror/mode/javascript/javascript.min.js b/media/editors/codemirror/mode/javascript/javascript.min.js index fca8ff5744947..2c7636b9649c8 100644 --- a/media/editors/codemirror/mode/javascript/javascript.min.js +++ b/media/editors/codemirror/mode/javascript/javascript.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Pa.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(Na.test(c)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ra.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ta.state=a,Ta.stream=e,Ta.marked=null,Ta.cc=f,Ta.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ta.marked?Ta.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ta.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ta.state;if(Ta.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ta.state.context={prev:Ta.state.context,vars:Ta.state.localVars},Ta.state.localVars=Ua}function s(){Ta.state.localVars=Ta.state.context.vars,Ta.state.context=Ta.state.context.prev}function t(a,b){var c=function(){var c=Ta.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ta.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ta.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ta.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ta.state.lexical.info&&Ta.state.cc[Ta.state.cc.length-1]==u&&Ta.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Ta.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Ta.stream.match(/^\s*\w/,!1)?(Ta.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Ta.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ta.state.fatArrowAt==Ta.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Sa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):"import"==a?o(x):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Ta.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Ta.marked="keyword",o(W,d)):"regexp"==a?(Ta.state.lastType=Ta.marked="operator",Ta.stream.backUp(Ta.stream.pos-Ta.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ta.marked="string-2",Ta.state.tokenize=i,o(E)}function G(a){return j(Ta.stream,Ta.state),n("{"==a?w:x)}function H(a){return j(Ta.stream,Ta.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ta.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ta.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ta.marked="property",o()}function N(a,b){if("async"==a)return Ta.marked="property",o(N);if("variable"==a||"keyword"==Ta.style){if(Ta.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Ta.state.fatArrowAt==Ta.stream.start&&(c=Ta.stream.match(/^\s*:\s*/,!1))&&(Ta.state.fatArrowAt=Ta.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ta.marked=Ka?"property":Ta.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Ta.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ta.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ta.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ta.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ta.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ma){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ma&&":"==a)return Ta.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ta.marked="keyword",o()}function W(a,b){return"variable"==a||"void"==b?"keyof"==b?(Ta.marked="keyword",o(W)):(Ta.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a||"&"==b?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ta.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Ta.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Ta.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ta.stream.match(/^\s*:/,!1)?("variable"==a&&(Ta.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a,b){return"await"==b?o(ia):"("==a?o(t(")"),ja,v(")"),u):void 0}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ta.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ta.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ta.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Ta.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Ta.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Ta.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ta.marked="keyword",o(sa)):"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Ta.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ta.marked="keyword",o(Aa,v(";"))):"default"==b?(Ta.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ta.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():"("==a?n(x):n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ta.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ta.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ta.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=c.statementIndent,Ka=c.jsonld,La=c.json||Ka,Ma=c.typescript,Na=c.wordCharacters||/[\w$\xa1-\uffff]/,Oa=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra="([{}])",Sa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ta={state:null,column:null,marked:null,cc:null},Ua={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"!=Ga||"++"!=Ha&&"--"!=Ha?Ga:"incdec",m(b,c,Ga,Ha,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ja&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ia:"stat"==l?i.indented+(Ea(b,d)?Ja||Ia:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ia):i.indented+(/^(?:case|default)\b/.test(d)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("javascript",(function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Pa.test(c))return">"==c&&b.lexical&&">"==b.lexical.type||(a.eat("=")?"!"!=c&&"="!=c||a.eat("="):/[<>*+\-]/.test(c)&&(a.eat(c),">"==c&&a.eat(c))),e("operator","operator",a.current());if(Na.test(c)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(c<0)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;g>=0;--g){var h=a.string.charAt(g),i=Ra.indexOf(h);if(i>=0&&i<3){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(i>=3&&i<6)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ta.state=a,Ta.stream=e,Ta.marked=null,Ta.cc=f,Ta.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ta.marked?Ta.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ta.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ta.state;if(Ta.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Ta.state.context={prev:Ta.state.context,vars:Ta.state.localVars},Ta.state.localVars=Ua}function s(){Ta.state.localVars=Ta.state.context.vars,Ta.state.context=Ta.state.context.prev}function t(a,b){var c=function(){var c=Ta.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ta.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Ta.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Ta.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Ta.state.lexical.info&&Ta.state.cc[Ta.state.cc.length-1]==u&&Ta.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Ta.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Ta.stream.match(/^\s*\w/,!1)?(Ta.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Ta.marked="keyword",o(t("form"),x,S,u)):Ma&&"abstract"==b?(Ta.marked="keyword",o(w)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("!=a?n():o(t(")"),x,v(")"),u)}function A(a,b,c){if(Ta.state.fatArrowAt==Ta.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Sa.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Ta.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):"import"==a?o(x):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=0==c?C:D,e=0==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Ta.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"!=a?"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Ta.marked="keyword",o(W,d)):"regexp"==a?(Ta.state.lastType=Ta.marked="operator",Ta.stream.backUp(Ta.stream.pos-Ta.stream.start-1),o(e)):void 0:void 0}function E(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(E):o(x,F)}function F(a){if("}"==a)return Ta.marked="string-2",Ta.state.tokenize=i,o(E)}function G(a){return j(Ta.stream,Ta.state),n("{"==a?w:x)}function H(a){return j(Ta.stream,Ta.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Ta.marked="keyword",o(C)}function K(a,b){if("target"==b)return Ta.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Ta.marked="property",o()}function N(a,b){if("async"==a)return Ta.marked="property",o(N);if("variable"==a||"keyword"==Ta.style){if(Ta.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Ta.state.fatArrowAt==Ta.stream.start&&(c=Ta.stream.match(/^\s*:\s*/,!1))&&(Ta.state.fatArrowAt=Ta.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Ta.marked=Ka?"property":Ta.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Ta.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Ta.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"!=a?n(P):(Ta.marked="property",o(na))}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?c.indexOf(e)>-1:","==e){var g=Ta.state.lexical;return"call"==g.info&&(g.pos=(g.pos||0)+1),o((function(c,d){return c==b||d==b?n():n(a)}),d)}return e==b||f==b?o():o(v(b))}return function(c,e){return c==b||e==b?o():n(a,d)}}function R(a,b,c){for(var d=3;d<arguments.length;d++)Ta.cc.push(arguments[d]);return o(t(b,c),Q(a,b),u)}function S(a){return"}"==a?o():n(w,S)}function T(a,b){if(Ma){if(":"==a)return o(W);if("?"==b)return o(T)}}function U(a){if(Ma&&":"==a)return Ta.stream.match(/^\s*\w+\s+is\b/,!1)?o(x,V,W):o(W)}function V(a,b){if("is"==b)return Ta.marked="keyword",o()}function W(a,b){return"keyof"==b||"typeof"==b?(Ta.marked="keyword",o("keyof"==b?W:y)):"variable"==a||"void"==b?(Ta.marked="type",o($)):"string"==a||"number"==a||"atom"==a?o($):"["==a?o(t("]"),Q(W,"]",","),u,$):"{"==a?o(t("}"),Q(Y,"}",",;"),u,$):"("==a?o(Q(Z,")"),X):"<"==a?o(Q(W,">"),W):void 0}function X(a){if("=>"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a,b){return"variable"==a&&Ta.stream.match(/^\s*[?:]/,!1)||"?"==b?o(Z):":"==a?o(W):n(W)}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a||"&"==b?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Ta.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Ta.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Ta.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Ta.stream.match(/^\s*:/,!1)?("variable"==a&&(Ta.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a,b){return"await"==b?o(ia):"("==a?o(t(")"),ja,v(")"),u):void 0}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Ta.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Ta.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Ta.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Ta.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Ta.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Ta.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ta.marked="keyword",o(sa)):"variable"==a||"keyword"==Ta.style?(Ta.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Ta.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Ta.marked="keyword",o(Aa,v(";"))):"default"==b?(Ta.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Ta.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():"("==a?n(x):n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Ta.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Ta.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Ta.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=c.statementIndent,Ka=c.jsonld,La=c.json||Ka,Ma=c.typescript,Na=c.wordCharacters||/[\w$\xa1-\uffff]/,Oa=(function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}})(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra="([{}])",Sa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ta={state:null,column:null,marked:null,cc:null},Ua={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:a||0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"!=Ga||"++"!=Ha&&"--"!=Ha?Ga:"incdec",m(b,c,Ga,Ha,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e,g=d&&d.charAt(0),i=b.lexical;if(!/^\s*else\b/.test(d))for(var j=b.cc.length-1;j>=0;--j){var k=b.cc[j];if(k==u)i=i.prev;else if(k!=ha)break}for(;("stat"==i.type||"form"==i.type)&&("}"==g||(e=b.cc[b.cc.length-1])&&(e==C||e==D)&&!/^[,\.=+\-*:?[\(]/.test(d));)i=i.prev;Ja&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,m=g==l;return"vardef"==l?i.indented+("operator"==b.lastType||","==b.lastType?i.info+1:0):"form"==l&&"{"==g?i.indented:"form"==l?i.indented+Ia:"stat"==l?i.indented+(Ea(b,d)?Ja||Ia:0):"switch"!=i.info||m||0==c.doubleIndentSwitch?i.align?i.column+(m?0:1):i.indented+(m?0:Ia):i.indented+(/^(?:case|default)\b/.test(d)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];b!=x&&b!=y||a.cc.pop()}}})),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/markdown/markdown.js b/media/editors/codemirror/mode/markdown/markdown.js index 24e24680262d7..72dfd5b8cd5c3 100644 --- a/media/editors/codemirror/mode/markdown/markdown.js +++ b/media/editors/codemirror/mode/markdown/markdown.js @@ -90,7 +90,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { , setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/ , textRE = /^[^#!\[\]*_\\<>` "'(~:]+/ , fencedCodeRE = /^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/ - , linkDefRE = /^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/ // naive link-definition + , linkDefRE = /^\s*\[[^\]]+?\]:.*$/ // naive link-definition , punctuation = /[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/ , expandedTab = " " // CommonMark specifies tab as 4 spaces @@ -534,7 +534,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { return type + tokenTypes.linkEmail; } - if (modeCfg.xml && ch === '<' && stream.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i, false)) { + if (modeCfg.xml && ch === '<' && stream.match(/^(!--|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*>)/i, false)) { var end = stream.string.indexOf(">", stream.pos); if (end != -1) { var atts = stream.string.substring(stream.start, end); diff --git a/media/editors/codemirror/mode/markdown/markdown.min.js b/media/editors/codemirror/mode/markdown/markdown.min.js index 13d049f43dd8e..de01baa48ddb7 100644 --- a/media/editors/codemirror/mode/markdown/markdown.min.js +++ b/media/editors/codemirror/mode/markdown/markdown.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.linkHref=!1,a.linkText=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.em=!1,f.strong=!1,f.code=!1,f.strikethrough=!1,f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z]+(?:\s+[a-z_:.\-]+(?:\s*=\s*[^ >]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:\s*\S+(\s*\S*\s*)?$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,linkHref:b.linkHref,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,!b.localState&&(b.f=b.block,b.f!=j)){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/markdown","markdown"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("markdown",(function(b,c){function d(c){if(a.findModeByName){var d=a.findModeByName(c);d&&(c=d.mime||d.mimes[0])}var e=a.getMode(b,c);return"null"==e.name?null:e}function e(a,b,c){return b.f=b.inline=c,c(a,b)}function f(a,b,c){return b.f=b.block=c,c(a,b)}function g(a){return!a||!/\S/.test(a.string)}function h(a){return a.linkTitle=!1,a.linkHref=!1,a.linkText=!1,a.em=!1,a.strong=!1,a.strikethrough=!1,a.quote=0,a.indentedCode=!1,a.f==j&&(a.f=n,a.block=i),a.trailingSpace=0,a.trailingSpaceNewLine=!1,a.prevLine=a.thisLine,a.thisLine={stream:null},null}function i(b,f){var h=b.column()===f.indentation,i=g(f.prevLine.stream),j=f.indentedCode,m=f.prevLine.hr,n=f.list!==!1,o=(f.listStack[f.listStack.length-1]||0)+3;f.indentedCode=!1;var p=f.indentation;if(null===f.indentationDiff&&(f.indentationDiff=f.indentation,n)){for(f.em=!1,f.strong=!1,f.code=!1,f.strikethrough=!1,f.list=null;p<f.listStack[f.listStack.length-1];)f.listStack.pop(),f.listStack.length?f.indentation=f.listStack[f.listStack.length-1]:f.list=!1;f.list!==!1&&(f.indentationDiff=p-f.listStack[f.listStack.length-1])}var q=!(i||m||f.prevLine.header||n&&j||f.prevLine.fencedCodeEnd),s=(f.list===!1||m||i)&&f.indentation<=o&&b.match(y),t=null;if(f.indentationDiff>=4&&(j||f.prevLine.fencedCodeEnd||f.prevLine.header||i))return b.skipToEnd(),f.indentedCode=!0,w.code;if(b.eatSpace())return null;if(h&&f.indentation<=o&&(t=b.match(B))&&t[1].length<=6)return f.quote=0,f.header=t[1].length,f.thisLine.header=!0,c.highlightFormatting&&(f.formatting="header"),f.f=f.inline,l(f);if(f.indentation<=o&&b.eat(">"))return f.quote=h?1:f.quote+1,c.highlightFormatting&&(f.formatting="quote"),b.eatSpace(),l(f);if(!s&&!f.setext&&h&&f.indentation<=o&&(t=b.match(z))){var u=t[1]?"ol":"ul";return f.indentation=p+b.current().length,f.list=!0,f.quote=0,f.listStack.push(f.indentation),c.taskLists&&b.match(A,!1)&&(f.taskList=!0),f.f=f.inline,c.highlightFormatting&&(f.formatting=["list","list-"+u]),l(f)}return h&&f.indentation<=o&&(t=b.match(E,!0))?(f.quote=0,f.fencedEndRE=new RegExp(t[1]+"+ *$"),f.localMode=c.fencedCodeBlockHighlighting&&d(t[2]),f.localMode&&(f.localState=a.startState(f.localMode)),f.f=f.block=k,c.highlightFormatting&&(f.formatting="code-block"),f.code=-1,l(f)):f.setext||!(q&&n||f.quote||f.list!==!1||f.code||s||F.test(b.string))&&(t=b.lookAhead(1))&&(t=t.match(C))?(f.setext?(f.header=f.setext,f.setext=0,b.skipToEnd(),c.highlightFormatting&&(f.formatting="header")):(f.header="="==t[0].charAt(0)?1:2,f.setext=f.header),f.thisLine.header=!0,f.f=f.inline,l(f)):s?(b.skipToEnd(),f.hr=!0,f.thisLine.hr=!0,w.hr):"["===b.peek()?e(b,f,r):e(b,f,f.inline)}function j(b,c){var d=u.token(b,c.htmlState);if(!v){var e=a.innerMode(u,c.htmlState);("xml"==e.mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText||c.md_inside&&b.current().indexOf(">")>-1)&&(c.f=n,c.block=i,c.htmlState=null)}return d}function k(a,b){var d=b.listStack[b.listStack.length-1]||0,e=b.indentation<d,g=d+3;if(b.fencedEndRE&&b.indentation<=g&&(e||a.match(b.fencedEndRE))){c.highlightFormatting&&(b.formatting="code-block");var h;return e||(h=l(b)),b.localMode=b.localState=null,b.block=i,b.f=n,b.fencedEndRE=null,b.code=0,b.thisLine.fencedCodeEnd=!0,e?f(a,b,b.block):h}return b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),w.code)}function l(a){var b=[];if(a.formatting){b.push(w.formatting),"string"==typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d<a.formatting.length;d++)b.push(w.formatting+"-"+a.formatting[d]),"header"===a.formatting[d]&&b.push(w.formatting+"-"+a.formatting[d]+"-"+a.header),"quote"===a.formatting[d]&&(!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;if(a.linkHref?b.push(w.linkHref,"url"):(a.strong&&b.push(w.strong),a.em&&b.push(w.em),a.strikethrough&&b.push(w.strikethrough),a.emoji&&b.push(w.emoji),a.linkText&&b.push(w.linkText),a.code&&b.push(w.code),a.image&&b.push(w.image),a.imageAltText&&b.push(w.imageAltText,"link"),a.imageMarker&&b.push(w.imageMarker)),a.header&&b.push(w.header,w.header+"-"+a.header),a.quote&&(b.push(w.quote),!c.maxBlockquoteDepth||c.maxBlockquoteDepth>=a.quote?b.push(w.quote+"-"+a.quote):b.push(w.quote+"-"+c.maxBlockquoteDepth)),a.list!==!1){var e=(a.listStack.length-1)%3;e?1===e?b.push(w.list2):b.push(w.list3):b.push(w.list1)}return a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b")),b.length?b.join(" "):null}function m(a,b){if(a.match(D,!0))return l(b)}function n(b,d){var e=d.text(b,d);if("undefined"!=typeof e)return e;if(d.list)return d.list=null,l(d);if(d.taskList){var g=" "===b.match(A,!0)[1];return g?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,l(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),l(d);var h=b.next();if(d.linkTitle){d.linkTitle=!1;var i=h;"("===h&&(i=")"),i=(i+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var k="^\\s*(?:[^"+i+"\\\\]+|\\\\\\\\|\\\\.)"+i;if(b.match(new RegExp(k),!0))return w.linkHref}if("`"===h){var m=d.formatting;c.highlightFormatting&&(d.formatting="code"),b.eatWhile("`");var q=b.current().length;if(0!=d.code||d.quote&&1!=q){if(q==d.code){var r=l(d);return d.code=0,r}return d.formatting=m,l(d)}return d.code=q,l(d)}if(d.code)return l(d);if("\\"===h&&(b.next(),c.highlightFormatting)){var s=l(d),t=w.formatting+"-escape";return s?s+" "+t:t}if("!"===h&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("["===h&&d.imageMarker&&b.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,c.highlightFormatting&&(d.formatting="image"),l(d);if("]"===h&&d.imageAltText){c.highlightFormatting&&(d.formatting="image");var s=l(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=p,s}if("["===h&&!d.image)return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),l(d);if("]"===h&&d.linkText){c.highlightFormatting&&(d.formatting="link");var s=l(d);return d.linkText=!1,d.inline=d.f=b.match(/\(.*?\)| ?\[.*?\]/,!1)?p:n,s}if("<"===h&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkInline}if("<"===h&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=o,c.highlightFormatting&&(d.formatting="link");var s=l(d);return s?s+=" ":s="",s+w.linkEmail}if(c.xml&&"<"===h&&b.match(/^(!--|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*>)/i,!1)){var v=b.string.indexOf(">",b.pos);if(v!=-1){var x=b.string.substring(b.start,v);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(x)&&(d.md_inside=!0)}return b.backUp(1),d.htmlState=a.startState(u),f(b,d,j)}if(c.xml&&"<"===h&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if("*"===h||"_"===h){for(var y=1,z=1==b.pos?" ":b.string.charAt(b.pos-2);y<3&&b.eat(h);)y++;var B=b.peek()||" ",C=!/\s/.test(B)&&(!G.test(B)||/\s/.test(z)||G.test(z)),D=!/\s/.test(z)&&(!G.test(z)||/\s/.test(B)||G.test(B)),E=null,F=null;if(y%2&&(d.em||!C||"*"!==h&&D&&!G.test(z)?d.em!=h||!D||"*"!==h&&C&&!G.test(B)||(E=!1):E=!0),y>1&&(d.strong||!C||"*"!==h&&D&&!G.test(z)?d.strong!=h||!D||"*"!==h&&C&&!G.test(B)||(F=!1):F=!0),null!=F||null!=E){c.highlightFormatting&&(d.formatting=null==E?"strong":null==F?"em":"strong em"),E===!0&&(d.em=h),F===!0&&(d.strong=h);var r=l(d);return E===!1&&(d.em=!1),F===!1&&(d.strong=!1),r}}else if(" "===h&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return l(d);b.backUp(1)}if(c.strikethrough)if("~"===h&&b.eatWhile(h)){if(d.strikethrough){c.highlightFormatting&&(d.formatting="strikethrough");var r=l(d);return d.strikethrough=!1,r}if(b.match(/^[^\s]/,!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),l(d)}else if(" "===h&&b.match(/^~~/,!0)){if(" "===b.peek())return l(d);b.backUp(2)}if(c.emoji&&":"===h&&b.match(/^[a-z_\d+-]+:/)){d.emoji=!0,c.highlightFormatting&&(d.formatting="emoji");var H=l(d);return d.emoji=!1,H}return" "===h&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),l(d)}function o(a,b){var d=a.next();if(">"===d){b.f=b.inline=n,c.highlightFormatting&&(b.formatting="link");var e=l(b);return e?e+=" ":e="",e+w.linkInline}return a.match(/^[^>]+/,!0),w.linkInline}function p(a,b){if(a.eatSpace())return null;var d=a.next();return"("===d||"["===d?(b.f=b.inline=q("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,l(b)):"error"}function q(a){return function(b,d){var e=b.next();if(e===a){d.f=d.inline=n,c.highlightFormatting&&(d.formatting="link-string");var f=l(d);return d.linkHref=!1,f}return b.match(I[a]),d.linkHref=!0,l(d)}}function r(a,b){return a.match(/^([^\]\\]|\\.)*\]:/,!1)?(b.f=s,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,l(b)):e(a,b,n)}function s(a,b){if(a.match(/^\]:/,!0)){b.f=b.inline=t,c.highlightFormatting&&(b.formatting="link");var d=l(b);return b.linkText=!1,d}return a.match(/^([^\]\\]|\\.)+/,!0),w.linkText}function t(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=n,w.linkHref+" url")}var u=a.getMode(b,"text/html"),v="null"==u.name;void 0===c.highlightFormatting&&(c.highlightFormatting=!1),void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0),void 0===c.taskLists&&(c.taskLists=!1),void 0===c.strikethrough&&(c.strikethrough=!1),void 0===c.emoji&&(c.emoji=!1),void 0===c.fencedCodeBlockHighlighting&&(c.fencedCodeBlockHighlighting=!0),void 0===c.xml&&(c.xml=!0),void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var w={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var x in w)w.hasOwnProperty(x)&&c.tokenTypeOverrides[x]&&(w[x]=c.tokenTypeOverrides[x]);var y=/^([*\-_])(?:\s*\1){2,}\s*$/,z=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,A=/^\[(x| )\](?=\s)/i,B=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,C=/^ *(?:\={1,}|-{1,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/,F=/^\s*\[[^\]]+?\]:.*$/,G=/[!\"#$%&\'()*+,\-\.\/:;<=>?@\[\\\]^_`{|}~—]/,H=" ",I={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/},J={startState:function(){return{f:i,prevLine:{stream:null},thisLine:{stream:null},block:i,htmlState:null,indentation:0,inline:n,text:m,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(u,b.htmlState),indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkText:b.linkText,linkTitle:b.linkTitle,linkHref:b.linkHref,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,emoji:b.emoji,header:b.header,setext:b.setext,hr:b.hr,taskList:b.taskList,list:b.list,listStack:b.listStack.slice(0),quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedEndRE:b.fencedEndRE}},token:function(a,b){if(b.formatting=!1,a!=b.thisLine.stream){if(b.header=0,b.hr=!1,a.match(/^\s*$/,!0))return h(b),null;if(b.prevLine=b.thisLine,b.thisLine={stream:a},b.taskList=!1,b.trailingSpace=0,b.trailingSpaceNewLine=!1,!b.localState&&(b.f=b.block,b.f!=j)){var c=a.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(b.indentation=c,b.indentationDiff=null,c>0)return null}}return b.f(a,b)},innerMode:function(a){return a.block==j?{state:a.htmlState,mode:u}:a.localState?{state:a.localState,mode:a.localMode}:{state:a,mode:J}},indent:function(b,c,d){return b.block==j&&u.indent?u.indent(b.htmlState,c,d):b.localState&&b.localMode.indent?b.localMode.indent(b.localState,c,d):a.Pass},blankLine:h,getType:l,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return J}),"xml"),a.defineMIME("text/markdown","markdown"),a.defineMIME("text/x-markdown","markdown")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/python/python.js b/media/editors/codemirror/mode/python/python.js index 4de1e75d5402c..a13a8509213ea 100644 --- a/media/editors/codemirror/mode/python/python.js +++ b/media/editors/codemirror/mode/python/python.js @@ -62,7 +62,7 @@ var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/; myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]); myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]); - var stringPrefixes = new RegExp("^(([rbuf]|(br))?('{3}|\"{3}|['\"]))", "i"); + var stringPrefixes = new RegExp("^(([rbuf]|(br)|(fr))?('{3}|\"{3}|['\"]))", "i"); } else { var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/; myKeywords = myKeywords.concat(["exec", "print"]); @@ -142,8 +142,14 @@ // Handle Strings if (stream.match(stringPrefixes)) { - state.tokenize = tokenStringFactory(stream.current()); - return state.tokenize(stream, state); + var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1; + if (!isFmtString) { + state.tokenize = tokenStringFactory(stream.current()); + return state.tokenize(stream, state); + } else { + state.tokenize = formatStringFactory(stream.current(), state.tokenize); + return state.tokenize(stream, state); + } } for (var i = 0; i < operators.length; i++) @@ -174,6 +180,77 @@ return ERRORCLASS; } + function formatStringFactory(delimiter, tokenOuter) { + while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0) + delimiter = delimiter.substr(1); + + var singleline = delimiter.length == 1; + var OUTCLASS = "string"; + + function tokenFString(stream, state) { + // inside f-str Expression + if (stream.match(delimiter)) { + // expression ends pre-maturally, but very common in editing + // Could show error to remind users to close brace here + state.tokenize = tokenString + return OUTCLASS; + } else if (stream.match('{')) { + // starting brace, if not eaten below + return "punctuation"; + } else if (stream.match('}')) { + // return to regular inside string state + state.tokenize = tokenString + return "punctuation"; + } else { + // use tokenBaseInner to parse the expression + return tokenBaseInner(stream, state); + } + } + + function tokenString(stream, state) { + while (!stream.eol()) { + stream.eatWhile(/[^'"\{\}\\]/); + if (stream.eat("\\")) { + stream.next(); + if (singleline && stream.eol()) + return OUTCLASS; + } else if (stream.match(delimiter)) { + state.tokenize = tokenOuter; + return OUTCLASS; + } else if (stream.match('{{')) { + // ignore {{ in f-str + return OUTCLASS; + } else if (stream.match('{', false)) { + // switch to nested mode + state.tokenize = tokenFString + if (stream.current()) { + return OUTCLASS; + } else { + // need to return something, so eat the starting { + stream.next(); + return "punctuation"; + } + } else if (stream.match('}}')) { + return OUTCLASS; + } else if (stream.match('}')) { + // single } in f-string is an error + return ERRORCLASS; + } else { + stream.eat(/['"]/); + } + } + if (singleline) { + if (parserConf.singleLineStringErrors) + return ERRORCLASS; + else + state.tokenize = tokenOuter; + } + return OUTCLASS; + } + tokenString.isString = true; + return tokenString; + } + function tokenStringFactory(delimiter) { while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0) delimiter = delimiter.substr(1); @@ -254,14 +331,16 @@ if (current == ":" && !state.lambda && top(state).type == "py") pushPyScope(state); - var delimiter_index = current.length == 1 ? "[({".indexOf(current) : -1; - if (delimiter_index != -1) - pushBracketScope(stream, state, "])}".slice(delimiter_index, delimiter_index+1)); + if (current.length == 1 && !/string|comment/.test(style)) { + var delimiter_index = "[({".indexOf(current); + if (delimiter_index != -1) + pushBracketScope(stream, state, "])}".slice(delimiter_index, delimiter_index+1)); - delimiter_index = "])}".indexOf(current); - if (delimiter_index != -1) { - if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent - else return ERRORCLASS; + delimiter_index = "])}".indexOf(current); + if (delimiter_index != -1) { + if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent + else return ERRORCLASS; + } } if (state.dedent > 0 && stream.eol() && top(state).type == "py") { if (state.scopes.length > 1) state.scopes.pop(); diff --git a/media/editors/codemirror/mode/python/python.min.js b/media/editors/codemirror/mode/python/python.min.js index b2a9cf6054975..75c93c0669c2f 100644 --- a/media/editors/codemirror/mode/python/python.min.js +++ b/media/editors/codemirror/mode/python/python.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){return a.scopes[a.scopes.length-1]}var d=b(["and","or","not","is"]),e=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],f=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];a.registerHelper("hintWords","python",e.concat(f)),a.defineMode("python",(function(g,h){function i(a,b){var d=a.sol()&&"\\"!=b.lastToken;if(d&&(b.indent=a.indentation()),d&&"py"==c(b).type){var e=c(b).offset;if(a.eatSpace()){var f=a.indentation();return f>e?l(b):f<e&&n(a,b)&&"#"!=a.peek()&&(b.errorToken=!0),null}var g=j(a,b);return e>0&&n(a,b)&&(g+=" "+p),g}return j(a,b)}function j(a,b){if(a.eatSpace())return null;if(a.match(/^#.*/))return"comment";if(a.match(/^[0-9\.]/,!1)){var c=!1;if(a.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(c=!0),a.match(/^[\d_]+\.\d*/)&&(c=!0),a.match(/^\.\d+/)&&(c=!0),c)return a.eat(/J/i),"number";var e=!1;if(a.match(/^0x[0-9a-f_]+/i)&&(e=!0),a.match(/^0b[01_]+/i)&&(e=!0),a.match(/^0o[0-7_]+/i)&&(e=!0),a.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(a.eat(/J/i),e=!0),a.match(/^0(?![\dx])/i)&&(e=!0),e)return a.eat(/L/i),"number"}if(a.match(y))return b.tokenize=k(a.current()),b.tokenize(a,b);for(var f=0;f<r.length;f++)if(a.match(r[f]))return"operator";return a.match(q)?"punctuation":"."==b.lastToken&&a.match(x)?"property":a.match(z)||a.match(d)?"keyword":a.match(A)?"builtin":a.match(/^(self|cls)\b/)?"variable-2":a.match(x)?"def"==b.lastToken||"class"==b.lastToken?"def":"variable":(a.next(),p)}function k(a){function b(b,e){for(;!b.eol();)if(b.eatWhile(/[^'"\\]/),b.eat("\\")){if(b.next(),c&&b.eol())return d}else{if(b.match(a))return e.tokenize=i,d;b.eat(/['"]/)}if(c){if(h.singleLineStringErrors)return p;e.tokenize=i}return d}for(;"rubf".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var c=1==a.length,d="string";return b.isString=!0,b}function l(a){for(;"py"!=c(a).type;)a.scopes.pop();a.scopes.push({offset:c(a).offset+g.indentUnit,type:"py",align:null})}function m(a,b,c){var d=a.match(/^([\s\[\{\(]|#.*)*$/,!1)?null:a.column()+1;b.scopes.push({offset:b.indent+t,type:c,align:d})}function n(a,b){for(var d=a.indentation();b.scopes.length>1&&c(b).offset>d;){if("py"!=c(b).type)return!0;b.scopes.pop()}return c(b).offset!=d}function o(a,b){a.sol()&&(b.beginningOfLine=!0);var d=b.tokenize(a,b),e=a.current();if(b.beginningOfLine&&"@"==e)return a.match(x,!1)?"meta":w?"operator":p;/\S/.test(e)&&(b.beginningOfLine=!1),"variable"!=d&&"builtin"!=d||"meta"!=b.lastToken||(d="meta"),"pass"!=e&&"return"!=e||(b.dedent+=1),"lambda"==e&&(b.lambda=!0),":"!=e||b.lambda||"py"!=c(b).type||l(b);var f=1==e.length?"[({".indexOf(e):-1;if(f!=-1&&m(a,b,"])}".slice(f,f+1)),f="])}".indexOf(e),f!=-1){if(c(b).type!=e)return p;b.indent=b.scopes.pop().offset-t}return b.dedent>0&&a.eol()&&"py"==c(b).type&&(b.scopes.length>1&&b.scopes.pop(),b.dedent-=1),d}for(var p="error",q=h.delimiters||h.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,r=[h.singleOperators,h.doubleOperators,h.doubleDelimiters,h.tripleDelimiters,h.operators||/^([-+*\/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/],s=0;s<r.length;s++)r[s]||r.splice(s--,1);var t=h.hangingIndent||g.indentUnit,u=e,v=f;void 0!=h.extra_keywords&&(u=u.concat(h.extra_keywords)),void 0!=h.extra_builtins&&(v=v.concat(h.extra_builtins));var w=!(h.version&&Number(h.version)<3);if(w){var x=h.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;u=u.concat(["nonlocal","False","True","None","async","await"]),v=v.concat(["ascii","bytes","exec","print"]);var y=new RegExp("^(([rbuf]|(br))?('{3}|\"{3}|['\"]))","i")}else{var x=h.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;u=u.concat(["exec","print"]),v=v.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"]);var y=new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}var z=b(u),A=b(v),B={startState:function(a){return{tokenize:i,scopes:[{offset:a||0,type:"py",align:null}],indent:a||0,lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=b.errorToken;c&&(b.errorToken=!1);var d=o(a,b);return d&&"comment"!=d&&(b.lastToken="keyword"==d||"punctuation"==d?a.current():d),"punctuation"==d&&(d=null),a.eol()&&b.lambda&&(b.lambda=!1),c?d+" "+p:d},indent:function(b,d){if(b.tokenize!=i)return b.tokenize.isString?a.Pass:0;var e=c(b),f=e.type==d.charAt(0);return null!=e.align?e.align-(f?1:0):e.offset-(f?t:0)},electricInput:/^\s*[\}\]\)]$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return B})),a.defineMIME("text/x-python","python");var g=function(a){return a.split(" ")};a.defineMIME("text/x-cython",{name:"python",extra_keywords:g("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){return a.scopes[a.scopes.length-1]}var d=b(["and","or","not","is"]),e=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],f=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];a.registerHelper("hintWords","python",e.concat(f)),a.defineMode("python",(function(g,h){function i(a,b){var d=a.sol()&&"\\"!=b.lastToken;if(d&&(b.indent=a.indentation()),d&&"py"==c(b).type){var e=c(b).offset;if(a.eatSpace()){var f=a.indentation();return f>e?m(b):f<e&&o(a,b)&&"#"!=a.peek()&&(b.errorToken=!0),null}var g=j(a,b);return e>0&&o(a,b)&&(g+=" "+q),g}return j(a,b)}function j(a,b){if(a.eatSpace())return null;if(a.match(/^#.*/))return"comment";if(a.match(/^[0-9\.]/,!1)){var c=!1;if(a.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(c=!0),a.match(/^[\d_]+\.\d*/)&&(c=!0),a.match(/^\.\d+/)&&(c=!0),c)return a.eat(/J/i),"number";var e=!1;if(a.match(/^0x[0-9a-f_]+/i)&&(e=!0),a.match(/^0b[01_]+/i)&&(e=!0),a.match(/^0o[0-7_]+/i)&&(e=!0),a.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(a.eat(/J/i),e=!0),a.match(/^0(?![\dx])/i)&&(e=!0),e)return a.eat(/L/i),"number"}if(a.match(z)){var f=a.current().toLowerCase().indexOf("f")!==-1;return f?(b.tokenize=k(a.current(),b.tokenize),b.tokenize(a,b)):(b.tokenize=l(a.current()),b.tokenize(a,b))}for(var g=0;g<s.length;g++)if(a.match(s[g]))return"operator";return a.match(r)?"punctuation":"."==b.lastToken&&a.match(y)?"property":a.match(A)||a.match(d)?"keyword":a.match(B)?"builtin":a.match(/^(self|cls)\b/)?"variable-2":a.match(y)?"def"==b.lastToken||"class"==b.lastToken?"def":"variable":(a.next(),q)}function k(a,b){function c(b,c){return b.match(a)?(c.tokenize=d,f):b.match("{")?"punctuation":b.match("}")?(c.tokenize=d,"punctuation"):j(b,c)}function d(d,g){for(;!d.eol();)if(d.eatWhile(/[^'"\{\}\\]/),d.eat("\\")){if(d.next(),e&&d.eol())return f}else{if(d.match(a))return g.tokenize=b,f;if(d.match("{{"))return f;if(d.match("{",!1))return g.tokenize=c,d.current()?f:(d.next(),"punctuation");if(d.match("}}"))return f;if(d.match("}"))return q;d.eat(/['"]/)}if(e){if(h.singleLineStringErrors)return q;g.tokenize=b}return f}for(;"rubf".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var e=1==a.length,f="string";return d.isString=!0,d}function l(a){function b(b,e){for(;!b.eol();)if(b.eatWhile(/[^'"\\]/),b.eat("\\")){if(b.next(),c&&b.eol())return d}else{if(b.match(a))return e.tokenize=i,d;b.eat(/['"]/)}if(c){if(h.singleLineStringErrors)return q;e.tokenize=i}return d}for(;"rubf".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var c=1==a.length,d="string";return b.isString=!0,b}function m(a){for(;"py"!=c(a).type;)a.scopes.pop();a.scopes.push({offset:c(a).offset+g.indentUnit,type:"py",align:null})}function n(a,b,c){var d=a.match(/^([\s\[\{\(]|#.*)*$/,!1)?null:a.column()+1;b.scopes.push({offset:b.indent+u,type:c,align:d})}function o(a,b){for(var d=a.indentation();b.scopes.length>1&&c(b).offset>d;){if("py"!=c(b).type)return!0;b.scopes.pop()}return c(b).offset!=d}function p(a,b){a.sol()&&(b.beginningOfLine=!0);var d=b.tokenize(a,b),e=a.current();if(b.beginningOfLine&&"@"==e)return a.match(y,!1)?"meta":x?"operator":q;if(/\S/.test(e)&&(b.beginningOfLine=!1),"variable"!=d&&"builtin"!=d||"meta"!=b.lastToken||(d="meta"),"pass"!=e&&"return"!=e||(b.dedent+=1),"lambda"==e&&(b.lambda=!0),":"!=e||b.lambda||"py"!=c(b).type||m(b),1==e.length&&!/string|comment/.test(d)){var f="[({".indexOf(e);if(f!=-1&&n(a,b,"])}".slice(f,f+1)),f="])}".indexOf(e),f!=-1){if(c(b).type!=e)return q;b.indent=b.scopes.pop().offset-u}}return b.dedent>0&&a.eol()&&"py"==c(b).type&&(b.scopes.length>1&&b.scopes.pop(),b.dedent-=1),d}for(var q="error",r=h.delimiters||h.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,s=[h.singleOperators,h.doubleOperators,h.doubleDelimiters,h.tripleDelimiters,h.operators||/^([-+*\/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@])/],t=0;t<s.length;t++)s[t]||s.splice(t--,1);var u=h.hangingIndent||g.indentUnit,v=e,w=f;void 0!=h.extra_keywords&&(v=v.concat(h.extra_keywords)),void 0!=h.extra_builtins&&(w=w.concat(h.extra_builtins));var x=!(h.version&&Number(h.version)<3);if(x){var y=h.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;v=v.concat(["nonlocal","False","True","None","async","await"]),w=w.concat(["ascii","bytes","exec","print"]);var z=new RegExp("^(([rbuf]|(br)|(fr))?('{3}|\"{3}|['\"]))","i")}else{var y=h.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;v=v.concat(["exec","print"]),w=w.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"]);var z=new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}var A=b(v),B=b(w),C={startState:function(a){return{tokenize:i,scopes:[{offset:a||0,type:"py",align:null}],indent:a||0,lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=b.errorToken;c&&(b.errorToken=!1);var d=p(a,b);return d&&"comment"!=d&&(b.lastToken="keyword"==d||"punctuation"==d?a.current():d),"punctuation"==d&&(d=null),a.eol()&&b.lambda&&(b.lambda=!1),c?d+" "+q:d},indent:function(b,d){if(b.tokenize!=i)return b.tokenize.isString?a.Pass:0;var e=c(b),f=e.type==d.charAt(0);return null!=e.align?e.align-(f?1:0):e.offset-(f?u:0)},electricInput:/^\s*[\}\]\)]$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"};return C})),a.defineMIME("text/x-python","python");var g=function(a){return a.split(" ")};a.defineMIME("text/x-cython",{name:"python",extra_keywords:g("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/soy/soy.js b/media/editors/codemirror/mode/soy/soy.js index 98f308658e0b7..de54401500f4b 100644 --- a/media/editors/codemirror/mode/soy/soy.js +++ b/media/editors/codemirror/mode/soy/soy.js @@ -22,6 +22,7 @@ attributes: textMode, text: textMode, uri: textMode, + trusted_resource_uri: textMode, css: CodeMirror.getMode(config, "text/css"), js: CodeMirror.getMode(config, {name: "text/javascript", statementIndent: 2 * config.indentUnit}) }; diff --git a/media/editors/codemirror/mode/soy/soy.min.js b/media/editors/codemirror/mode/soy/soy.min.js index a4d9e76da8d06..a74b222df1a44 100644 --- a/media/editors/codemirror/mode/soy/soy.min.js +++ b/media/editors/codemirror/mode/soy/soy.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed"],a):a(CodeMirror)})((function(a){"use strict";var b=["template","literal","msg","fallbackmsg","let","if","elseif","else","switch","case","default","foreach","ifempty","for","call","param","deltemplate","delcall","log"];a.defineMode("soy",(function(c){function d(a){return a[a.length-1]}function e(a,b,c){if(a.sol()){for(var e=0;e<b.indent&&a.eat(/\s/);e++);if(e)return null}var f=a.string,g=c.exec(f.substr(a.pos));g&&(a.string=f.substr(0,a.pos+g.index));var h=a.hideFirstChars(b.indent,(function(){var c=d(b.localStates);return c.mode.token(a,c.state)}));return a.string=f,h}function f(a,b){for(;a;){if(a.element===b)return!0;a=a.next}return!1}function g(a,b){return{element:b,next:a}}function h(a,b,c){return f(a,b)?"variable-2":c?"variable":"variable-2 error"}function i(a){a.scopes&&(a.variables=a.scopes.element,a.scopes=a.scopes.next)}var j=a.getMode(c,"text/plain"),k={html:a.getMode(c,{name:"text/html",multilineTagIndentFactor:2,multilineTagIndentPastTag:!1}),attributes:j,text:j,uri:j,css:a.getMode(c,"text/css"),js:a.getMode(c,{name:"text/javascript",statementIndent:2*c.indentUnit})};return{startState:function(){return{kind:[],kindTag:[],soyState:[],templates:null,variables:g(null,"ij"),scopes:null,indent:0,quoteKind:null,localStates:[{mode:k.html,state:a.startState(k.html)}]}},copyState:function(b){return{tag:b.tag,kind:b.kind.concat([]),kindTag:b.kindTag.concat([]),soyState:b.soyState.concat([]),templates:b.templates,variables:b.variables,scopes:b.scopes,indent:b.indent,quoteKind:b.quoteKind,localStates:b.localStates.map((function(b){return{mode:b.mode,state:a.copyState(b.mode,b.state)}}))}},token:function(f,j){var l;switch(d(j.soyState)){case"comment":if(f.match(/^.*?\*\//)?j.soyState.pop():f.skipToEnd(),!j.scopes)for(var l,m=/@param\??\s+(\S+)/g,n=f.current();l=m.exec(n);)j.variables=g(j.variables,l[1]);return"comment";case"string":var l=f.match(/^.*?(["']|\\[\s\S])/);return l?l[1]==j.quoteKind&&(j.quoteKind=null,j.soyState.pop()):f.skipToEnd(),"string"}if(f.match(/^\/\*/))return j.soyState.push("comment"),"comment";if(f.match(f.sol()||j.soyState.length&&"literal"!=d(j.soyState)?/^\s*\/\/.*/:/^\s+\/\/.*/))return"comment";switch(d(j.soyState)){case"templ-def":return(l=f.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(j.templates=g(j.templates,l[1]),j.scopes=g(j.scopes,j.variables),j.soyState.pop(),"def"):(f.next(),null);case"templ-ref":return(l=f.match(/^\.?([\w]+)/))?(j.soyState.pop(),"."==l[0][0]?h(j.templates,l[1],!0):"variable"):(f.next(),null);case"param-def":return(l=f.match(/^\w+/))?(j.variables=g(j.variables,l[0]),j.soyState.pop(),j.soyState.push("param-type"),"def"):(f.next(),null);case"param-type":return"}"==f.peek()?(j.soyState.pop(),null):f.eatWhile(/^[\w]+/)?"variable-3":(f.next(),null);case"var-def":return(l=f.match(/^\$([\w]+)/))?(j.variables=g(j.variables,l[1]),j.soyState.pop(),"def"):(f.next(),null);case"tag":if(f.match(/^\/?}/))return"/template"==j.tag||"/deltemplate"==j.tag?(i(j),j.variables=g(null,"ij"),j.indent=0):("/for"!=j.tag&&"/foreach"!=j.tag||i(j),j.indent-=c.indentUnit*("/}"==f.current()||b.indexOf(j.tag)==-1?2:1)),j.soyState.pop(),"keyword";if(f.match(/^([\w?]+)(?==)/)){if("kind"==f.current()&&(l=f.match(/^="([^"]+)/,!1))){var o=l[1];j.kind.push(o),j.kindTag.push(j.tag);var p=k[o]||k.html,q=d(j.localStates);q.mode.indent&&(j.indent+=q.mode.indent(q.state,"")),j.localStates.push({mode:p,state:a.startState(p)})}return"attribute"}return(l=f.match(/^["']/))?(j.soyState.push("string"),j.quoteKind=l,"string"):(l=f.match(/^\$([\w]+)/))?h(j.variables,l[1]):(l=f.match(/^\w+/))?/^(?:as|and|or|not|in)$/.test(l[0])?"keyword":null:(f.next(),null);case"literal":return f.match(/^(?=\{\/literal})/)?(j.indent-=c.indentUnit,j.soyState.pop(),this.token(f,j)):e(f,j,/\{\/literal}/)}if(f.match(/^\{literal}/))return j.indent+=c.indentUnit,j.soyState.push("literal"),"keyword";if(l=f.match(/^\{([\/@\\]?\w+\??)(?=[\s\}]|\/[\/*])/)){if("/switch"!=l[1]&&(j.indent+=(/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(l[1])&&"switch"!=j.tag?1:2)*c.indentUnit),j.tag=l[1],j.tag=="/"+d(j.kindTag)){j.kind.pop(),j.kindTag.pop(),j.localStates.pop();var q=d(j.localStates);q.mode.indent&&(j.indent-=q.mode.indent(q.state,""))}return j.soyState.push("tag"),"template"==j.tag||"deltemplate"==j.tag?j.soyState.push("templ-def"):"call"==j.tag||"delcall"==j.tag?j.soyState.push("templ-ref"):"let"==j.tag?j.soyState.push("var-def"):"for"==j.tag||"foreach"==j.tag?(j.scopes=g(j.scopes,j.variables),j.soyState.push("var-def")):"namespace"==j.tag?j.scopes||(j.variables=g(null,"ij")):j.tag.match(/^@(?:param\??|inject)/)&&j.soyState.push("param-def"),"keyword"}return f.eat("{")?(j.tag="print",j.indent+=2*c.indentUnit,j.soyState.push("tag"),"keyword"):e(f,j,/\{|\s+\/\/|\/\*/)},indent:function(b,e){var f=b.indent,g=d(b.soyState);if("comment"==g)return a.Pass;if("literal"==g)/^\{\/literal}/.test(e)&&(f-=c.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(e))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(e)&&(f-=c.indentUnit),"switch"!=b.tag&&/^\{(case|default)\b/.test(e)&&(f-=c.indentUnit),/^\{\/switch\b/.test(e)&&(f-=c.indentUnit)}var h=d(b.localStates);return f&&h.mode.indent&&(f+=h.mode.indent(h.state,e)),f},innerMode:function(a){return a.soyState.length&&"literal"!=d(a.soyState)?null:d(a.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}}),"htmlmixed"),a.registerHelper("hintWords","soy",b.concat(["delpackage","namespace","alias","print","css","debugger"])),a.defineMIME("text/x-soy","soy")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed"],a):a(CodeMirror)})((function(a){"use strict";var b=["template","literal","msg","fallbackmsg","let","if","elseif","else","switch","case","default","foreach","ifempty","for","call","param","deltemplate","delcall","log"];a.defineMode("soy",(function(c){function d(a){return a[a.length-1]}function e(a,b,c){if(a.sol()){for(var e=0;e<b.indent&&a.eat(/\s/);e++);if(e)return null}var f=a.string,g=c.exec(f.substr(a.pos));g&&(a.string=f.substr(0,a.pos+g.index));var h=a.hideFirstChars(b.indent,(function(){var c=d(b.localStates);return c.mode.token(a,c.state)}));return a.string=f,h}function f(a,b){for(;a;){if(a.element===b)return!0;a=a.next}return!1}function g(a,b){return{element:b,next:a}}function h(a,b,c){return f(a,b)?"variable-2":c?"variable":"variable-2 error"}function i(a){a.scopes&&(a.variables=a.scopes.element,a.scopes=a.scopes.next)}var j=a.getMode(c,"text/plain"),k={html:a.getMode(c,{name:"text/html",multilineTagIndentFactor:2,multilineTagIndentPastTag:!1}),attributes:j,text:j,uri:j,trusted_resource_uri:j,css:a.getMode(c,"text/css"),js:a.getMode(c,{name:"text/javascript",statementIndent:2*c.indentUnit})};return{startState:function(){return{kind:[],kindTag:[],soyState:[],templates:null,variables:g(null,"ij"),scopes:null,indent:0,quoteKind:null,localStates:[{mode:k.html,state:a.startState(k.html)}]}},copyState:function(b){return{tag:b.tag,kind:b.kind.concat([]),kindTag:b.kindTag.concat([]),soyState:b.soyState.concat([]),templates:b.templates,variables:b.variables,scopes:b.scopes,indent:b.indent,quoteKind:b.quoteKind,localStates:b.localStates.map((function(b){return{mode:b.mode,state:a.copyState(b.mode,b.state)}}))}},token:function(f,j){var l;switch(d(j.soyState)){case"comment":if(f.match(/^.*?\*\//)?j.soyState.pop():f.skipToEnd(),!j.scopes)for(var l,m=/@param\??\s+(\S+)/g,n=f.current();l=m.exec(n);)j.variables=g(j.variables,l[1]);return"comment";case"string":var l=f.match(/^.*?(["']|\\[\s\S])/);return l?l[1]==j.quoteKind&&(j.quoteKind=null,j.soyState.pop()):f.skipToEnd(),"string"}if(f.match(/^\/\*/))return j.soyState.push("comment"),"comment";if(f.match(f.sol()||j.soyState.length&&"literal"!=d(j.soyState)?/^\s*\/\/.*/:/^\s+\/\/.*/))return"comment";switch(d(j.soyState)){case"templ-def":return(l=f.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(j.templates=g(j.templates,l[1]),j.scopes=g(j.scopes,j.variables),j.soyState.pop(),"def"):(f.next(),null);case"templ-ref":return(l=f.match(/^\.?([\w]+)/))?(j.soyState.pop(),"."==l[0][0]?h(j.templates,l[1],!0):"variable"):(f.next(),null);case"param-def":return(l=f.match(/^\w+/))?(j.variables=g(j.variables,l[0]),j.soyState.pop(),j.soyState.push("param-type"),"def"):(f.next(),null);case"param-type":return"}"==f.peek()?(j.soyState.pop(),null):f.eatWhile(/^[\w]+/)?"variable-3":(f.next(),null);case"var-def":return(l=f.match(/^\$([\w]+)/))?(j.variables=g(j.variables,l[1]),j.soyState.pop(),"def"):(f.next(),null);case"tag":if(f.match(/^\/?}/))return"/template"==j.tag||"/deltemplate"==j.tag?(i(j),j.variables=g(null,"ij"),j.indent=0):("/for"!=j.tag&&"/foreach"!=j.tag||i(j),j.indent-=c.indentUnit*("/}"==f.current()||b.indexOf(j.tag)==-1?2:1)),j.soyState.pop(),"keyword";if(f.match(/^([\w?]+)(?==)/)){if("kind"==f.current()&&(l=f.match(/^="([^"]+)/,!1))){var o=l[1];j.kind.push(o),j.kindTag.push(j.tag);var p=k[o]||k.html,q=d(j.localStates);q.mode.indent&&(j.indent+=q.mode.indent(q.state,"")),j.localStates.push({mode:p,state:a.startState(p)})}return"attribute"}return(l=f.match(/^["']/))?(j.soyState.push("string"),j.quoteKind=l,"string"):(l=f.match(/^\$([\w]+)/))?h(j.variables,l[1]):(l=f.match(/^\w+/))?/^(?:as|and|or|not|in)$/.test(l[0])?"keyword":null:(f.next(),null);case"literal":return f.match(/^(?=\{\/literal})/)?(j.indent-=c.indentUnit,j.soyState.pop(),this.token(f,j)):e(f,j,/\{\/literal}/)}if(f.match(/^\{literal}/))return j.indent+=c.indentUnit,j.soyState.push("literal"),"keyword";if(l=f.match(/^\{([\/@\\]?\w+\??)(?=[\s\}]|\/[\/*])/)){if("/switch"!=l[1]&&(j.indent+=(/^(\/|(else|elseif|ifempty|case|fallbackmsg|default)$)/.test(l[1])&&"switch"!=j.tag?1:2)*c.indentUnit),j.tag=l[1],j.tag=="/"+d(j.kindTag)){j.kind.pop(),j.kindTag.pop(),j.localStates.pop();var q=d(j.localStates);q.mode.indent&&(j.indent-=q.mode.indent(q.state,""))}return j.soyState.push("tag"),"template"==j.tag||"deltemplate"==j.tag?j.soyState.push("templ-def"):"call"==j.tag||"delcall"==j.tag?j.soyState.push("templ-ref"):"let"==j.tag?j.soyState.push("var-def"):"for"==j.tag||"foreach"==j.tag?(j.scopes=g(j.scopes,j.variables),j.soyState.push("var-def")):"namespace"==j.tag?j.scopes||(j.variables=g(null,"ij")):j.tag.match(/^@(?:param\??|inject)/)&&j.soyState.push("param-def"),"keyword"}return f.eat("{")?(j.tag="print",j.indent+=2*c.indentUnit,j.soyState.push("tag"),"keyword"):e(f,j,/\{|\s+\/\/|\/\*/)},indent:function(b,e){var f=b.indent,g=d(b.soyState);if("comment"==g)return a.Pass;if("literal"==g)/^\{\/literal}/.test(e)&&(f-=c.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(e))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(e)&&(f-=c.indentUnit),"switch"!=b.tag&&/^\{(case|default)\b/.test(e)&&(f-=c.indentUnit),/^\{\/switch\b/.test(e)&&(f-=c.indentUnit)}var h=d(b.localStates);return f&&h.mode.indent&&(f+=h.mode.indent(h.state,e)),f},innerMode:function(a){return a.soyState.length&&"literal"!=d(a.soyState)?null:d(a.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}}),"htmlmixed"),a.registerHelper("hintWords","soy",b.concat(["delpackage","namespace","alias","print","css","debugger"])),a.defineMIME("text/x-soy","soy")})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/sql/sql.js b/media/editors/codemirror/mode/sql/sql.js index 2010b1c2505cc..fddbabae80da6 100644 --- a/media/editors/codemirror/mode/sql/sql.js +++ b/media/editors/codemirror/mode/sql/sql.js @@ -22,7 +22,9 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { support = parserConfig.support || {}, hooks = parserConfig.hooks || {}, dateSQL = parserConfig.dateSQL || {"date" : true, "time" : true, "timestamp" : true}, - backslashStringEscapes = parserConfig.backslashStringEscapes !== false + backslashStringEscapes = parserConfig.backslashStringEscapes !== false, + brackets = parserConfig.brackets || /^[\{}\(\)\[\]]/, + punctuation = parserConfig.punctuation || /^[;.,:]/ function tokenBase(stream, state) { var ch = stream.next(); @@ -65,9 +67,6 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { // charset casting: _utf8'str', N'str', n'str' // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html return "keyword"; - } else if (/^[\(\),\;\[\]]/.test(ch)) { - // no highlighting - return null; } else if (support.commentSlashSlash && ch == "/" && stream.eat("/")) { // 1-line comment stream.skipToEnd(); @@ -96,7 +95,15 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { } else if (operatorChars.test(ch)) { // operators stream.eatWhile(operatorChars); - return null; + return "operator"; + } else if (brackets.test(ch)) { + // brackets + stream.eatWhile(brackets); + return "bracket"; + } else if (punctuation.test(ch)) { + // punctuation + stream.eatWhile(punctuation); + return "punctuation"; } else if (ch == '{' && (stream.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/) || stream.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/))) { // dates (weird ODBC syntax) @@ -194,7 +201,8 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { blockCommentStart: "/*", blockCommentEnd: "*/", - lineComment: support.commentSlashSlash ? "//" : support.commentHash ? "#" : "--" + lineComment: support.commentSlashSlash ? "//" : support.commentHash ? "#" : "--", + closeBrackets: "()[]{}''\"\"``" }; }); @@ -288,11 +296,13 @@ CodeMirror.defineMode("sql", function(config, parserConfig) { CodeMirror.defineMIME("text/x-mssql", { name: "sql", - client: set("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"), - keywords: set(sqlKeywords + "begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"), + client: set("$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id"), + keywords: set(sqlKeywords + "begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with"), builtin: set("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "), - atoms: set("false true null unknown"), - operatorChars: /^[*+\-%<>!=]/, + atoms: set("is not null like and or in left right between inner outer join all any some cross unpivot pivot exists"), + operatorChars: /^[*+\-%<>!=^\&|\/]/, + brackets: /^[\{}\(\)]/, + punctuation: /^[;.,:/]/, backslashStringEscapes: false, dateSQL: set("date datetimeoffset datetime2 smalldatetime datetime time"), hooks: { diff --git a/media/editors/codemirror/mode/sql/sql.min.js b/media/editors/codemirror/mode/sql/sql.min.js index 3887f2a8cf30d..f6d2c11eca4e5 100644 --- a/media/editors/codemirror/mode/sql/sql.min.js +++ b/media/editors/codemirror/mode/sql/sql.min.js @@ -1,2 +1,2 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(c))return null;if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),null;if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=q&&!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0},q=c.backslashStringEscapes!==!1;return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,backslashStringEscapes:!1,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), -atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-sparksql",{name:"sql",keywords:f("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:f("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:f("false true null"),operatorChars:/^[*+\-%<>!=~&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote zerolessFloat")}),a.defineMIME("text/x-esper",{name:"sql",client:f("source"),keywords:f("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:f("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("time"),support:f("decimallessFloat zerolessFloat binaryNumber hexNumber")})})()})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("sql",(function(b,c){function d(a,b){var c=a.next();if(o[c]){var d=o[c](a,b);if(d!==!1)return d}if(n.hexNumber&&("0"==c&&a.match(/^[xX][0-9a-fA-F]+/)||("x"==c||"X"==c)&&a.match(/^'[0-9a-fA-F]+'/)))return"number";if(n.binaryNumber&&(("b"==c||"B"==c)&&a.match(/^'[01]+'/)||"0"==c&&a.match(/^b[01]+/)))return"number";if(c.charCodeAt(0)>47&&c.charCodeAt(0)<58)return a.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),n.decimallessFloat&&a.match(/^\.(?!\.)/),"number";if("?"==c&&(a.eatSpace()||a.eol()||a.eat(";")))return"variable-3";if("'"==c||'"'==c&&n.doubleQuote)return b.tokenize=e(c),b.tokenize(a,b);if((n.nCharCast&&("n"==c||"N"==c)||n.charsetCast&&"_"==c&&a.match(/[a-z][a-z0-9]*/i))&&("'"==a.peek()||'"'==a.peek()))return"keyword";if(n.commentSlashSlash&&"/"==c&&a.eat("/"))return a.skipToEnd(),"comment";if(n.commentHash&&"#"==c||"-"==c&&a.eat("-")&&(!n.commentSpaceRequired||a.eat(" ")))return a.skipToEnd(),"comment";if("/"==c&&a.eat("*"))return b.tokenize=f(1),b.tokenize(a,b);if("."!=c){if(m.test(c))return a.eatWhile(m),"operator";if(r.test(c))return a.eatWhile(r),"bracket";if(s.test(c))return a.eatWhile(s),"punctuation";if("{"==c&&(a.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||a.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";a.eatWhile(/^[_\w\d]/);var g=a.current().toLowerCase();return p.hasOwnProperty(g)&&(a.match(/^( )+'[^']*'/)||a.match(/^( )+"[^"]*"/))?"number":j.hasOwnProperty(g)?"atom":k.hasOwnProperty(g)?"builtin":l.hasOwnProperty(g)?"keyword":i.hasOwnProperty(g)?"string-2":null}return n.zerolessFloat&&a.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":a.match(/^\.+/)?null:n.ODBCdotTable&&a.match(/^[\w\d_]+/)?"variable-2":void 0}function e(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){c.tokenize=d;break}f=q&&!f&&"\\"==e}return"string"}}function f(a){return function(b,c){var e=b.match(/^.*?(\/\*|\*\/)/);return e?"/*"==e[1]?c.tokenize=f(a+1):a>1?c.tokenize=f(a-1):c.tokenize=d:b.skipToEnd(),"comment"}}function g(a,b,c){b.context={prev:b.context,indent:a.indentation(),col:a.column(),type:c}}function h(a){a.indent=a.context.indent,a.context=a.context.prev}var i=c.client||{},j=c.atoms||{false:!0,true:!0,null:!0},k=c.builtin||{},l=c.keywords||{},m=c.operatorChars||/^[*+\-%<>!=&|~^]/,n=c.support||{},o=c.hooks||{},p=c.dateSQL||{date:!0,time:!0,timestamp:!0},q=c.backslashStringEscapes!==!1,r=c.brackets||/^[\{}\(\)\[\]]/,s=c.punctuation||/^[;.,:]/;return{startState:function(){return{tokenize:d,context:null}},token:function(a,b){if(a.sol()&&b.context&&null==b.context.align&&(b.context.align=!1),b.tokenize==d&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==c)return c;b.context&&null==b.context.align&&(b.context.align=!0);var e=a.current();return"("==e?g(a,b,")"):"["==e?g(a,b,"]"):b.context&&b.context.type==e&&h(b),c},indent:function(c,d){var e=c.context;if(!e)return a.Pass;var f=d.charAt(0)==e.type;return e.align?e.col+(f?0:1):e.indent+(f?0:b.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:n.commentSlashSlash?"//":n.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``"}})),(function(){function b(a){for(var b;null!=(b=a.next());)if("`"==b&&!a.eat("`"))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function c(a){for(var b;null!=(b=a.next());)if('"'==b&&!a.eat('"'))return"variable-2";return a.backUp(a.current().length-1),a.eatWhile(/\w/)?"variable-2":null}function d(a){return a.eat("@")&&(a.match(/^session\./),a.match(/^local\./),a.match(/^global\./)),a.eat("'")?(a.match(/^.*'/),"variable-2"):a.eat('"')?(a.match(/^.*"/),"variable-2"):a.eat("`")?(a.match(/^.*`/),"variable-2"):a.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function e(a){return a.eat("N")?"atom":a.match(/^[a-zA-Z.#!?]/)?"variable-2":null}function f(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}var g="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";a.defineMIME("text/x-sql",{name:"sql",keywords:f(g+"begin"),builtin:f("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-mssql",{name:"sql",client:f("$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id"),keywords:f(g+"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with"),builtin:f("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "),atoms:f("is not null like and or in left right between inner outer join all any some cross unpivot pivot exists"),operatorChars:/^[*+\-%<>!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:\/]/,backslashStringEscapes:!1,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":d}}),a.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(g+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":d,"`":b,"\\":e}}),a.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(g+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|\/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":d,":":d,"?":d,$:d,'"':c,"`":b}}),a.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),a.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),a.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),a.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(g+"a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lc_collate lc_ctype lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict restricted result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat attach path depends detach zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),a.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"), +builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),a.defineMIME("text/x-sparksql",{name:"sql",keywords:f("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:f("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:f("false true null"),operatorChars:/^[*+\-%<>!=~&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote zerolessFloat")}),a.defineMIME("text/x-esper",{name:"sql",client:f("source"),keywords:f("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:f("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("time"),support:f("decimallessFloat zerolessFloat binaryNumber hexNumber")})})()})); \ No newline at end of file diff --git a/media/editors/codemirror/mode/velocity/velocity.js b/media/editors/codemirror/mode/velocity/velocity.js index 12ee221249c8e..2525fda5ca121 100644 --- a/media/editors/codemirror/mode/velocity/velocity.js +++ b/media/editors/codemirror/mode/velocity/velocity.js @@ -82,7 +82,7 @@ CodeMirror.defineMode("velocity", function() { } // variable? else if (ch == "$") { - stream.eatWhile(/[\w\d\$_\.{}]/); + stream.eatWhile(/[\w\d\$_\.{}-]/); // is it one of the specials? if (specials && specials.propertyIsEnumerable(stream.current())) { return "keyword"; diff --git a/media/editors/codemirror/mode/velocity/velocity.min.js b/media/editors/codemirror/mode/velocity/velocity.min.js index 2f24fe0cd3d54..57004aaf4d781 100644 --- a/media/editors/codemirror/mode/velocity/velocity.min.js +++ b/media/editors/codemirror/mode/velocity/velocity.min.js @@ -1 +1 @@ -!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("velocity",(function(){function a(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function b(a,b,c){return b.tokenize=c,c(a,b)}function c(a,c){var k=c.beforeParams;c.beforeParams=!1;var l=a.next();if("'"==l&&!c.inString&&c.inParams)return c.lastTokenWasBuiltin=!1,b(a,c,d(l));if('"'!=l){if(/[\[\]{}\(\),;\.]/.test(l))return"("==l&&k?c.inParams=!0:")"==l&&(c.inParams=!1,c.lastTokenWasBuiltin=!0),null;if(/\d/.test(l))return c.lastTokenWasBuiltin=!1,a.eatWhile(/[\w\.]/),"number";if("#"==l&&a.eat("*"))return c.lastTokenWasBuiltin=!1,b(a,c,e);if("#"==l&&a.match(/ *\[ *\[/))return c.lastTokenWasBuiltin=!1,b(a,c,f);if("#"==l&&a.eat("#"))return c.lastTokenWasBuiltin=!1,a.skipToEnd(),"comment";if("$"==l)return a.eatWhile(/[\w\d\$_\.{}]/),i&&i.propertyIsEnumerable(a.current())?"keyword":(c.lastTokenWasBuiltin=!0,c.beforeParams=!0,"builtin");if(j.test(l))return c.lastTokenWasBuiltin=!1,a.eatWhile(j),"operator";a.eatWhile(/[\w\$_{}@]/);var m=a.current();return g&&g.propertyIsEnumerable(m)?"keyword":h&&h.propertyIsEnumerable(m)||a.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==a.peek()&&(!h||!h.propertyIsEnumerable(m.toLowerCase()))?(c.beforeParams=!0,c.lastTokenWasBuiltin=!1,"keyword"):c.inString?(c.lastTokenWasBuiltin=!1,"string"):a.pos>m.length&&"."==a.string.charAt(a.pos-m.length-1)&&c.lastTokenWasBuiltin?"builtin":(c.lastTokenWasBuiltin=!1,null)}return c.lastTokenWasBuiltin=!1,c.inString?(c.inString=!1,"string"):c.inParams?b(a,c,d(l)):void 0}function d(a){return function(b,d){for(var e,f=!1,g=!1;null!=(e=b.next());){if(e==a&&!f){g=!0;break}if('"'==a&&"$"==b.peek()&&!f){d.inString=!0,g=!0;break}f=!f&&"\\"==e}return g&&(d.tokenize=c),"string"}}function e(a,b){for(var d,e=!1;d=a.next();){if("#"==d&&e){b.tokenize=c;break}e="*"==d}return"comment"}function f(a,b){for(var d,e=0;d=a.next();){if("#"==d&&2==e){b.tokenize=c;break}"]"==d?e++:" "!=d&&(e=0)}return"meta"}var g=a("#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}"),h=a("#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"),i=a("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"),j=/[+\-*&%=<>!?:\/|]/;return{startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}})),a.defineMIME("text/velocity","velocity")})); \ No newline at end of file +!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("velocity",(function(){function a(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function b(a,b,c){return b.tokenize=c,c(a,b)}function c(a,c){var k=c.beforeParams;c.beforeParams=!1;var l=a.next();if("'"==l&&!c.inString&&c.inParams)return c.lastTokenWasBuiltin=!1,b(a,c,d(l));if('"'!=l){if(/[\[\]{}\(\),;\.]/.test(l))return"("==l&&k?c.inParams=!0:")"==l&&(c.inParams=!1,c.lastTokenWasBuiltin=!0),null;if(/\d/.test(l))return c.lastTokenWasBuiltin=!1,a.eatWhile(/[\w\.]/),"number";if("#"==l&&a.eat("*"))return c.lastTokenWasBuiltin=!1,b(a,c,e);if("#"==l&&a.match(/ *\[ *\[/))return c.lastTokenWasBuiltin=!1,b(a,c,f);if("#"==l&&a.eat("#"))return c.lastTokenWasBuiltin=!1,a.skipToEnd(),"comment";if("$"==l)return a.eatWhile(/[\w\d\$_\.{}-]/),i&&i.propertyIsEnumerable(a.current())?"keyword":(c.lastTokenWasBuiltin=!0,c.beforeParams=!0,"builtin");if(j.test(l))return c.lastTokenWasBuiltin=!1,a.eatWhile(j),"operator";a.eatWhile(/[\w\$_{}@]/);var m=a.current();return g&&g.propertyIsEnumerable(m)?"keyword":h&&h.propertyIsEnumerable(m)||a.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==a.peek()&&(!h||!h.propertyIsEnumerable(m.toLowerCase()))?(c.beforeParams=!0,c.lastTokenWasBuiltin=!1,"keyword"):c.inString?(c.lastTokenWasBuiltin=!1,"string"):a.pos>m.length&&"."==a.string.charAt(a.pos-m.length-1)&&c.lastTokenWasBuiltin?"builtin":(c.lastTokenWasBuiltin=!1,null)}return c.lastTokenWasBuiltin=!1,c.inString?(c.inString=!1,"string"):c.inParams?b(a,c,d(l)):void 0}function d(a){return function(b,d){for(var e,f=!1,g=!1;null!=(e=b.next());){if(e==a&&!f){g=!0;break}if('"'==a&&"$"==b.peek()&&!f){d.inString=!0,g=!0;break}f=!f&&"\\"==e}return g&&(d.tokenize=c),"string"}}function e(a,b){for(var d,e=!1;d=a.next();){if("#"==d&&e){b.tokenize=c;break}e="*"==d}return"comment"}function f(a,b){for(var d,e=0;d=a.next();){if("#"==d&&2==e){b.tokenize=c;break}"]"==d?e++:" "!=d&&(e=0)}return"meta"}var g=a("#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}"),h=a("#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"),i=a("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"),j=/[+\-*&%=<>!?:\/|]/;return{startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(a,b){return a.eatSpace()?null:b.tokenize(a,b)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}})),a.defineMIME("text/velocity","velocity")})); \ No newline at end of file diff --git a/media/editors/codemirror/theme/gruvbox-dark.css b/media/editors/codemirror/theme/gruvbox-dark.css new file mode 100644 index 0000000000000..01ca7bb72490c --- /dev/null +++ b/media/editors/codemirror/theme/gruvbox-dark.css @@ -0,0 +1,34 @@ +/* + + Name: gruvbox-dark + Author: kRkk (https://github.com/krkk) + + Original gruvbox color scheme by Pavel Pertsev (https://github.com/morhetz/gruvbox) + +*/ + +.cm-s-gruvbox-dark.CodeMirror, .cm-s-gruvbox-dark .CodeMirror-gutters { background-color: #282828; color: #bdae93; } +.cm-s-gruvbox-dark .CodeMirror-gutters {background: #282828; border-right: 0px;} +.cm-s-gruvbox-dark .CodeMirror-linenumber {color: #7c6f64;} +.cm-s-gruvbox-dark .CodeMirror-cursor { border-left: 1px solid #ebdbb2; } +.cm-s-gruvbox-dark div.CodeMirror-selected { background: #928374; } +.cm-s-gruvbox-dark span.cm-meta { color: #808000; } + +.cm-s-gruvbox-dark span.cm-comment { color: #928374; } +.cm-s-gruvbox-dark span.cm-number, span.cm-atom { color: #d3869b; } +.cm-s-gruvbox-dark span.cm-keyword { color: #f84934; } + +.cm-s-gruvbox-dark span.cm-variable { color: #ebdbb2; } +.cm-s-gruvbox-dark span.cm-variable-2 { color: #ebdbb2; } +.cm-s-gruvbox-dark span.cm-variable-3, .cm-s-gruvbox-dark span.cm-type { color: black; } +.cm-s-gruvbox-dark span.cm-operator { color: #ebdbb2; } +.cm-s-gruvbox-dark span.cm-def { color: #ebdbb2; } +.cm-s-gruvbox-dark span.cm-string { color: #b8bb26; } +.cm-s-gruvbox-dark span.cm-string-2 { color: #8ec07c; } +.cm-s-gruvbox-dark span.cm-qualifier { color: #555; } +.cm-s-gruvbox-dark span.cm-attribute { color: #8ec07c; } + +.cm-s-gruvbox-dark .CodeMirror-activeline-background { background: #3c3836; } +.cm-s-gruvbox-dark .CodeMirror-matchingbracket { background: #928374; color:#282828 !important; } + +.cm-s-gruvbox-dark span.cm-builtin { color: #fe8019; } diff --git a/media/editors/codemirror/theme/idea.css b/media/editors/codemirror/theme/idea.css new file mode 100644 index 0000000000000..28c5c40dea44c --- /dev/null +++ b/media/editors/codemirror/theme/idea.css @@ -0,0 +1,31 @@ +/** + Name: IDEA default theme + From IntelliJ IDEA by JetBrains + */ + +.cm-s-idea span.cm-meta { color: #808000; } +.cm-s-idea span.cm-number { color: #0000FF; } +.cm-s-idea span.cm-keyword { line-height: 1em; font-weight: bold; color: #000080; } +.cm-s-idea span.cm-atom { font-weight: bold; color: #000080; } +.cm-s-idea span.cm-def { color: #000000; } +.cm-s-idea span.cm-variable { color: black; } +.cm-s-idea span.cm-variable-2 { color: black; } +.cm-s-idea span.cm-variable-3, .cm-s-idea span.cm-type { color: black; } +.cm-s-idea span.cm-property { color: black; } +.cm-s-idea span.cm-operator { color: black; } +.cm-s-idea span.cm-comment { color: #808080; } +.cm-s-idea span.cm-string { color: #008000; } +.cm-s-idea span.cm-string-2 { color: #008000; } +.cm-s-idea span.cm-qualifier { color: #555; } +.cm-s-idea span.cm-error { color: #FF0000; } +.cm-s-idea span.cm-attribute { color: #0000FF; } +.cm-s-idea span.cm-tag { color: #000080; } +.cm-s-idea span.cm-link { color: #0000FF; } +.cm-s-idea .CodeMirror-activeline-background { background: #FFFAE3; } + +.cm-s-idea span.cm-builtin { color: #30a; } +.cm-s-idea span.cm-bracket { color: #cc7; } +.cm-s-idea { font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;} + + +.cm-s-idea .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } diff --git a/media/editors/codemirror/theme/lucario.css b/media/editors/codemirror/theme/lucario.css new file mode 100644 index 0000000000000..17a1551032f9f --- /dev/null +++ b/media/editors/codemirror/theme/lucario.css @@ -0,0 +1,37 @@ +/* + Name: lucario + Author: Raphael Amorim + + Original Lucario color scheme (https://github.com/raphamorim/lucario) +*/ + +.cm-s-lucario.CodeMirror, .cm-s-lucario .CodeMirror-gutters { + background-color: #2b3e50 !important; + color: #f8f8f2 !important; + border: none; +} +.cm-s-lucario .CodeMirror-gutters { color: #2b3e50; } +.cm-s-lucario .CodeMirror-cursor { border-left: solid thin #E6C845; } +.cm-s-lucario .CodeMirror-linenumber { color: #f8f8f2; } +.cm-s-lucario .CodeMirror-selected { background: #243443; } +.cm-s-lucario .CodeMirror-line::selection, .cm-s-lucario .CodeMirror-line > span::selection, .cm-s-lucario .CodeMirror-line > span > span::selection { background: #243443; } +.cm-s-lucario .CodeMirror-line::-moz-selection, .cm-s-lucario .CodeMirror-line > span::-moz-selection, .cm-s-lucario .CodeMirror-line > span > span::-moz-selection { background: #243443; } +.cm-s-lucario span.cm-comment { color: #5c98cd; } +.cm-s-lucario span.cm-string, .cm-s-lucario span.cm-string-2 { color: #E6DB74; } +.cm-s-lucario span.cm-number { color: #ca94ff; } +.cm-s-lucario span.cm-variable { color: #f8f8f2; } +.cm-s-lucario span.cm-variable-2 { color: #f8f8f2; } +.cm-s-lucario span.cm-def { color: #72C05D; } +.cm-s-lucario span.cm-operator { color: #66D9EF; } +.cm-s-lucario span.cm-keyword { color: #ff6541; } +.cm-s-lucario span.cm-atom { color: #bd93f9; } +.cm-s-lucario span.cm-meta { color: #f8f8f2; } +.cm-s-lucario span.cm-tag { color: #ff6541; } +.cm-s-lucario span.cm-attribute { color: #66D9EF; } +.cm-s-lucario span.cm-qualifier { color: #72C05D; } +.cm-s-lucario span.cm-property { color: #f8f8f2; } +.cm-s-lucario span.cm-builtin { color: #72C05D; } +.cm-s-lucario span.cm-variable-3, .cm-s-lucario span.cm-type { color: #ffb86c; } + +.cm-s-lucario .CodeMirror-activeline-background { background: #243443; } +.cm-s-lucario .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } diff --git a/media/editors/codemirror/theme/ssms.css b/media/editors/codemirror/theme/ssms.css new file mode 100644 index 0000000000000..9494c14c20f0a --- /dev/null +++ b/media/editors/codemirror/theme/ssms.css @@ -0,0 +1,16 @@ +.cm-s-ssms span.cm-keyword { color: blue; } +.cm-s-ssms span.cm-comment { color: darkgreen; } +.cm-s-ssms span.cm-string { color: red; } +.cm-s-ssms span.cm-def { color: black; } +.cm-s-ssms span.cm-variable { color: black; } +.cm-s-ssms span.cm-variable-2 { color: black; } +.cm-s-ssms span.cm-atom { color: darkgray; } +.cm-s-ssms .CodeMirror-linenumber { color: teal; } +.cm-s-ssms .CodeMirror-activeline-background { background: #ffffff; } +.cm-s-ssms span.cm-string-2 { color: #FF00FF; } +.cm-s-ssms span.cm-operator, +.cm-s-ssms span.cm-bracket, +.cm-s-ssms span.cm-punctuation { color: darkgray; } +.cm-s-ssms .CodeMirror-gutters { border-right: 3px solid #ffee62; background-color: #ffffff; } +.cm-s-ssms div.CodeMirror-selected { background: #ADD6FF; } + diff --git a/plugins/editors/codemirror/codemirror.xml b/plugins/editors/codemirror/codemirror.xml index 5c48b8168bedb..8b8de9a44cd52 100644 --- a/plugins/editors/codemirror/codemirror.xml +++ b/plugins/editors/codemirror/codemirror.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <extension version="3.2" type="plugin" group="editors" method="upgrade"> <name>plg_editors_codemirror</name> - <version>5.35.0</version> + <version>5.37.0</version> <creationDate>28 March 2011</creationDate> <author>Marijn Haverbeke</author> <authorEmail>marijnh@gmail.com</authorEmail> From f24c7d4429e38f44039484539c85cd056ed171c0 Mon Sep 17 00:00:00 2001 From: SharkyKZ <sharkykz@gmail.com> Date: Sat, 5 May 2018 23:17:05 +0300 Subject: [PATCH 251/255] Use title from menu item (#20267) --- components/com_search/views/search/view.html.php | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/components/com_search/views/search/view.html.php b/components/com_search/views/search/view.html.php index 19b443dfa61e2..649017a13d753 100644 --- a/components/com_search/views/search/view.html.php +++ b/components/com_search/views/search/view.html.php @@ -43,18 +43,7 @@ public function display($tpl = null) $searchWord = $state->get('keyword'); $params = $app->getParams(); - $menus = $app->getMenu(); - $menu = $menus->getActive(); - - // Because the application sets a default page title, we need to get it right from the menu item itself - if (is_object($menu)) - { - if (!$menu->params->get('page_title')) - { - $params->set('page_title', JText::_('COM_SEARCH_SEARCH')); - } - } - else + if (!$app->getMenu()->getActive()) { $params->set('page_title', JText::_('COM_SEARCH_SEARCH')); } From 65297f82395afb758261957eff43c1961e08e9c6 Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Sat, 5 May 2018 22:17:43 +0200 Subject: [PATCH 252/255] Change the defaults for new installs to disable com_mailto in articles (#20266) * change the defaults for new installs to disable com_mailto in articles * change more defaults to 0 thanks @quy --- installation/sql/mysql/joomla.sql | 2 +- installation/sql/mysql/sample_learn.sql | 2 +- installation/sql/postgresql/joomla.sql | 2 +- installation/sql/postgresql/sample_learn.sql | 2 +- installation/sql/sqlazure/joomla.sql | 2 +- installation/sql/sqlazure/sample_learn.sql | 2 +- tests/unit/stubs/database/jos_extensions.csv | 2 +- tests/unit/stubs/database/jos_menu.csv | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 72dddaa5bb888..3732890f4dfa4 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -507,7 +507,7 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem (18, 0, 'com_plugins', 'component', 'com_plugins', '', 1, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (19, 0, 'com_search', 'component', 'com_search', '', 1, 1, 1, 0, '', '{"enabled":"0","search_phrases":"1","search_areas":"1","show_date":"1","opensearch_name":"","opensearch_description":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (20, 0, 'com_templates', 'component', 'com_templates', '', 1, 1, 1, 1, '', '{"template_positions_display":"0","upload_limit":"10","image_formats":"gif,bmp,jpg,jpeg,png","source_formats":"txt,less,ini,xml,js,php,css,scss,sass","font_formats":"woff,ttf,otf","compressed_formats":"zip"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), diff --git a/installation/sql/mysql/sample_learn.sql b/installation/sql/mysql/sample_learn.sql index ccdc502812a2b..87a400ae01514 100644 --- a/installation/sql/mysql/sample_learn.sql +++ b/installation/sql/mysql/sample_learn.sql @@ -490,7 +490,7 @@ INSERT INTO `#__menu` (`id`, `menutype`, `title`, `alias`, `note`, `path`, `link (448, 'mainmenu', 'Site Administrator', 'site-administrator', '', 'site-administrator', 'administrator', 'url', 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 1, 1, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 251, 252, 0, '*', 0), (449, 'usermenu', 'Submit an Article', 'submit-an-article', '', 'submit-an-article', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 3, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 253, 254, 0, '*', 0), (452, 'aboutjoomla', 'Featured Contacts', 'featured-contacts', '', 'using-joomla/extensions/components/contact-component/featured-contacts', 'index.php?option=com_contact&view=featured&id=16', 'component', 1, 270, 5, 8, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"maxLevel":"-1","show_empty_categories":"","show_description":"","show_description_image":"","show_cat_num_articles":"","display_num":"","show_headings":"","filter_field":"","show_pagination":"","show_noauth":"","presentation_style":"sliders","show_name":"","show_position":"","show_email":"","show_street_address":"","show_suburb":"","show_state":"","show_postcode":"","show_country":"","show_telephone":"","show_mobile":"","show_fax":"","show_webpage":"","show_misc":"","show_image":"","allow_vcard":"","show_articles":"","show_links":"1","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","show_email_form":"","show_email_copy":"","banned_email":"","banned_subject":"","banned_text":"","validate_session":"","custom_reply":"","redirect":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 79, 80, 0, '*', 0), -(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), +(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), (455, 'mainmenu', 'Example Pages', 'example-pages', '', 'example-pages', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"aliasoptions":"268","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 255, 256, 0, '*', 0), (459, 'aboutjoomla', 'Article Category', 'article-category', '', 'using-joomla/extensions/modules/content-modules/article-category', 'index.php?option=com_content&view=article&id=4', 'component', 1, 411, 5, 22, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"show_noauth":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 133, 134, 0, '*', 0), (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '0000-00-00 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index d5686a2e6f61c..039be5f5edcb2 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -521,7 +521,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (18, 0, 'com_plugins', 'component', 'com_plugins', '', 1, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (19, 0, 'com_search', 'component', 'com_search', '', 1, 1, 1, 0, '', '{"enabled":"0","search_phrases":"1","search_areas":"1","show_date":"1","opensearch_name":"","opensearch_description":""}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (20, 0, 'com_templates', 'component', 'com_templates', '', 1, 1, 1, 1, '', '{"template_positions_display":"0","upload_limit":"10","image_formats":"gif,bmp,jpg,jpeg,png","source_formats":"txt,less,ini,xml,js,php,css,scss,sass","font_formats":"woff,ttf,otf","compressed_formats":"zip"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1970-01-01 00:00:00', 0, 0), diff --git a/installation/sql/postgresql/sample_learn.sql b/installation/sql/postgresql/sample_learn.sql index 483348846f7b0..6e213f0e6aa99 100644 --- a/installation/sql/postgresql/sample_learn.sql +++ b/installation/sql/postgresql/sample_learn.sql @@ -498,7 +498,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (448, 'mainmenu', 'Site Administrator', 'site-administrator', '', 'site-administrator', 'administrator', 'url', 1, 1, 1, 0, 0, '1970-01-01 00:00:00', 1, 1, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 251, 252, 0, '*', 0), (449, 'usermenu', 'Submit an Article', 'submit-an-article', '', 'submit-an-article', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 3, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 253, 254, 0, '*', 0), (452, 'aboutjoomla', 'Featured Contacts', 'featured-contacts', '', 'using-joomla/extensions/components/contact-component/featured-contacts', 'index.php?option=com_contact&view=featured&id=16', 'component', 1, 270, 5, 8, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"maxLevel":"-1","show_empty_categories":"","show_description":"","show_description_image":"","show_cat_num_articles":"","display_num":"","show_headings":"","filter_field":"","show_pagination":"","show_noauth":"","presentation_style":"sliders","show_name":"","show_position":"","show_email":"","show_street_address":"","show_suburb":"","show_state":"","show_postcode":"","show_country":"","show_telephone":"","show_mobile":"","show_fax":"","show_webpage":"","show_misc":"","show_image":"","allow_vcard":"","show_articles":"","show_links":"1","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","show_email_form":"","show_email_copy":"","banned_email":"","banned_subject":"","banned_text":"","validate_session":"","custom_reply":"","redirect":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 79, 80, 0, '*', 0), -(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), +(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), (455, 'mainmenu', 'Example Pages', 'example-pages', '', 'example-pages', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"268","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 255, 256, 0, '*', 0), (459, 'aboutjoomla', 'Article Category', 'article-category', '', 'using-joomla/extensions/modules/content-modules/article-category', 'index.php?option=com_content&view=article&id=4', 'component', 1, 411, 5, 22, 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 133, 134, 0, '*', 0), (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1970-01-01 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 49e643241b005..3481e0aefac89 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -736,7 +736,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (18, 0, 'com_plugins', 'component', 'com_plugins', '', 1, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (19, 0, 'com_search', 'component', 'com_search', '', 1, 1, 1, 0, '', '{"enabled":"0","search_phrases":"1","search_areas":"1","show_date":"1","opensearch_name":"","opensearch_description":""}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (20, 0, 'com_templates', 'component', 'com_templates', '', 1, 1, 1, 1, '', '{"template_positions_display":"0","upload_limit":"10","image_formats":"gif,bmp,jpg,jpeg,png","source_formats":"txt,less,ini,xml,js,php,css,scss,sass","font_formats":"woff,ttf,otf","compressed_formats":"zip"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), -(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), +(22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1900-01-01 00:00:00', 0, 0), diff --git a/installation/sql/sqlazure/sample_learn.sql b/installation/sql/sqlazure/sample_learn.sql index c0a03d32322e8..8de6b8b26a3b3 100644 --- a/installation/sql/sqlazure/sample_learn.sql +++ b/installation/sql/sqlazure/sample_learn.sql @@ -512,7 +512,7 @@ INSERT INTO "#__menu" ("id", "menutype", "title", "alias", "note", "path", "link (448, 'mainmenu', 'Site Administrator', 'site-administrator', '', 'site-administrator', 'administrator', 'url', 1, 1, 1, 0, 0, '1900-01-01 00:00:00', 1, 1, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 251, 252, 0, '*', 0), (449, 'usermenu', 'Submit an Article', 'submit-an-article', '', 'submit-an-article', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 3, '', 0, '{"menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 253, 254, 0, '*', 0), (452, 'aboutjoomla', 'Featured Contacts', 'featured-contacts', '', 'using-joomla/extensions/components/contact-component/featured-contacts', 'index.php?option=com_contact&view=featured&id=16', 'component', 1, 270, 5, 8, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"maxLevel":"-1","show_empty_categories":"","show_description":"","show_description_image":"","show_cat_num_articles":"","display_num":"","show_headings":"","filter_field":"","show_pagination":"","show_noauth":"","presentation_style":"sliders","show_name":"","show_position":"","show_email":"","show_street_address":"","show_suburb":"","show_state":"","show_postcode":"","show_country":"","show_telephone":"","show_mobile":"","show_fax":"","show_webpage":"","show_misc":"","show_image":"","allow_vcard":"","show_articles":"","show_links":"1","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","show_email_form":"","show_email_copy":"","banned_email":"","banned_subject":"","banned_text":"","validate_session":"","custom_reply":"","redirect":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 79, 80, 0, '*', 0), -(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), +(453, 'aboutjoomla', 'Parameters', 'parameters', '', 'using-joomla/parameters', 'index.php?option=com_content&view=article&id=32', 'component', 1, 280, 2, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 204, 205, 0, '*', 0), (455, 'mainmenu', 'Example Pages', 'example-pages', '', 'example-pages', 'index.php?Itemid=', 'alias', 1, 1, 1, 0, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"aliasoptions":"268","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}', 255, 256, 0, '*', 0), (459, 'aboutjoomla', 'Article Category', 'article-category', '', 'using-joomla/extensions/modules/content-modules/article-category', 'index.php?option=com_content&view=article&id=4', 'component', 1, 411, 5, 22, 0, '1900-01-01 00:00:00', 0, 1, '', 0, '{"show_noauth":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}', 133, 134, 0, '*', 0), (462, 'fruitshop', 'Add a recipe', 'add-a-recipe', '', 'add-a-recipe', 'index.php?option=com_content&view=form&layout=edit', 'component', 1, 1, 1, 22, 0, '1900-01-01 00:00:00', 0, 4, '', 4, '{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 257, 258, 0, '*', 0), diff --git a/tests/unit/stubs/database/jos_extensions.csv b/tests/unit/stubs/database/jos_extensions.csv index 92b61cd82f65f..dfec183461433 100644 --- a/tests/unit/stubs/database/jos_extensions.csv +++ b/tests/unit/stubs/database/jos_extensions.csv @@ -20,7 +20,7 @@ '19','com_search','component','com_search',,'1','1','1','0','{"name":"com_search","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_SEARCH_XML_DESCRIPTION","group":""}','{"enabled":"0","show_date":"1"}',,,'0','0000-00-00 00:00:00','0','0' '20','com_templates','component','com_templates',,'1','1','1','1','{"name":"com_templates","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TEMPLATES_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' '21','com_weblinks','component','com_weblinks',,'1','1','1','0','{"name":"com_weblinks","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_WEBLINKS_XML_DESCRIPTION","group":""}','{"show_comp_description":"1","comp_description":"","show_link_hits":"1","show_link_description":"1","show_other_cats":"0","show_headings":"0","show_numbers":"0","show_report":"1","count_clicks":"1","target":"0","link_icons":""}',,,'0','0000-00-00 00:00:00','0','0' -'22','com_content','component','com_content',,'1','1','0','1','{"name":"com_content","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTENT_XML_DESCRIPTION","group":""}','{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}',,,'0','0000-00-00 00:00:00','0','0' +'22','com_content','component','com_content',,'1','1','0','1','{"name":"com_content","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTENT_XML_DESCRIPTION","group":""}','{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}',,,'0','0000-00-00 00:00:00','0','0' '23','com_config','component','com_config',,'1','1','0','1','{"name":"com_config","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONFIG_XML_DESCRIPTION","group":""}','{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}',,,'0','0000-00-00 00:00:00','0','0' '24','com_redirect','component','com_redirect',,'1','1','0','1','{"name":"com_redirect","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' '25','com_users','component','com_users',,'1','1','0','1','{"name":"com_users","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_USERS_XML_DESCRIPTION","group":""}','{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":""}',,,'0','0000-00-00 00:00:00','0','0' diff --git a/tests/unit/stubs/database/jos_menu.csv b/tests/unit/stubs/database/jos_menu.csv index 4b65a743318b7..89c58b148c21d 100644 --- a/tests/unit/stubs/database/jos_menu.csv +++ b/tests/unit/stubs/database/jos_menu.csv @@ -127,7 +127,7 @@ '449','usermenu','Submit an Article','submit-an-article',,'submit-an-article','index.php?option=com_content&view=form&layout=edit','component','1','1','1','22','0','0000-00-00 00:00:00','0','3',,'0','{"menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','267','268','0','*','0' '450','usermenu','Submit a Web Link','submit-a-web-link',,'submit-a-web-link','index.php?option=com_weblinks&view=form&layout=edit','component','1','1','1','21','0','0000-00-00 00:00:00','0','3',,'0','{"menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":0,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','269','270','0','*','0' '452','aboutjoomla','Featured Contacts','featured-contacts',,'using-joomla/extensions/components/contact-component/featured-contacts','index.php?option=com_contact&view=featured&id=16','component','1','270','5','8','0','0000-00-00 00:00:00','0','1',,'0','{"maxLevel":"-1","show_empty_categories":"","show_description":"","show_description_image":"","show_cat_num_articles":"","display_num":"","show_headings":"","filter_field":"","show_pagination":"","show_noauth":"","presentation_style":"sliders","show_name":"","show_position":"","show_email":"","show_street_address":"","show_suburb":"","show_state":"","show_postcode":"","show_country":"","show_telephone":"","show_mobile":"","show_fax":"","show_webpage":"","show_misc":"","show_image":"","allow_vcard":"","show_articles":"","show_links":"1","linka_name":"","linkb_name":"","linkc_name":"","linkd_name":"","linke_name":"","show_email_form":"","show_email_copy":"","banned_email":"","banned_subject":"","banned_text":"","validate_session":"","custom_reply":"","redirect":"","show_feed_link":"","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','81','82','0','*','0' -'453','aboutjoomla','Parameters','parameters',,'using-joomla/parameters','index.php?option=com_content&view=article&id=32','component','1','280','2','22','0','0000-00-00 00:00:00','0','1',,'0','{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"1","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}','216','217','0','*','0' +'453','aboutjoomla','Parameters','parameters',,'using-joomla/parameters','index.php?option=com_content&view=article&id=32','component','1','280','2','22','0','0000-00-00 00:00:00','0','1',,'0','{"show_noauth":"1","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"1","link_parent_category":"1","show_author":"1","link_author":"1","show_create_date":"1","show_modify_date":"1","show_publish_date":"1","show_item_navigation":"1","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":0,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}','216','217','0','*','0' '455','mainmenu','Example Pages','example-pages',,'example-pages','index.php?Itemid=','alias','1','1','1','0','0','0000-00-00 00:00:00','0','1',,'0','{"aliasoptions":"268","menu-anchor_title":"","menu-anchor_css":"","menu_image":""}','271','272','0','*','0' '459','aboutjoomla','Article Category','article-category',,'using-joomla/extensions/modules/content-modules/article-category','index.php?option=com_content&view=article&id=4','component','1','411','5','22','0','0000-00-00 00:00:00','0','1',,'0','{"show_noauth":"","show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_hits":"","robots":"","rights":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","show_page_heading":1,"page_title":"","page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","secure":0}','143','144','0','*','0' '462','fruitshop','Add a recipe','add-a-recipe',,'add-a-recipe','index.php?option=com_content&view=form&layout=edit','component','1','1','1','22','0','0000-00-00 00:00:00','0','4',,'4','{"enable_category":"0","catid":"14","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}','273','274','0','*','0' From 29a2bd3e63b91cf2225a438f4fccbaef4e94246b Mon Sep 17 00:00:00 2001 From: zero-24 <zero-24@users.noreply.github.com> Date: Sat, 5 May 2018 22:18:24 +0200 Subject: [PATCH 253/255] Don't enable sending the PW on new installs (#20247) * disable plaun pw sending per default on new installs * make sure we have to set a PW when we dont send the plain pw via mail * chagne the default in the xml to thanks @quy * update the sample data thanks @quy * make sure the mail to user does not include the PW too * Revert "make sure the mail to user does not include the PW too" This reverts commit 9095819a9d4e6f8828b0556e5d0284e754f3b9c6. * address comments by @bakual thanks --- administrator/components/com_users/models/user.php | 2 +- installation/sql/mysql/joomla.sql | 2 +- installation/sql/mysql/sample_learn.sql | 2 +- installation/sql/mysql/sample_testing.sql | 2 +- installation/sql/postgresql/joomla.sql | 2 +- installation/sql/postgresql/sample_learn.sql | 2 +- installation/sql/postgresql/sample_testing.sql | 2 +- installation/sql/sqlazure/joomla.sql | 2 +- installation/sql/sqlazure/sample_learn.sql | 2 +- installation/sql/sqlazure/sample_testing.sql | 2 +- tests/unit/stubs/database/jos_extensions.csv | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/components/com_users/models/user.php b/administrator/components/com_users/models/user.php index 458efaaa3fd71..6d74f773cfd7a 100644 --- a/administrator/components/com_users/models/user.php +++ b/administrator/components/com_users/models/user.php @@ -128,9 +128,9 @@ public function getForm($data = array(), $loadData = true) return false; } - // Passwords fields are required when mail to user is set to No in joomla user plugin $userId = $form->getValue('id'); + // Passwords fields are required when mail to user is set to No in the joomla user plugin if ($userId === 0 && $pluginParams->get('mail_to_user', '1') === '0') { $form->setFieldAttribute('password', 'required', 'true'); diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 3732890f4dfa4..764e32d3af954 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -510,7 +510,7 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem (22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), +(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"0","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (27, 0, 'com_finder', 'component', 'com_finder', '', 1, 1, 0, 0, '', '{"enabled":"0","show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_autosuggest":"1","show_suggested_query":"1","show_explained_query":"1","show_advanced":"1","show_advanced_tips":"1","expand_advanced":"0","show_date_filters":"0","sort_order":"relevance","sort_direction":"desc","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stem":"1","stemmer":"snowball","enable_logging":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (28, 0, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '', '{"updatesource":"default","customurl":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (29, 0, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '', '{"tag_layout":"_:default","save_history":"1","history_limit":5,"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), diff --git a/installation/sql/mysql/sample_learn.sql b/installation/sql/mysql/sample_learn.sql index 87a400ae01514..6d9653261f65b 100644 --- a/installation/sql/mysql/sample_learn.sql +++ b/installation/sql/mysql/sample_learn.sql @@ -825,6 +825,6 @@ INSERT INTO `#__viewlevels` (`id`, `title`, `ordering`, `rules`) VALUES (5, 'Guest', 1, '[13]'), (6, 'Super Users', 5, '[8]'); -UPDATE `#__extensions` SET `params`='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE `#__extensions` SET `params`='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; SET FOREIGN_KEY_CHECKS=1; diff --git a/installation/sql/mysql/sample_testing.sql b/installation/sql/mysql/sample_testing.sql index 967fd9893aa31..108873dbe436f 100644 --- a/installation/sql/mysql/sample_testing.sql +++ b/installation/sql/mysql/sample_testing.sql @@ -865,6 +865,6 @@ INSERT INTO `#__ucm_content` (`core_content_id`, `core_type_alias`, `core_title` (1, 'com_content.article', 'Joomla! Testing', 'joomla', '<p>Thanks for helping us to test Joomla!</p><p>We''re getting ready for the release of Joomla and we appreciate you helping us find and fix problems as we work.</p><p>If you haven''t done testing before here are some tips.</p><ul><li>Don''t delete the installation folder when you finish installing! While we''re working we turn that security feature off to make it easier to test.</li><li>Go to global configuration and set Error Reporting to Development (that''s on the server tab) and enable both debugging and language debugging (those are on the system tab). Don''t worry when you see ** around words --that means Joomla translation is doing its job.</li></ul><p>How to test</p><ul><li>First, do the things you normally do and see if you spot any problems.</li><li>Look at all of the front end views and record any problems</li><li>Look at all the back end views and report any problems</li><li>See more ideas below</li></ul><p>What to look for</p><ul><li>Any error messages that say things like Fatal Error or Strict or similar things that indicate that something is not working correctly.</li><li>Untranslated strings. You will know these because they look like this: ?STRING_HERE?</li><li>Problems of rendering--items not aligned correctly, missing or wrong images, pages that just don''t look right.</li><li>Unexpected behavior--anything that is working differently than it did in 2.5.</li></ul><p>Report problems</p><p>If you find a problem please report it to the <a href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. You will need to register for a github.com account if you don''t have one.</p><p>More Testing Ideas</p><ul><li>Pick one module or view and test all of the parameters.</li><li>Install an extension and see if anything breaks (report to the developer unless you are positive it is a core bug).</li><li>Turn on caching with different options</li><li>Try different session options</li><li>Install a language and test all the layouts.</li><li>Try different environments (like different servers which may have different version of PHP) or try you have IIS with MySQLi or SqlSrv. With millions of users Joomla needs to be ready for unusual environments.</li><li>Try with SEF URLS on or off and also with Apache rewrite on or off (if you are on Apache).</li><li>Try different combinations of browsers (Chrome, IE, FireFox, Opera to start) and operating systems (Mac, Windows, Linux).</li><li>Yes grammar and spelling errors are bugs too -- just keep in mind that we use British spelling.</li><li>Visit the <a href="https://issues.joomla.org/" target="_blank">Feature Tracker</a> and test a new feature.</li></ul><p>Testing changes</p><p>You can also help Joomla by testing bug fixes and new features. A useful tool is the <a href="https://github.com/joomla-extensions/patchtester/releases" target="_blank">patchtester component</a> which helps to simplify and automate the process. Report your feedback on the <span style="line-height: 1.3em;"> </span><a style="line-height: 1.3em;" href="https://issues.joomla.org/" target="_blank">CMS Issue Tracker</a>. If you enjoy helping Joomla this way, you may want to join the <a href="https://docs.joomla.org/Special:MyLanguage/Bug_Squad" target="_blank">Joomla Bug Squad</a>.</p><p></p>', 1, '', 0, 1, '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":""}', 1, '{"robots":"","author":"","rights":"","xreference":""}', 716, '', '2011-01-01 00:00:01', 0, '2013-10-15 14:57:20', '*', '2011-01-01 00:00:01', '0000-00-00 00:00:00', 24, 180, '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', 59, 3, 2, '', '', 19, '', 1), (3, 'com_content.article', 'Similar Tags', 'similar-tags', '<p>The similar tags modules shows a list of items which have the same or a similar set of tags.</p><p>{loadmodule tags_similar,Similar Tags}</p>', 1, '', 0, 1, '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}', 0, '{"robots":"","author":"","rights":"","xreference":""}', 371, '', '2013-10-31 00:14:17', 371, '2013-10-31 00:39:09', '*', '2013-10-31 00:14:17', '0000-00-00 00:00:00', 71, 179, '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}', '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}', 3, 4, 0, '', '', 64, '', 1); -UPDATE `#__extensions` SET `params`='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE `#__extensions` SET `params`='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; SET FOREIGN_KEY_CHECKS=1; diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index 039be5f5edcb2..42f10d6b6d255 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -524,7 +524,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1970-01-01 00:00:00', 0, 0), +(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"0","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (27, 0, 'com_finder', 'component', 'com_finder', '', 1, 1, 0, 0, '', '{"enabled":"0","show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_autosuggest":"1","show_suggested_query":"1","show_explained_query":"1","show_advanced":"1","show_advanced_tips":"1","expand_advanced":"0","show_date_filters":"0","sort_order":"relevance","sort_direction":"desc","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stem":"1","stemmer":"snowball","enable_logging":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (28, 0, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '', '{"updatesource":"default","customurl":""}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (29, 0, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '', '{"tag_layout":"_:default","save_history":"1","history_limit":5,"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), diff --git a/installation/sql/postgresql/sample_learn.sql b/installation/sql/postgresql/sample_learn.sql index 6e213f0e6aa99..4e600e3afa561 100644 --- a/installation/sql/postgresql/sample_learn.sql +++ b/installation/sql/postgresql/sample_learn.sql @@ -847,4 +847,4 @@ INSERT INTO "#__viewlevels" ("id", "title", "ordering", "rules") VALUES SELECT setval('#__viewlevels_id_seq', max(id)) FROM "#__viewlevels"; -UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; diff --git a/installation/sql/postgresql/sample_testing.sql b/installation/sql/postgresql/sample_testing.sql index 10b76245657a0..9e5f1e03443b4 100644 --- a/installation/sql/postgresql/sample_testing.sql +++ b/installation/sql/postgresql/sample_testing.sql @@ -889,4 +889,4 @@ INSERT INTO "#__ucm_content" ("core_content_id", "core_type_alias", "core_title" SELECT setval('#__ucm_content_core_content_id_seq', max(core_content_id)) FROM "#__ucm_content"; -UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 3481e0aefac89..0bc5b3c0db071 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -739,7 +739,7 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (22, 0, 'com_content', 'component', 'com_content', '', 1, 1, 0, 1, '', '{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","save_history":"1","history_limit":10,"show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (23, 0, 'com_config', 'component', 'com_config', '', 1, 1, 0, 1, '', '{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (24, 0, 'com_redirect', 'component', 'com_redirect', '', 1, 1, 0, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), -(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"1","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1900-01-01 00:00:00', 0, 0), +(25, 0, 'com_users', 'component', 'com_users', '', 1, 1, 0, 1, '', '{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"9","sendpassword":"0","useractivation":"2","mail_to_admin":"1","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","minimum_length":"4","minimum_integers":"0","minimum_symbols":"0","minimum_uppercase":"0","save_history":"1","history_limit":5,"mailSubjectPrefix":"","mailBodySuffix":""}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (27, 0, 'com_finder', 'component', 'com_finder', '', 1, 1, 0, 0, '', '{"enabled":"0","show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_autosuggest":"1","show_suggested_query":"1","show_explained_query":"1","show_advanced":"1","show_advanced_tips":"1","expand_advanced":"0","show_date_filters":"0","sort_order":"relevance","sort_direction":"desc","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stem":"1","stemmer":"snowball","enable_logging":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (28, 0, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '', '{"updatesource":"default","customurl":""}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (29, 0, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '', '{"tag_layout":"_:default","save_history":"1","history_limit":5,"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), diff --git a/installation/sql/sqlazure/sample_learn.sql b/installation/sql/sqlazure/sample_learn.sql index 8de6b8b26a3b3..0cef0e24cbea0 100644 --- a/installation/sql/sqlazure/sample_learn.sql +++ b/installation/sql/sqlazure/sample_learn.sql @@ -873,4 +873,4 @@ INSERT INTO "#__viewlevels" ("id", "title", "ordering", "rules") VALUES SET IDENTITY_INSERT "#__viewlevels" OFF; -UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"2","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; diff --git a/installation/sql/sqlazure/sample_testing.sql b/installation/sql/sqlazure/sample_testing.sql index cc13c6f0f76fe..0c294984a988c 100644 --- a/installation/sql/sqlazure/sample_testing.sql +++ b/installation/sql/sqlazure/sample_testing.sql @@ -916,4 +916,4 @@ INSERT INTO "#__ucm_content" ("core_content_id", "core_type_alias", "core_title" SET IDENTITY_INSERT "#__ucm_content" OFF; -UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; +UPDATE "#__extensions" SET "params"='{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":"","save_history":"1","history_limit":5}' WHERE extension_id=25; diff --git a/tests/unit/stubs/database/jos_extensions.csv b/tests/unit/stubs/database/jos_extensions.csv index dfec183461433..716024b2fbb4d 100644 --- a/tests/unit/stubs/database/jos_extensions.csv +++ b/tests/unit/stubs/database/jos_extensions.csv @@ -23,7 +23,7 @@ '22','com_content','component','com_content',,'1','1','0','1','{"name":"com_content","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONTENT_XML_DESCRIPTION","group":""}','{"article_layout":"_:default","show_title":"1","link_titles":"1","show_intro":"1","show_category":"1","link_category":"1","show_parent_category":"0","link_parent_category":"0","show_author":"1","link_author":"0","show_create_date":"0","show_modify_date":"0","show_publish_date":"1","show_item_navigation":"1","show_vote":"0","show_readmore":"1","show_readmore_title":"1","readmore_limit":"100","show_icons":"1","show_print_icon":"1","show_email_icon":"0","show_hits":"1","show_noauth":"0","show_publishing_options":"1","show_article_options":"1","show_urls_images_frontend":"0","show_urls_images_backend":"1","targeta":0,"targetb":0,"targetc":0,"float_intro":"left","float_fulltext":"left","category_layout":"_:blog","show_category_title":"0","show_description":"0","show_description_image":"0","maxLevel":"1","show_empty_categories":"0","show_no_articles":"1","show_subcat_desc":"1","show_cat_num_articles":"0","show_base_description":"1","maxLevelcat":"-1","show_empty_categories_cat":"0","show_subcat_desc_cat":"1","show_cat_num_articles_cat":"1","num_leading_articles":"1","num_intro_articles":"4","num_columns":"2","num_links":"4","multi_column_order":"0","show_subcategory_content":"0","show_pagination_limit":"1","filter_field":"hide","show_headings":"1","list_show_date":"0","date_format":"","list_show_hits":"1","list_show_author":"1","orderby_pri":"order","orderby_sec":"rdate","order_date":"published","show_pagination":"2","show_pagination_results":"1","show_feed_link":"1","feed_summary":"0"}',,,'0','0000-00-00 00:00:00','0','0' '23','com_config','component','com_config',,'1','1','0','1','{"name":"com_config","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_CONFIG_XML_DESCRIPTION","group":""}','{"filters":{"1":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"6":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"7":{"filter_type":"NONE","filter_tags":"","filter_attributes":""},"2":{"filter_type":"NH","filter_tags":"","filter_attributes":""},"3":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"4":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"5":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"10":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"12":{"filter_type":"BL","filter_tags":"","filter_attributes":""},"8":{"filter_type":"NONE","filter_tags":"","filter_attributes":""}}}',,,'0','0000-00-00 00:00:00','0','0' '24','com_redirect','component','com_redirect',,'1','1','0','1','{"name":"com_redirect","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_REDIRECT_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' -'25','com_users','component','com_users',,'1','1','0','1','{"name":"com_users","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_USERS_XML_DESCRIPTION","group":""}','{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"1","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":""}',,,'0','0000-00-00 00:00:00','0','0' +'25','com_users','component','com_users',,'1','1','0','1','{"name":"com_users","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_USERS_XML_DESCRIPTION","group":""}','{"allowUserRegistration":"0","new_usertype":"2","guest_usergroup":"13","sendpassword":"0","useractivation":"1","mail_to_admin":"0","captcha":"","frontend_userparams":"1","site_language":"0","change_login_name":"0","reset_count":"10","reset_time":"1","mailSubjectPrefix":"","mailBodySuffix":""}',,,'0','0000-00-00 00:00:00','0','0' '27','com_finder','component','com_finder',,'1','1','0','0','{"name":"com_finder","type":"component","creationDate":"August 2011","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_FINDER_XML_DESCRIPTION","group":""}','{"show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_advanced":"1","expand_advanced":"0","show_date_filters":"0","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stemmer":"snowball"}',,,'0','0000-00-00 00:00:00','0','0' '28','com_joomlaupdate','component','com_joomlaupdate',,'1','1','0','1','{"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}','{}',,,'0','0000-00-00 00:00:00','0','0' '29','com_tags','component','com_tags',,'1','1','1','1','{"name":"com_tags","type":"component","creationDate":"December 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}','{"show_tag_title":"0","tag_list_show_tag_image":"0","tag_list_show_tag_description":"0","tag_list_image":"","tag_list_orderby":"title","tag_list_orderby_direction":"ASC","show_headings":"0","tag_list_show_date":"0","tag_list_show_item_image":"0","tag_list_show_item_description":"0","tag_list_item_maximum_characters":0,"return_any_or_all":"1","include_children":"0","maximum":200,"tag_list_language_filter":"all","tags_layout":"_:default","all_tags_orderby":"title","all_tags_orderby_direction":"ASC","all_tags_show_tag_image":"0","all_tags_show_tag_descripion":"0","all_tags_tag_maximum_characters":20,"all_tags_show_tag_hits":"0","filter_field":"1","show_pagination_limit":"1","show_pagination":"2","show_pagination_results":"1","tag_field_ajax_mode":"1","show_feed_link":"1"}',,,'0','0000-00-00 00:00:00','0','0' From 0042b1a9e3d7b4acd6d0495fc21f1724213e9e48 Mon Sep 17 00:00:00 2001 From: Igor Berdichevskiy <septdir@gmail.com> Date: Sat, 5 May 2018 23:19:44 +0300 Subject: [PATCH 254/255] Optimization and fix of multilingual associations and add layouts to com_content links (#20229) * Revert #19681 * Revert #19683 * Remove addition query and check after #19314 * Add layout to com_content links * Add layout to com_content article associations * Add layout to category associations * add advanced where clause param * add advanced where clause for com_content article associations * drone code formatting fix * drone code formatting fix * drone code formatting fix * Line exceeds 150 characters * PHPCS rules * Remove parenthesis * Change queryKey * Fix typo * Improve description --- .../com_categories/helpers/association.php | 9 +- .../com_content/helpers/association.php | 102 +++++++++--------- components/com_content/helpers/route.php | 34 +++--- libraries/src/Language/Associations.php | 17 ++- 4 files changed, 86 insertions(+), 76 deletions(-) diff --git a/administrator/components/com_categories/helpers/association.php b/administrator/components/com_categories/helpers/association.php index 67196ee95aa25..66ac7413e7eff 100644 --- a/administrator/components/com_categories/helpers/association.php +++ b/administrator/components/com_categories/helpers/association.php @@ -25,12 +25,13 @@ abstract class CategoryHelperAssociation * * @param integer $id Id of the item * @param string $extension Name of the component + * @param string $layout Category layout * * @return array Array of associations for the component categories * * @since 3.0 */ - public static function getCategoryAssociations($id = 0, $extension = 'com_content') + public static function getCategoryAssociations($id = 0, $extension = 'com_content', $layout = null) { $return = array(); @@ -46,11 +47,13 @@ public static function getCategoryAssociations($id = 0, $extension = 'com_conten { if (class_exists($helperClassname) && is_callable(array($helperClassname, 'getCategoryRoute'))) { - $return[$tag] = $helperClassname::getCategoryRoute($item, $tag); + $return[$tag] = $helperClassname::getCategoryRoute($item, $tag, $layout); } else { - $return[$tag] = 'index.php?option=' . $extension . '&view=category&id=' . $item; + $viewLayout = $layout ? '&layout=' . $layout : ''; + + $return[$tag] = 'index.php?option=' . $extension . '&view=category&id=' . $item . $viewLayout; } } } diff --git a/components/com_content/helpers/association.php b/components/com_content/helpers/association.php index f823bacea2f1c..e6df33f272b7c 100644 --- a/components/com_content/helpers/association.php +++ b/components/com_content/helpers/association.php @@ -20,81 +20,75 @@ */ abstract class ContentHelperAssociation extends CategoryHelperAssociation { - /** - * Cached array of the content item id. - * - * @var array - * @since __DEPLOY_VERSION__ - */ - protected static $filters = array(); - /** * Method to get the associations for a given item * - * @param integer $id Id of the item - * @param string $view Name of the view + * @param integer $id Id of the item + * @param string $view Name of the view + * @param string $layout View layout * * @return array Array of associations for the item * * @since 3.0 */ - public static function getAssociations($id = 0, $view = null) + public static function getAssociations($id = 0, $view = null, $layout = null) { - $jinput = JFactory::getApplication()->input; - $view = $view === null ? $jinput->get('view') : $view; - $id = empty($id) ? $jinput->getInt('id') : $id; - $user = JFactory::getUser(); - $groups = implode(',', $user->getAuthorisedViewLevels()); + $jinput = JFactory::getApplication()->input; + $view = $view === null ? $jinput->get('view') : $view; + $component = $jinput->getCmd('option'); + $id = empty($id) ? $jinput->getInt('id') : $id; + + if ($layout === null && $jinput->get('view') == $view && $component == 'com_content') + { + $layout = $jinput->get('layout', '', 'string'); + } if ($view === 'article') { if ($id) { - if (!isset(static::$filters[$id])) + $user = JFactory::getUser(); + $groups = implode(',', $user->getAuthorisedViewLevels()); + $db = JFactory::getDbo(); + $advClause = array(); + + // Filter by user groups + $advClause[] = 'c2.access IN (' . $groups . ')'; + + // Filter by current language + $advClause[] = 'c2.language != ' . $db->quote(JFactory::getLanguage()->getTag()); + + if (!$user->authorise('core.edit.state', 'com_content') && !$user->authorise('core.edit', 'com_content')) + { + // Filter by start and end dates. + $nullDate = $db->quote($db->getNullDate()); + $date = JFactory::getDate(); + + $nowDate = $db->quote($date->toSql()); + + $advClause[] = '(c2.publish_up = ' . $nullDate . ' OR c2.publish_up <= ' . $nowDate . ')'; + $advClause[] = '(c2.publish_down = ' . $nullDate . ' OR c2.publish_down >= ' . $nowDate . ')'; + + // Filter by published + $advClause[] = 'c2.state = 1'; + } + + $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $id, 'id', 'alias', 'catid', $advClause); + + $return = array(); + + foreach ($associations as $tag => $item) { - $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $id); - - $return = array(); - - foreach ($associations as $tag => $item) - { - if ($item->language != JFactory::getLanguage()->getTag()) - { - $arrId = explode(':', $item->id); - $assocId = $arrId[0]; - - $db = JFactory::getDbo(); - $query = $db->getQuery(true) - ->select($db->qn('state')) - ->from($db->qn('#__content')) - ->where($db->qn('id') . ' = ' . (int) $assocId) - ->where($db->qn('access') . ' IN (' . $groups . ')'); - $db->setQuery($query); - - $result = (int) $db->loadResult(); - - if ($result > 0) - { - $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language); - } - } - - static::$filters[$id] = $return; - } - - if (count($associations) === 0) - { - static::$filters[$id] = array(); - } + $return[$tag] = ContentHelperRoute::getArticleRoute($item->id, (int) $item->catid, $item->language, $layout); } - return static::$filters[$id]; + return $return; } } if ($view === 'category' || $view === 'categories') { - return self::getCategoryAssociations($id, 'com_content'); + return self::getCategoryAssociations($id, 'com_content', $layout); } return array(); @@ -105,7 +99,7 @@ public static function getAssociations($id = 0, $view = null) * * @param integer $id Id of the article * - * @return array An array containing the association URL and the related language object + * @return array An array containing the association URL and the related language object * * @since 3.7.0 */ diff --git a/components/com_content/helpers/route.php b/components/com_content/helpers/route.php index 822d59dc54634..2a12b2c0fdc43 100644 --- a/components/com_content/helpers/route.php +++ b/components/com_content/helpers/route.php @@ -22,12 +22,13 @@ abstract class ContentHelperRoute * @param integer $id The route of the content item. * @param integer $catid The category ID. * @param integer $language The language code. + * @param string $layout The layout value. * * @return string The article route. * * @since 1.5 */ - public static function getArticleRoute($id, $catid = 0, $language = 0) + public static function getArticleRoute($id, $catid = 0, $language = 0, $layout = null) { // Create the link $link = 'index.php?option=com_content&view=article&id=' . $id; @@ -42,6 +43,11 @@ public static function getArticleRoute($id, $catid = 0, $language = 0) $link .= '&lang=' . $language; } + if ($layout) + { + $link .= '&layout=' . $layout; + } + return $link; } @@ -50,12 +56,13 @@ public static function getArticleRoute($id, $catid = 0, $language = 0) * * @param integer $catid The category ID. * @param integer $language The language code. + * @param string $layout The layout value. * * @return string The article route. * * @since 1.5 */ - public static function getCategoryRoute($catid, $language = 0) + public static function getCategoryRoute($catid, $language = 0, $layout = null) { if ($catid instanceof JCategoryNode) { @@ -68,24 +75,19 @@ public static function getCategoryRoute($catid, $language = 0) if ($id < 1) { - $link = ''; + return ''; } - else - { - $link = 'index.php?option=com_content&view=category&id=' . $id; - if ($language && $language !== '*' && JLanguageMultilang::isEnabled()) - { - $link .= '&lang=' . $language; - } + $link = 'index.php?option=com_content&view=category&id=' . $id; - $jinput = JFactory::getApplication()->input; - $layout = $jinput->get('layout'); + if ($language && $language !== '*' && JLanguageMultilang::isEnabled()) + { + $link .= '&lang=' . $language; + } - if ($layout !== '') - { - $link .= '&layout=' . $layout; - } + if ($layout) + { + $link .= '&layout=' . $layout; } return $link; diff --git a/libraries/src/Language/Associations.php b/libraries/src/Language/Associations.php index 1aacc695dfb78..50e06657873df 100644 --- a/libraries/src/Language/Associations.php +++ b/libraries/src/Language/Associations.php @@ -29,20 +29,22 @@ class Associations * @param string $pk The name of the primary key in the given $table. * @param string $aliasField If the table has an alias field set it here. Null to not use it * @param string $catField If the table has a catid field set it here. Null to not use it + * @param array $advClause Additional advanced 'where' clause; use c as parent column key, c2 as associations column key * - * @return array The associated items + * @return array The associated items * * @since 3.1 * * @throws \Exception */ - public static function getAssociations($extension, $tablename, $context, $id, $pk = 'id', $aliasField = 'alias', $catField = 'catid') + public static function getAssociations($extension, $tablename, $context, $id, $pk = 'id', $aliasField = 'alias', $catField = 'catid', + $advClause = array()) { // To avoid doing duplicate database queries. static $multilanguageAssociations = array(); // Multilanguage association array key. If the key is already in the array we don't need to run the query again, just return it. - $queryKey = implode('|', func_get_args()); + $queryKey = md5(serialize(array_merge(array($extension, $tablename, $context, $id), $advClause))); if (!isset($multilanguageAssociations[$queryKey])) { @@ -97,6 +99,15 @@ public static function getAssociations($extension, $tablename, $context, $id, $p $query->where('c.extension = ' . $db->quote($extension)); } + // Advanced where clause + if (!empty($advClause)) + { + foreach ($advClause as $clause) + { + $query->where($clause); + } + } + $db->setQuery($query); try From adb7651f39239e9d47f6d37e39a07f0cc0762324 Mon Sep 17 00:00:00 2001 From: Michael Babker <michael.babker@gmail.com> Date: Sun, 6 May 2018 10:28:38 -0500 Subject: [PATCH 255/255] Add checksum generation to the build script --- build/build.php | 89 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 80 insertions(+), 9 deletions(-) diff --git a/build/build.php b/build/build.php index 82ce332d76bd4..6512457cdd2a7 100644 --- a/build/build.php +++ b/build/build.php @@ -188,6 +188,18 @@ function usage($command) 'images', ); +/* + * This array will contain the checksums for all files which are created by this script. + * This is an associative array with the following structure: + * array( + * 'filename' => array( + * 'type1' => 'hash', + * 'type2' => 'hash', + * ), + * ) + */ +$checksums = array(); + // For the packages, replace spaces in stability (RC) with underscores $packageStability = str_replace(' ', '_', Version::DEV_STATUS); @@ -272,19 +284,25 @@ function usage($command) // Create the diff archive packages using the file name list. if (!$excludeBzip2) { - system('tar --create --bzip2 --no-recursion --directory ' . $time . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.bz2 --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + $packageName = 'Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.bz2'; + system('tar --create --bzip2 --no-recursion --directory ' . $time . ' --file packages' . $version . '/' . $packageName . ' --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeGzip) { - system('tar --create --gzip --no-recursion --directory ' . $time . ' --file packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.gz --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + $packageName = 'Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.tar.gz'; + system('tar --create --gzip --no-recursion --directory ' . $time . ' --file packages' . $version . '/' . $packageName . ' --files-from diffconvert/' . $version . '.' . $num . '> /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeZip) { + $packageName = 'Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.zip'; chdir($time); - system('zip ../packages' . $version . '/Joomla_' . $version . '.' . $fromName . '_to_' . $fullVersion . '-' . $packageStability . '-Patch_Package.zip -@ < ../diffconvert/' . $version . '.' . $num . '> /dev/null'); + system('zip ../packages' . $version . '/' . $packageName . ' -@ < ../diffconvert/' . $version . '.' . $num . '> /dev/null'); chdir('..'); + $checksums[$packageName] = array(); } } @@ -307,17 +325,23 @@ function usage($command) // Create full archive packages. if (!$excludeBzip2) { - system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.bz2 * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.bz2'; + system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeGzip) { - system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.gz * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.tar.gz'; + system('tar --create --gzip --file ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeZip) { - system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.zip * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Full_Package.zip'; + system('zip -r ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); } // Create full update file without the default logs directory, installation folder, or sample images. @@ -335,17 +359,64 @@ function usage($command) if (!$excludeBzip2) { - system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.bz2 * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.bz2'; + system('tar --create --bzip2 --file ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeGzip) { - system('tar --create --gzip --file ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.gz * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.tar.gz'; + system('tar --create --gzip --file ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); } if (!$excludeZip) { - system('zip -r ../packages_full' . $fullVersion . '/Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.zip * > /dev/null'); + $packageName = 'Joomla_' . $fullVersion . '-' . $packageStability . '-Update_Package.zip'; + system('zip -r ../packages_full' . $fullVersion . '/' . $packageName . ' * > /dev/null'); + $checksums[$packageName] = array(); +} + +chdir('..'); + +foreach (array_keys($checksums) as $packageName) +{ + echo "Generating checksums for $packageName\n"; + + foreach (array('md5', 'sha1') as $hash) + { + if (file_exists('packages' . $version . '/' . $packageName)) + { + $checksums[$packageName][$hash] = hash_file($hash, 'packages' . $version . '/' . $packageName); + } + elseif (file_exists('packages_full' . $fullVersion . '/' . $packageName)) + { + $checksums[$packageName][$hash] = hash_file($hash, 'packages_full' . $fullVersion . '/' . $packageName); + } + else + { + echo "Package $packageName not found in build directories\n"; + } + } +} + +echo "Generating checksums.txt file\n"; + +$checksumsContent = ''; + +foreach ($checksums as $packageName => $packageHashes) +{ + $checksumsContent .= "Filename: $packageName\n"; + + foreach ($packageHashes as $hashType => $hash) + { + $checksumsContent .= "$hashType: $hash\n"; + } + + $checksumsContent .= "\n"; } +file_put_contents('checksums.txt', $checksumsContent); + echo "Build of version $fullVersion complete!\n";